bo to jest tak.....rzucam pomysł i zaczynam wertować, szukam rozwiązań, Wy szanowni koledzy mi je podpowiadacie za co z góry dziękuję :), czy to takie złe?? jak dotąd zawsze tak działałem no i nie bez bólu osiągnąłem swoje a wiedza nabyta przez takie wydawać by się mogło głupawe posty...
Wiec tak: W ogóle wyrzuciłbym zmienna/flagę F. Nie jest potrzebna tutaj. W programie głównym zamiast sprawdzania F, sprawdzaj A, czyli warunek IF z przerwania przenieś do programu głównego, łącznie z zerowaniem A. W przerwaniu zwiększaj tylko A. Zamiast: If F = 1 Then Cls Locate...
Witam, potrzebuje pomocy z obsługą strzałek kursora w Bascom'ie '51. Kod strzałek składa się z 3 znaków ASCII, przykładowo strzałka w górę to kod klawisza "ESC", "[" i "A". Próbowałem skorzystać z komendy Inkey(), ale ona odbiera tylko pierwszy znak z bufora, czyli w moim przypadku kod...
A oto moja propozycja: Dim 1s As Byte S Alias P?.? Do If S = 0 Then Gosub Przewijanie Gosub Przycisk End If Loop Przycisk: For 1s = 1 To 100 '100*10ms=1s If s = 1 Then Return End If Waitms 10 ...
A włączyłeś w symulatorze opcję REFRESH VARIABLES? Taki mały przycisk u góry...
Czy mógłby mi ktoś pomóc przy obsłudze menu w bascomie? Chodzi mi o to, że chcę zrobić obsługę menu na wyświetlaczu i przyciskami UP Down ustawiać parametry. Naciskam przycisk menu i pojawia mi się 1 parametr następne naciśnięcie drugi parametr, trzeci i czwarty po następnych naciśnięciach....
Witam. Napisałem program zegara na timer1 (atmega8) z zewnętrznym kwarcem. Chcę, by podczas przytrzymywania przycisku do ustawiania czasu naliczało coraz szybciej lub chociaż co 5. Próbowałem wielu przykładów ale żaden nie chce działać poprawnie. Mój fragment kodu: Do Call Wyswietl_czas ...
Chciał bym żeby ktoś mi pomógł napisać program ma mniej więcej wyglądać to tak: Po włączeniu na ekraniku 40x2 (tylko taki mam akurat) Pojawi się napis Wybierz opcję: 1. Line follower 2. Minisumo 3.Rc5 naciskam przycisk 1 i na ekraniku pojawia się: Wybrałeś obcję: line follower (ładowanie...
Coś takiego: [syntax=basic4gl] if pinb.2=0 then przycisk = 1 do if pinb.0=0 then 'tutaj coś do zrobienia end if if pinb.1=0 then 'tutaj coś do zrobienia end if if pinb.2=0 then if przycisk = 0 then ...
Ach, no tak. Język to bascom a procek np. atmega8
Do obsługi przycisków w Bascomie służy "DEBOUNCE"
No to jedziemy dalej :) Problem polega na tym, że nie bardzo chcą działać przyciski P_tryb, start, stop. O ile opóźnione działanie P_tryb jest chyba związane z trzema komendami WAITMS 330 w pętli głównej, to nei rozumiem dlaczego dwa pozostałe przyciski niezbyt chcą być obsługiwane. To...
Witam! Temat być może poruszany nie raz jeżeli chodzi o sprawę odczytywania stanu przycisków. U mnie jednak stanowią one niejako tło. Program ma za zadanie badać prawidłowe działanie kontaktronów, które są wyzwalane poprzez magnes umieszczony na wałku silnika krokowego. W załączonym...
Nawet jesli ten reset portb.0 zostanie w petli to powinien chociaz uzyskac taki efekt ze kiedy trzma wcisniety przycisk to jest '8' na wysw. jak pusci to '0'.
wader_669 , mam helpa, mam książkę o programowaniu w BASCOMIE, a do budowy linefollowera zainspirował mnie Twój projekt i zrobiłem płytę główną wg Twojego schematu (mam nadzieję, że mnie nie pozwiesz za to do sądu, bo gdy go skończę, to nie zamierzam go pokazywać nigdzie indziej niż...
LED5W - ciekawe podejście do kwestii menu. Trzeba tylko pamiętać, że w każdym menu musi być taka sama ilość podmenu. Chyba, że zrezygnujemy z wygodnego przejścia do podmenu, ale wtedy łatwo będzie poplątać numerki. ;) Ja zwykle CASEm robiłem płaskie, przechodzenie jednym przyciskiem...
"niestety w obu kodach brakuje czegoś co by dodawało cokolwiek do zmiennej A, więc nie przyjmie ona nigdy wartości 1 lub 2 skoro na początku się ją zeruje." Myślę że jesteś w błędzie. To daje A=1 Cls Lcd "krotkie" A=1 wait1 A to: Cls Lcd "dlugie" A=2 wait1 ...
Nie wydaje mi się aby przez zmianę tylko obsługi przycisku wyciągnąć coś więcej zważywszy, że if/wait są bardzo dobrze zoptymalizowane przez kompilator, więc raczej szukaj gdzieś indziej.. (np. pozbądź się nietypowych zmiennych typu single itp...)
Debounce spokojnie by tu wystarczył jeśli nie zależy Ci na ciągłości działania programu (ten zawsze wstrzyma na 25ms). Do tego wykorzystaj dodatkowy timer programowy do mierzenia czasu trwania buzera (ewentualnie można to zrobić w jakiejś pętli jeśli wstrzymanie programu jest nieistotne)....
Ostatecznie podzieliłem jedną zmienną która po przekroczeniu wartości 250 resetowała się i zwiększała sekundy o 1 na dwie, Second i Second_2, przez co uzyskałem możliwość wywoływania funkcji obsługi przycisków co 500ms. Przy okazji dorobiłem migający dwukropek. Zegar działa, jednak...
Moja kod do obsługi przycisków: [syntax=basic4gl] If Ok = 0 And Blokada = 0 Then 'Esc If Ptimer1 = 0 Then Ptimer1 = 100 If Ptimer1 < 95 And Ok = 0 Then Tmp1 = 1 If Ptimer1 < 80 And Ptimer1 > 10 Then Przycisk = 4 Set Blokada ...
Witam wszystkich fachowców, Z programowaniem uC w języku Bascom dopiero zaczynam wiec bardzo proszę o wyrozumiałość. Chodzi mi o wstawienie obsługi przycisku. Całość ma działać w następujący sposób -jeśli wciskam i cały czas trzymam przycisk, podając stan niski "0" na pind.1, to zaczyna...
BASCOM'a nie znam więc nie pomogę, ale czy na pewno masz poprawnie podłączony mikrokontroler (pytam o to, czego nie ma na pokazanym schemacie)? Włączyłeś rezystory pull-up dla pinów przycisków?
Witajcie Piszę sobie program w bascomie do obsługi przycisku Robię coś takiego [syntax=actionscript]if switch = 1 then waitms 20 if switch = 1 then incr A end if end if[/syntax] i potem sobie wyświetlam tą zmienną [syntax=actionscript]lcd A [/syntax] i teraz program mi non...
Witam, mam program (attiny2313) do obsługi termometru DS18b20 i wyświetlacza, układ posiada 3 przyciski +/M/-. Program reaguje na zwieranie przycisków do masy, a chciałbym zrobić tak by procesor reagował na przerywanie masy. Znajdzie się ktoś kto mógłby rzucić okiem na program i podpowiedzieć...
Nie przyłożyłem się do tego pierwszego kodu bo myślałem w nim tylko o tym by sprawdzać czy nadawany kod sie zmienił. Nie ma potrzeby w każdym Case pisać Piloty = 0. Prawdopodobnie masz gdzieś w menu takie zapisy [syntax=vbnet] If Klawisz_5 = 1 Then Klawisz_5 = 0 '... zadania do...
Witam, mam następujący problem z poniższym programem. Prosiłbym bardziej obeznanych kolegów o sprawdzenie, układ powinien działać tak: ustawiam temperaturę plus regulacja histerezy, gdy temperatura jest niższa układ załącza przekaźnik do czasu wyrównania temperatury, problem polega na...
Witam Staram się przyswoić powoli wstęp do języka Bascom. Jednak żeby bezproduktywnie nie patrzeć na migające diody postanowiłem napisać sobie banalny program do wytrawiarki. Przeczytałem naprawdę sporo tematów. Po wielu próbach i zlepkach kodów z elki powstało to "coś". To "coś" nawet...
Witam Stopniowo rozbudowując o kolejne konfiguracje układ chciałbym mieć możliwość ustawiania parametrów zegara przez pilota ( w sumie to bardziej wygodne i nie zabiera wyprowadzeń uC ). Mam program z menu działającym na przyciskach, zastosowałem flagi, gdyż sprawdzanie tylu wersji warunków...
Hmm... w końcu używasz WAITKEY, więc zmienna Czekanie nie ma sensu. Dodatkowo: Czekanie = Ischarwaiting() wykonujesz przed obsługą przycisku i jakąś procedurą MAIN. Teraz jeśli w trakcie obsługi przycisku i wykonywania procedury MAIN wyślesz dane to nie zostaną one zapisane w EEPROMie Ja...
Witaj, powiem tak, niewiele nauczysz się zlecając komuś pracę. Jeżeli urządzenie ma służyć do nauki to może spróbowałbyś je sam wykonać. Ja polecałbym Ci zacząć od prostych rzeczy, jak np wykonanie płytki(jakiś starter kit na avr'ce) lub coś prostszego znalezionego w sieci. Potem...
Witam, Mam problem z programem na Atmege8a, mianowicie: Piszę program sterujący pracą silnika (za pomocą L293D) który dodatkowo będzie zliczał w czasie impuls od przerwań zewnętrznych i tu pojawia się problem: kiedy napisałem program obsługujący tylko pracę silnika, wszystko działa...
Witam, udało mi się coś wyskrobać i zrobiłem na razie sam generator częstotliwości, właściwie jakoś tam działa ale chyba napisałem to dookoła , może ktoś spróbował by to jakoś poprawić. Nie dodałem jeszcze generatora PWM, próbowałem ale nie wychodziło mi, chciałem taktować go...
programu nie wstawiłem bo nie wiem czy będzie potrzebny a jest strasznie pokręcony chodzi mi o samą zasadę dzialania coś porównane do czegos i nie wiem moze przypisane jakiejs innej zmiennej tu jest listing ale nie skończone obsługa ledów bo ustawienie ma byc nimi sygnalizowane $regfile...
Witam serdecznie, W bascomie, w chwili wystąpienia zewnętrznego przerwania na jednym z pinów obsługujących takie zdarzenia, program skacze do podprogramu obsługującego przerwanie, po czym wraca do miejsca w którym aktualnie wykonywał się program w chwili jego wystąpienia. Czytałem że...
Witam Mam program budzika, który jako dodatkową atrakcję miał mieć możliwość mówienie czasu na żądanie i odtwarzanie oprócz buzzera utworu jako alarmu. Atmega steruje przez jedno SPI programowe układem MAX7219, a przez konwerter poziomów i drugie SPI programowe odtwarzaczem WTV020SD. O...
Kolego jak często wchodzisz w tą procedure obsługi przycisku? Wydaje mi się że za często i dla tego dioda słabo świeci. Wywołuj to co jakieś 200ms, powinno wystarczyć. Między przestawieniem typu pinu na wejście i podciągnięciem go, a odczytem jego stanu, daj przerwe kilka us na ustalenie...
Witam, Jestem w trakcie pisania programu obsługującego regulację jasności LED za pomocą przycisków. Ma to działać na zasadzie: 1. Naciśnięcie i przytrzymanie przycisku 1 - rozjaśnianie diody (diod) od zera do 100% - w momencie puszczenia przycisku zapamiętanie stanu 2. Naciśniecie...
Witam W petli Do-Loop programu głównego mam warunek sprawdzajacy wcisniecie klawisza i jednoczesnie inna zmienna np menu=0 Do if przycisk.0 =0 and menu=0 then lcd " np napis" end if kod Loop Po uruchomienu urzadzenia program wykonuje mi ten warunek z przykładu...
Zrób obsługę przycisków w podprogramie i do jakiejś zmiennej np przycisk przypisuj róże wartości w zależności jaki wciśnięto przycisk a w pętli głównej sprawdzaj zmienną przycisk i odpowiednio reaguj w zależności od potrzeb.
Piszę program, do czasowego wyzwalania migawki: Na pokładzie mam attiny13, tact-switcha, oraz diodę led i transoptor. Układ ma wysyłać impuls ok 300ms co określony czas. Czas ustawia się poprzez wciskanie przycisku - jedno wciśnięcie = 0.5s więcej. Dłuższe przyciśnięcie (pow. 3s) powoduje...
Może i ja dorzucę swoje 3 grosze zanim zamkniecie. Kupiłem ową książkę (w księgarni) ,niestety miałem pecha ,bo płyta DVD uszkodzona i nie rusza (widać pęknięcie). Zwrotu nie chcieli przyjąć ,bo jak twierdzą sam zepsułem. Oczywiście uwielbiam robić sobie na złość!!! :/ i tak...
Napisałem się, napisałem... a tu wylogowało i przepadło a wstecz w przeglądarce nie przywróciło :( ale postaram się odtworzyć. W wyżej zaproponowanym sposobie musisz mieć przycisk podpięty pod zewnętrzne przerwanie. Ja zrobiłbym to inaczej. Obsługę przycisku zrobiłbym w przerwaniu...
Parę lat temu w liceum nauczyciel pokazywał mi metodę przekazywania tego typu zmiennych poprzez liczby binarne, np ostatni stan wyświetlacza z przykładu byłby interpretowany jako 00100, tylko nie pamiętam co i jak... ;) B100=4 ;) Ja bym to napisał tak (przyciski między pin a masę): ...
Witam. Nie mam już pomysłu, może ktoś z was coś podsunie. Problem leży prawdopodobnie w złym zarządzaniu pamięcią. Program to miernik energii elektrycznej. Może zamiast kodu przedstawie schemat blokowy. Cały program znajduje się w pętli, nie używam zadnych gosubów i innych podprogramów....
Bo jak wejde do zapętlonego podprogramu i w nim nie obsłuże przycisku to nigdy z niego nie wyjde, dlatego w każdym podprogramie jest pętla do loop until i dodatkowo wywołanie obsługi przycisku. ta pętal jest tam niepotrzebna , przecież główna pętla sprawdza stan A na jej podstawie skok...
W procedurze/podprogramie obsługi przycisku wciśniętego zwiększaj zmienną o 1 a w programie głównym, czy też tam gdzie to jest potrzebne, wykonuj program w zależności od tej zmiennej, np. wykorzystując SELECT CASE.
Witam. Układ następujący. Do portu mastera dołączone są mikroswitch'e (8 szt). ich wciśnięcie powoduje zapalenie sie LEDa podłączonego do odpowiedniego bitu w innym porcie (atmega 16) Leci to przez RS do slawe'a (atmega8) i zapala analogiczy bit. Układ prosty, działa bez problemu. Po...
Witam. Użyłem PWM do rozjaśniania diody LED i oczywiście wszystko działało jak należy. Następnie dodałem 4 wyświetlacze 7 segmentowe oraz obsługę przycisków i pojawił się dziwny objaw. Gdy PWN nie jest skonfigurowany wszystko działa jak należy, zaś po jego konfiguracji przycisk na...
Procesor działa sekwencyjnie więc jakieś straty być muszą. To znaczy że na obsługę przycisku i ustawienie portu stracimy jakiś czas. Ile- to zależy w jaki sposób to jest zrobione. Pytanie- jaki błąd czasowy w obsłudze głównej pętli jest dopuszczalny.
.... Laser czyta i ..... A ja myślałem do tej pory, że tylko ludzie potrafią czytać, tymczasem proszę bardzo z elektrody można się dowiedzieć, że czytać potrafią także lasery (oops przepraszam - Lasery) A tak na poważnie to panie kolego weź ty się w końcu za początki i w ogóle...
Witam Poniżej wstawiłem kawałek "kodu", który ma służyć ustawieniu parametrów alarmów, oczywiście nie jest skończony ( brakuje obsługi przycisków zmieniających wartości). Chodzi mi raczej o obsługę wyświetlania na MAX7219 - jako, że część się powtarza szukam sposobu, jak zrobić,...
Wszytsko wrzuce w poniedziałek po południu bo nie mam dostępu teraz do niego. Ogólnie przerwanie działa ale też nie do końca, bo jak jedno się wykona i stoi na wait'cie w pętli głównej to już na kolejne, nie reaguje Obsługa przycisku w przerwaniu jest niezbyt wskazana. Owszem przycisk...
Jest to zegar zasilany z baterii - wyświetlacze załączane na krótki czas po naciśnięciu przycisku, by można było ujrzeć godzinę . W pętli głównej jest realizowana zamiana wartości w zmiennych bajtowych wskazujących godzinę na postać, którą mogę wyświetlić na wyświetlaczu LED....
W twoim kodzie żeby 2 i 3 warunek został w ogóle sprawdzony musi być cały czas wciśnięty przycisk, zrób porządna obsługę przycisku a dopiero reszte. Być może po tej modyfikacji kod zadziała według twoich założeń: [syntax=basic4gl]$regfile = "attiny13.dat" $crystal = 1000000 $hwstack...
Do obsługi przycisków w Bascom-ie istnieje funkcja "Debounce". Config Debounce = 45 ... Debounce Pind.1 , 0 , Ustawienia , Sub ... Ustawienia: Debounce Pind.1 , 0 , Ustawienia2 , Sub ... Return Ustawienia2: ... ... Tak "brzmi" lepiej :wink: Pozdrawiam Piotrek...
Witam serdecznie Zbudowałem układ na attiny 13 mało profesjonalny z dwoma przyciskami i dwoma przekaźnikami i zamieszczam fragment kodu. Wszystko byłoby ok tylko drażni mnie obsługa przycisków. Dodam że jestem na etapie początkującym w bascom [syntax=basic4gl] Do If Pind.0 = 0 Then ...
Fnkcja LOAD robi przeliczenia za ciebie. Jeżeli użyjesz Timerx = y to będziesz musiał sam poodejmować. Najlepiej przenieś zmianę stanu portu do przerwania, a w pętli głównej daj tylko wyświetlanie i obsługę przycisków.
Kolega wyżej ma rację... Zacznij od poznania wszystkich "klocków" a potem zacznij budować z nich całość... Jeśli weźmiesz się odrazu za całość to nawet jeśli ktoś ci program napisze w bascomie to niewiele z tego wyniesiesz... Możesz się jedynie zniechęcić bo tak od kopa ciężko...
Mam zamiar wykorzystać wszystkie dostepne porty do sterowania diodami led, oczywiscie PWM - niestety tylko programowy ;/ Mam kilka wskazowek, lecz nie dzialaja. $regfile = "m8def.dat" $crystal = 8000000 Config Pind.0 = Output 'Konfiguracja...
...wygląda on tak , jakby autor znał/wykorzystał , tylko 10% możliwości Basica Tak właśnie jest :D To jest moje pierwsze urządzenie wykorzystujące procesor (do tego programowane w BASCOMie) Gdyby nie Balu i JML to nie przebrnął bym przez to wcale. Efektem mojej niewiedzy jest powyższa...
Witam Kontynuuję tworzenie swojego sterownika i teraz przyszedł czas na dźwięki. Otóż w moim urządzeniu muszę zrobić możliwie najprostsze ( mam niewiele wolnego miejsca na pcb) , odtwarzanie plików dźwiękowych. Będą to krótkie max 3 sekundowe pliki. Nagrane wcześniej na kartę...
zaaplikowałem twój kod ale jest 0 na wyświetlaczu piszesz że nie robiłbyś tego ne przerwaniu, proponujesz przenieść to do petli głównej, a reszte programu przerobić? bo nim jeszcze jest obsługa przycisków, RC5 etc. która własnie znajduje się w pętli głownej
obsługa przycisku: If s1 = 0 Then Waitms 50 Incr A Bitwait s1 , Set End If Poza tym należy uczyć case i jakiegoś timera- ze względu na dużą ilość Wait-ów
Port a nie ma przerwań, ale jeśli to ma być obsługo przycisku można wykorzystać przerwanie timera co np 50ms. przy 2 wykryciu stanu niskiego wykonujesz odpowiednie działanie. przy 2 bo dzięki temu od razu wyeliminujesz drgania styków.
Ale Ty potrzebujesz tylko on/off? Jeżeli tak to użyj przerwania od jakiegos timera i zmiennej licznikowej. Jeżeli np x=1 oznacza 1 sekunde, a chcesz żeby wyświetlanie gasło po 20 sekundach to robisz tak że w funkcji obsługi przycisku zerujesz zmienna x, a w przerwaniu inkrementujesz ją, w pętli...
Skoro sam napisałeś sobie ten kod w 4 dniu ;) to już coś wiesz, ale.... Ja jak narazie próbuje łączyć kody(programy) znalezione w necie,. zamiast łączyć kody znalezione gdzieś w necie, lepiej na spokojnie naucz się po kolei programować. W Bascomie obsługa przycisków i taki PWM...
Chciałbym mieć tak, że gdy przytrzymam przycisk na tej wartości to zacznie migać, a potem pojedynczymi przyciśnięciami zmieniam wartość co 1000. Ponowne przytrzymanie zapisuje wartość. to już zabawa. Zrób sobie szkielet menu, zaprzągnij jakiś timer, lub pętle for z delayem w obsłudze...
Rozwiązaniem jest obsługa przycisku na przerwaniu bądź to INT bądź PCINT
Nie znam Bascoma więc nie wiem co Robią pokazane programy ale jest prosty sposób na to. Ustawiasz jeden Timer tak aby zgłaszał przerwanie (np od przepełnienia) co 1 ms (czy jaką tam sobie dokładność chcesz). Timer sobie zasuwa i zgłasza przerwania, w przerwaniu sprawdzasz stan jakiegoś...
A jednak dziś jeszcze przepisałem to INT0. Działa choć czasem są problemy z odczytem temperatury, ale to pewnie dlatego że za dużo powstawiałem disable/enable interrups. No i przestawiłem moją Atmegę na trochę szybszą:) W takim razie spróbuję jeszcze z Timerem. A jaką najmniejszą rozsądną...
czyli jak przykładowo dam: [syntax=basic4gl] do if flaga = 1 then 1wreset 'reset 1wwrite &H55 1wwrite &HCC 1wwrite &H44 'dokonaj konwersji end if if flaga = 2 then 1wreset 'reset 1wwrite &H55 ...
Co do programów symulujących to nie używam takich więc nie pomogę z nim (wolę pracę na "żywym organizmie ;) ). Jeśli rożne sprawdzone programy nie działają, to duże prawdopodobieństwo problemów sprzętowych, posprawdzaj: 1. Ustawienia fusebitów (czy wszystko się zgadza) 2. Wszelkie...
Oczywiście poszukam, chodziło mi tylko o to czy do obsługi przycisku powinienem zarządz do roboty Timer0, czy można wykorzystać np któryś z używanych juz Timerów?
pier - twój program działa bardzo dobrze, dokładnie tak jak go napisałeś. A że napisałeś go badziewnie to taki masz efekt. Błędy: 1) W przerwaniu INT0 wyskakujesz z niego GOTO do głównego programu, tak nie można. Wyjdź z przerwania komendą RETURN, ale na jego końcu a nie przez podmianę...
Ani o jedno ani o drugie. Jeśli ten układ z Atmegą ma służyć tylko do pomiaru i wyświetlania temperatury to można tak zostawić. Ale jeśli czy przyjdzie na myśl zrealizować jeszcze inne zadania (np obsługę przycisków) to nie może tak zostać. W czasie wykonywania instrukcji wait, uC nie...
Hehe, przecież tam miałeś praktycznie gotowe rozwiązanie tylko obsługę przycisków dorobić i można było szaleć do woli :-)
Na początek do rysowania schematów są odpowiednie programy a nie Paint , kody programu umieszcza się korzystając z polecenia Syntax a nie wkleja zrzut . Schemat : brak jakichkolwiek kondensatorów do filtracji zasilania , brak GND dla uC , brak oporników ograniczających prąd diod jeden wspólny...
[url=]Przykład wykorzystania Timer1 do obsługi przycisków Przykład, co może się znajdować w pętli głównej. [syntax=basic4gl]Do If Flaga_ms_75 = 1 Then If Menu = 0 Then If Czy_wcisnieto = 1 Then Czy_wcisnieto = 0 Flaga_ms_75 = 0 Gosub Zapis_ds End If ...
Wziąłem się w końcu za ten obrotomierz lecz mam pewien problem. Nie mogę użyć Timer0 bo używam go do przerwań w menu i obsługi przycisków. Pozostaje mi timer1 który jest 16bitowy i liczy do 65536. I teraz wystarczy preskaler na 256? Pamięć mi się kończy - mam zegar z ustawianiem czasu,...
Witam, Mam chyba nietypowy problem. Podobny został poruszony tutaj ale jednak nie taki sam. Chodzi o to, że ostatnio chciałem sobie zaprogramować Atmege8 przez USBASP. Uruchomiłem MkAVRCalculator i sprawdziłem, odczytuje nazwę i sygnaturę. Wchodzę do Bascoma i pisze programik do obsługi...
Koledzy znając życie to pewnie problem wynika z mojej niewiedzy. Mam podprogram Który ma mi zliczyć czasu załączenia pompy. W tym celu wykorzystałem sobie przerwanie które generuje mi przepełnienie co 500ms. W warunku Flagi 500ms jest zmienna (kala(n))która jest zwiększana co 500ms jeśli...
Pewnie nie. Poczytaj o obsłudze przycisków. A co zrobisz w programie po wykryciu naciśnięcia to już zależy od Ciebie.
Bascom - wersja 1.11.95 Kod, no jest tego sporo: - zegar PCF8563 - Zapis na SD - dwa czujniki DHT11 - odczyt z PCF8574AP ( klawiatura ) - RC5 - ma być DS18B20 - ma być DCF77, ale nie doszedłem do tego momentu ( tzn testowałem na innym procesorze i działało ) Działa - zegar PCF8563 -...
Jest tego sporo, DCF77, 7 x DS18B20 i DHT11 ( akurat jeśli chodzi o niego to mam wątpliwości, czy ten kod działa, bo jest na obydwu płytkach podpięty i zdarza się zawieszenie ) Nadajnik Atmega328p Dodano po 16 Odbiornik Atmega644P - trochę zmieniłem obsługę przerwania, wydaje...
Witam Mimo, że większość proponowanych tutaj rozwiązań podłączenia RFM12 do Atmegi wykorzystuje SPI programowe, ja podłączyłem tradycyjnie, przez SPI sprzętowe - mimo, że nie miałem problemów z wgrywaniem kodu do Atmegi spiętej z RFM12, to uruchomienie ich razem jest problematyczne ...
Zamiana wyświetlaczy nic nie daje, zamieniałem nawet same kabelki łączące je z płytką i też nic. Jeśli chodzi o przerwania to mam odbiór danych z RFM12 oraz obsługę klawiatury na PCF8574. Może faktycznie coś na rzeczy z tymi przerwaniami. Wyświetlacz, który nie działa jak trzeba...
Witam Poniżej załączam kod, który ma sterować wyświetlaniem informacji na LCD oraz zmianą koloru podświetlania. Niestety po upłynięciu czasu ( różnie, czasem kilkanaście minut, czas kilka godzin ) procesor zawiesza się i na LCD wszystko się zatrzymuje. Wstawiam tylko część kodu którą...
Mam taki problemik tutaj macie fragment kodu: 'C013b Prosty zegar z ustawianiem Dim Sekjed As Byte , Sekdzies As Byte , Minjed As Byte , Mindzies As Byte , Maxi As Byte Dim , Godzjed As Byte , Godzdzies As Byte , Mux As Byte , Migaj As Bit , Uniwers As Byte Config Portb = 255 : Portb = &B255...
Witam. Skleciłem taki o to "fragment" kodu do obsługi zegarka RTC. Wszystko działa 'Program do obsługi zegara czasu rzeczywistego RTC PCF8583 Philips za pomoca magistrali I2C $regfile = "m8def.dat" 'Atmega8 $crystal = 8000000 ...
Witam wszystkich wszech wiedzących. Mam taki drobny problem, otóż w zestawie uruchomieniowym zl11avt zaprogramowałem mikrokontroler attiny 2313 żeby na wyświetlaczach led był zegarek z budzikiem. Po zastanowieniu sie zobaczyłem że mam 4 porty wolne i mogę wykorzystać je do czego chce. Chciałbym...
Emulatora procesora 89c4051 bez komparatora lecz w czasie rzeczywistym oraz soft w bascom do emulacji pilota manty emperor 007Witam! serdecznie ! Proponuje artykuł dotyczący emulatora procesora 89c4051 oraz rozwiązanie w bascomie transmisji IR pilota manty emperor 007 Proponuje sprawdzony emulator...
Emulatora procesora 89c4051 bez komparatora lecz w czasie rzeczywistym oraz soft w bascom do emulacji pilota manty emperor 007 Witam! serdecznie ! Proponuje artykuł dotyczący emulatora procesora 89c4051 oraz rozwiązanie w bascomie transmisji IR pilota manty emperor 007 Proponuje sprawdzony emulator...
Witam Mam taki programik troszke posklejany ale wyskakuje błąd co robie nie tak . label not found [_ENDIFO ] $regfile = "m8def.dat" 'Atmega8 $crystal = 8000000 'Kwarc 8MHz Config Lcd = 16...
Poszukuję wsadu do AtMega8 umożliwiającego stworzenie zegarka z datą na wyświetlaczu 2x16. Znalazłem kilka ale była też tam obsługa czujników temperatury (bądź pod wyświetlacz led), a ja odczytywać temperatury nie chcę. Czy któryś z forumowiczów dysponuje takim plikiem, lub potrafiłby...
Witam. Tak poradziłem sobie z uruchomieniem. Myślę, że warto opisać tutaj dokładnie co i jak z tym HC-05. A więc jeśli ktoś ma sam układ HC-05 bez dodatkowej płytki z goldpinami, to powinien podłączyć go według tego schematu: Oczywiście diody LED nie są konieczne. Jednak...
Witam Do istniejącego i działającego "urządzenie" chciałem dodać możliwość odbioru, parsowania i odesłania SMS'a zwrotnego z danymi. Cały kod: Linia1 - to wyświetla Uart_numer - Linia1 Linia2 - to wyświetla Komanda - Linia2 czyli działa OK Ale jak podepnę modem GSM (...
Pisząc obsługa przycisków mam na myśli np niereeagowanie na bardzo krótkie szpilki bądź też właściwe wykrywanie dłuższego przyciśnięcia w przypadku przełącznika, który po prostu nie łączy i może generować stany chwilowe podczas przytrzymywania go. Nie prościej dać kondensator...
Fakt, ze jest milion różnych sposobów na zrobienie tego. Ok spróbuję tym sposobem co mi podsunąłeś. W sumie nawet lepiej tak. Dzięki. Dodano po 5 Ok, coś tam skleciłem, jest to niepełny program, bo nie ma w nim np. ustawień dla Mute i trybu, oraz nie pokazuje na LCD wartości,...
Witam Piszę ten post ponieważ nigdzie nie znalazłem odpowiedzi na mój problem. Chciałbym zmieniać funkcję programu za pomocą jednego klawisza. W tej chwili robię to wg. mnie na okrężno ale nie znalazłem lepszego rozwiązania: W programie Aa - jest to przycisk który...
Tak co jeden cykl. Prescale jest 64 wiec nie tu chyba problem. Nic sie nie dzieje na wyswietlaczu a w symulatorze tez nie pokazuje zmian zmiennych. To nie jest jeden cykl, ani też 64 jakby wynikało z podziału prescalera. Wszystko można odczytac w symulatorze, tylko musisz potrafic posługiwac...
Witam, Aktualnie buduję/remontuje niewielką tokarkę, do zastosowań domowych. Jej mechanika jest dość prymitywna, co za tym idzie nie posiada żadnych podziałek, ani automatycznych posuwów. Wobec tego chciał bym zaopatrzyć ją w liniał, który będzie pokazywał pozycję imaka...
Witam... Napisałem program w Bascom dla ATTiny13 do obsługi odbioru RC5. Mam pewien problem i nie wiem z czym jest on związany. pierwsze dwie pętle DO...LOOP zapamiętują przyciski (zmienne K1 i K2) trzecia petla DO...LOOP sprawdza czy został wciśnięty któryś z zapamiętanych przycisków...
Przecież tyle na elektrodzie jest przykładów jak to zgrabnie robić w Bascomie. Ale przynajmniej kolega widać że się męczy sam a nie na gotowca poluje. Więc ok, ja to robię np tak: Inicjalizacja obsługi RC5 Config Rc5 = Pind.3 Dim Address As Byte , Command As Byte Dim Ir_flag As Byte Ir_flag...
Witam Moja Atmega 16 wiesza się w pętlach Uszczenianie i Paletyzacja poniższego programu: 'Listing programu obsługującego symulator procesów. Program został napisany ' i skompilowan w programie BASCOM-AVR 1.11.9.8. $regfile = "m16def.dat" ...
Być może bascom'owe instrukcje obsługi lcd nie patrzą na kierunek w jakim działa port, tzn. w w funkcja "Config Lcdpin" ustawia wybrane porty jako wyjścia a pozostałe instrukcje obsługi lcd nie sprawdzają czy to się nie zmieniło. Spróbuj przed instrukcjami od lcd czyli przed obydwoma "cls"...
Napisałem swój pierwszy prosty programik, na wzór z książki Wiązani, obsługujący wyświetlacz 4xLED i LCD. Na LED wyświetlany jest licznik a na LCD tekst. Wszystko działało dopóki nie dodałem obsługi klawisza na PORTA.4. Doszedłem do obsługi klawisza za pomocą Debounce ;) i próbowałem...
Witam. Chciałbym sobie wykonać zegar z tego tematu [url=]LINK ale chciałbym dodać do tego zegar RTC. Myślałem żeby użyć DS1307 lub PCF8583, do obsługi tego drugiego znalazłem taki oto fragment kodu: [syntax=basic4gl]Config Sda = P3.5 'konfiguracja linii SDA magistrali I2C Config Scl...
Witam Mam płytkę Loggera GPS + SD + PCF8563. Jeśli chodzi o GPS i zapis na SD wszytko jest OK. Problemem jest ( i to pierwszy raz się z czymś takim stykam ) odczyt danych z z układu PCF8563. Otóż dla pewnych wartości sekund, odczytana wartość czasu - godziny jest większa o 40 ( czterdzieści...
Chodzi o te zaznaczone ustawienia z obrazka. Są wstawiane jako domyślne jeśli się ich nie wpisze do kodu. Chodzi o to, że kiedy Bascom skacze do jakiegoś Sub to odkłada na stos te wcześniej omawiane dwa Bajty. W takim Sub już może tego nie widać, ale tez skacze np. do procedury odczytu czujników...
Config Pinb.0 = Output 'konfiguracja portów Config Pinb.1 = Output Config Pinb.6 = Input Config Pind.3 = Input Portd.3 = 1 'podciągnięcia wejść Portb.6 = 1 Config Int1 = Low Level ...
Okazuje się, że w Bascomie 8051 nie można zdefiniować własnej funkcji, ta możliwość istnieje dopiero w Bascomie AVR - ciekawostka .. Spróbuj czegos takiego może zadziała ... Declare Sub Klawiatura Dim przycisk As Byte Dim kol1 as Byte Dim kol2 as Byte Przycisk=0 Do ...
dzięki Stefan, poprawiłem i program się skompilował jednak po wgraniu do procka nie działa Oczywiście że nie może działac. Procedury warunkowe " If... then... " mają zakończenie " End if ", Natomiast procedury wykonywane w subrutynach lub Labels (etykietach) kończone są przez " Return...
Napisałem kod dla zegara cyfrowego w Bascom. Ogólnie działa jak należy. Mam tylko problem przede wszystkim z budzikiem. Chcę aby podczas alarmu naciśnięcie przycisku 1(PORTD.0) wyłączało alarm(chodzi o sam dźwięk). Program nie reaguje. Nie mam pojęcia czy jest to wina tego, że nie nadąża...
Dzięki za wskazówki i pomoc :) Ten zegarek nie może poprawnie działać z powodu braku wyboru\konfiguracji\uruchomienia zarówno timera, jak i przerwania z nim związanego. W ww. programie jeszcze do fazy Timerowania nie doszedłem - stwierdziłem tylko brak poprawności wyświetlania zadanych...
Witam forumowiczów, Natknąłem się na pewien problem, z którym nie wiem jak sobie poradzić. Sprawa dotyczy nieprawidłowej obsługi przerwania INT0 podczas wykonywania komend sterujących wyświetlaczem LCD. Do Atmega32 podłączone są: - standardowy wyświetlacz LCD, - źródło impulsów...
Poniżej moje rozwiązania kontroli przycisku. Przede wszystkim są niezawodne i nieomylne ;) Jedyna wada (o ile można to tak nazwać) to sytuacja gdy w jednym czasie wciśniesz więcej niż jeden guzik - po prostu będzie wolniej badać te przyciski. Oczywiście można to łatwo obejść przenosząc...
Sporo tego ( obsługa SD, PCF8563 + menu do ustawiania daty, obsługa PCF8574 w przerwaniu INT1 )- ale nie ma problemu - zmieniła się tylko zawartość podprogramu Pomiar była taka, jak w pierwszym poście oraz wyłączyłem w wyświetlanie na LCD tych wartości wskazań z DS18B20, oczywiście dostosowałem...
Dziękuje za opis ale chyba mnie to przerosło :) Zrobiłem programowy PWM, oto kod: [syntax=basic4gl] '************... Petla glowna ****************** '*******************... Obsługa klawiszy (at)(at)(at)(at)(at)(at) If Przycisk > 0...
Witam. Odświerzę troszkę temat. AVT wypuściło drugą wersję oprogramowania do tego kitu. Zawiera ono obsługę jednego i dwóch skrzydeł. Wybór dokonywany jest automatycznie poprzez wykrycie obecności przystawki (napięcie na rezystorze po pomiarowym). Niestety program napisany jest w...
Czy macie jakieś sensowne i proste przykałdy użycia funkcji DEBOUNCE do obsługi pojednczego przycisku w Bascom AVR? Przykład z helpa mnie nie zadowala.
Teraz nie rozumie juz nic. Z tego co bascom robi w powerdown.Wygląda jakby tylko włączał zezwolenie na tryby uśpienia. Czy ja coś źle odczytuje? Czy kolega Zumek mógłby napisać w ASM przejście do ST-BY dla tego Attiny? Bo według mnie było by to tak: $asm !IN R24,mcucr !ORI...
Witam Jako ze to moj pierwszy post chcialbym z gory napisac ze jestem laikiem jesli chodzi o uC. Bawie sie tym od 2 tygodni, probowalem programowac w C ale niestety za wysokie progi. 2 dni temu zabralem sie za bascoma i wymodzilem programik do sterowania solarami, na dwoch czujkach ds1820. Mam prosbe...
Dobra zgodnie z zapowiedzią mały porządek w poście. Jak widać na załączonym obrazku procedura wreszcie mi działa tak jak trzeba. Problemy wynikały z mojej sklerozy :yes: , procedury tego typu pisałem jakieś 2 lata temu i się zapomniało to i owo o BASCOM. A oto kod samej procedury: ...
Witam. Ostatnio zacząłem bawić się w obsługę RC5, ponieważ jest mi ona potrzebna w pewnym projekcie. Po uruchomieniu odbiornika na M8 przyszedł czas na nadajnik. Prowizoryczny był na M8 jednak docelowy miał być na attiny45, ale trochę zbyt późno dowiedziałem się, że Attiny nie posiada...
Witam wszystkich, Tak jak w temacie: Poszukuje sprawnego programu aby zrobić zegar LCD na ATMEGA8. Program musi być w języku bascom. Znalazłem coś takiego ale nie działa :/ Opoźnienie sekundy wynois jakies 4s 'Program zegara wykorzystującego przerwania od Timer1 'Przerwanie...
Jestem początkującym w mikroprocesorach, więc zwracam się do forumowiczów o małą podpowiedz oraz pomoc jak uruchomić i sterować przetwornikiem D/C MCP4822 za pomocą Atmegi 32 lub Atmega 8 w bascom. Przetwornik już udało mi się zdobyć, więc chciałbym go wykorzystać. Zamierzam stworzyć...
Kod po zmianach-przeniesienie napisów do eeprom; [syntax=basic4gl] '-----------... AKWARYSTYCZNY***************************...
Witam. Od dłuższego czasu próbuje napisać program do obsługi klawiatury 2x3 w przerwaniu. Sporo szukałem na ten temat i wszędzie wszyscy doradzali getkbd() no a mnie niestety to nie urządza :( program testuje na ZL3AVR ale zamieszczę schemacik a tutaj mój kod: $regfile "m32def.dat" $crystal...
Witam! Jak w temacie...czyli chciałbym uprzejmie prosić osoby, które posiadają większą wiedzę ode mnie o sprawdzenie poprawności kodu w Bascomie, jak i schematu. Opierając się na kodzie źródłowym pewnego zegarka binarnego, skonstruowanego przez jednego z forumowiczów( The century...
Poprawiłem ten kod według wskazówek i działa z instrukcją case w podprogramie oraz z taką samą instrukcją w pętli głównej. Kod programu z Instrukcją case w podprogramie [syntax=basic4gl]'Projekt sterownika na podczerwień '12 kanałów binarnych sterowanie załącz/wyłącz 'oraz 2 kanały...
Witam, Jestem posiadaczem płytki ewaluacyjnej EVB 4.3 firmy And-TECH (z ATmega 644p) która działa razem z modułem AND-ETH V2 na którym uruchomiłem serwer HTTP autorstwa Bena Zijlstra: Płytka jako serwer działa poprawnie po zapytaniu GET wysyła strone w HTML. Teraz po krótkiej przerwie...
Witam. Program który potrzebuję ma posiadać następujące cechy: 1) 3 wejścia dodające kredyty do głównego konta, z ustawianiem każdego osobno ile ma dodać (czas trwania stanu niskiego ponad 100msek poniżej 150nsek) -np. 1złoty dodaje 10 kredytów, 2złote 25kredytów, 5 złotych 75kredytów (maksymalna...
Witam Napisałem program zegarka, którego zadaniem o określonej godzinie jest generowanie alarmu za pomocą Buzzer-a z generatorem. Do generowania sygnału alarmu użyłem polecenia Bascom-owego Sound, które działa niestety w moim przypadku źle (podobnie do Waitms) ponieważ podczas generowania...
Zmieniłem obsługę przycisków . Tak wygląda teraz program Pamiętajcie o podpięciu rezystora 10k do VCC i PIN1 Atmegi8 Program działa w100% . Dzięki wielkie wszystkim którzy mi pomogli . $regfile = "m8def.dat" $crystal = 8000000 Config Portd.0 = Output : Portd.0 = 0 : Led1 Alias...
A nie możesz po prostu robić obliczeń w funkcji obsługi timera 1, zapisywać to do globalnych zmiennych i następnie w głównym programie odczytywać te zmienne jeśli zamierzasz wyświetlić te wartości? Główny ekran to pewnie jakaś pętelka, która odczytuje pewne wartości, jak np. timer...
Po pierwsze musisz ustawić piny INT0 oraz INT1 jako wejscia (nie masz tego zrobionego) a samo aktywowanie przerwań nie ustawi tych pinów jako wejść czyli PIND.2 = Input PIND.3 = Input druga sprawa - po co włączasz aktywowanie przerwań poziomem niskim (Low level) ??? - wystarczy w zupełności....
[syntax=basic4gl] 'obsługa klawiatury 10 Freq_key = "" Do Licz_key = 10 ' If Pind.0 = 0 Then Waitms 25 If Pind.0 = 0 Then Incr Licz_lcd ' Do : Loop Until Pind.0 = 1 ...
Od kilku tygodni zmagam się z problemem dokończenia wsadu Bascom na sterownik do rolet i oświetlenia. Otóż pierwszy problem to wyświetlanie "krzaków" na LCD 2*16 takich jak na zdjęciu. Otóż sterownik na przemian z czasem po 20sek wyświetla temperaturę. Sterownik po włączeniu zasilania...
Witam. Jak napisać menu (np. 4 poziomy x 4 funkcje) W sieci jest kilka przykładów, ale wydają mi się strasznie skomplikowane. Do obsługi mam 5 przycisków: LEWO, PRAWO, MENU, POWRÓT i OK. Lewo i prawo to bez problemu (INCR/DECR), ale teraz chciałabym zatwierdzić konkretny wybór...
Witam. Mam program, który działa w pętli DO..LOOP typu: DO ... IF warunek THEN procedura ... LOOP przerwanie: ... procedura ... end sub Procedura wywołana w pętli głównej ma opóźnienia na WAITMS. Chciałbym przy pomocy przerwania (przycisk) zrezygnować w...
Witam Bardzo proszę o pomoc w obsłudze przetwornika A/C. Proszę o przykładowe lub gotowe programy spełniające określone funkcje. Program pisany jest w BASCOM. Chce by mikrokontroler spełniał dwa (3) zadania: 1.) Przy pomocy potencjometru sterować wypełnieniem sygnału PWM. (0V=ok. 30%...
Witam. Jak zrealizować w Bascomie inteligentny przycisk tzn. Nacisnę go raz to wyświetla mi np. temperaturę max i min, i tak za każdym razem, a gdy przytrzymam go dłużej to resetuje mi tą wartość. Opcja taka jest często spotykana np. w samochodach. W moim Punto jest tak że jak raz naciskam...
Ja też nie stosuję, ale wolę mieć obsługę naciśnięcia dwóch lubnawet wszystkich przycisków na wypadek jak ktoś tak je naciśnie. U ciebie gdy się naciśnie dwa przyciski to to może zostać rozpoznane jako naciśnięcie jakiegoś tam jednego innego przycisku jak się domyślam. Tak? Jeżeli...
Nie chciałem zakładać nowego tematu dlatego tutaj o tym piszę. Wspólnie z jednym z Kolegą z forum napisałem program do obsługi diody RGB - sterowanie za pomocą jednego przycisku. Program docelowo był pisany dla AVR, ale z racji tego, ze mam zbędnego AT89 przerobiliśmy kod pod AT89. Poniżej...
Dlaczego mnie to interesuje? Mimo długiego poszukiwania i dyskusji z kolegami nie uzyskałem "gotowego" rozwiązania na obsługę tego urządzenia. Uzyskane rozwązania miały pewne wady, które przedstawię. Zamówiłem układ AVT-5042 Pewne rozwiązanie. I teraz moje rozwiązanie. Na początek...
Zbudowałem sterownik silnika krokowego na parze L297 i L298.Steruje sie to standardowo sygnałem DIR-kierunek, ENABLE-załączenie silnika,H/L -praca krok półkrok, CLK -impulsy zegarowe sterujące szybkością pracy krokowca. Sterownik działa , wypróbowany na generatorku NE555 jest OK. Przyszedł...
Nie do końca , ja ostatnio męczyłem się bo na wolnych portach chciałem puścić i2c , niestety bascom odmówił współpracy , musiałem na tych portach zrobić przyciski . Dziwne ?!
Witam. Proszę o zerknięcie na kod i wytknięcie błędów programistycznych. Wiem, że większość z Was nie "uważa" języka Bascom, ale na razie tylko to umiem, więc tego proszę się nie czepiać. Kod jest oprogramowaniem sterownika akwarystycznego, który działa sprawnie już jakiś czas....
Witam. Chciałem sobie zrobić prosty układ który po wciśnięciu jednego przycisku będzie nadawał w podczerwieni komendę 1, po wciśnięciu drugiego - komenda 2. Z jednym przyciskiem udało mi się bezproblemowo, natomiast jest problem z obsługą dwóch przycisków, gdyż nie wiem jak dopisać...