http://obrazki.elektroda.pl/4815644800_1... Witam. Dziś zaprezentuję Wszystkim urządzenie, służące w praktyce w mieszkaniu i jako model dydaktyczny podczas nauki programowania. Tajemniczym pudełkiem nie jest kolejny zasilacz laboratoryjny. ;) Jest to... "Elektroniczny zawór" . (Hmm chyba powinienem wyświetlić "Elektroniczna głowica"...
Jeśli wyeliminujesz drgania przycisku, to najprościej to zrealizować podając wyjście przycisku na wejście zegarowe jednego timera (bedzie on zliczał ilość wciśnięć), a drugi timer wykorzystać do odmierzania czasów 1s - dokładnie co 1 s należy kasować licznik pierwszego timera. Ot i wszystko.
Bardzo fajny i prosty układ , na procesorze chyba jeszcze nikomu nie udało się czegoś podobnego zbudować Niesamowite. Atmega8 ma 20 wyprowadzeń we/wy (+2 jeśli nie korzystasz z zewnętrznego kwarcu). Przy zastosowaniu umiarkowanej jasności, nie potrzeba dodatkowych tranzystorów, a wystarczy to na wysterowanie np. 8 cyfr na wyświetlaczu 7 segmentowym...
Witam. Szukam pomocy z waszej strony. Musze napisać program na Atmege8 dla pewnego urządzenia (narazie nie zdradzę co to będzie ale napewno zamieszczę w DIY). Do uC będzie podpięty czujnik Z1 który będzie zliczał impulsy, dioda LED, i cztery przyciski S1 i S2 oraz S3 i S4. Układ ma za zadanie generować stany 0 i 1 tak by dioda LED migała. Za pomocą...
SIGNAL (SIG_INTERRUPT0) { cli(); //wyłącz przerwania ..... sei(); } Przepraszam za dygresję nie na temat. When an interrupt occurs, the Global Interrupt Enable I-bit is cleared and all interrupts are disabled. ... The I-bit is automatically set when a Return from Interrupt instruction – RETI – is executed....
Witam, Konstruuje sobie chronograf na Atmega8. Inspirowałem się tym- http://www.e-tawerna.pl/viewtopic.php?t=... Schemat: http://obrazki.elektroda.pl/8384525900_1... Jednak że z programowaniem mam na pieńku to skleciłem takie coś... pomiar czasu przepisałem z książki i lekko zmodyfikowałem....
Sprawdź w dokumentacji LIBc nazwę tego przerwania.
$regfile = "m8def.dat" 'Procek ATMEGA8 $crystal = 1000000 '1MHz - Kwarc 1MHz Dim A As Integer Config Lcd = 16 * 2 Dim Zmienna As Bit Dim Setki As Integer Config Lcdpin = Pin , Db4 = Portb.6 , Db5 = Portb.7 , Db6 = Portd.5 , Db7 = Portd.7 , E = Portd.2 , Rs = Portd.0 Zmienna = 0 A = 0 Setki = 0 Cls Locate 1 , 1 Lcd "L " ; A Locate 2 , 1 Lcd "x100 " ;...
Witam, piszę program na Atmega8 i mam problem z przyciskiem. Część kodu zaprezentowałem poniżej. Po przyciśnięciu przycisku na wyświetlaczu pojawiają się kolejne cyfry. Jednak musze przytrzymać przycisk z 2 sekundy żeby zmienna licznik wzrosła o jeden. Jeśli usunę tą druga pętlę if (sprawdzającą czy zmienna sprawdz = 1) wówczas przycisk działa normalnie....
Witam. Od kilkunastu godzin próbuję coś zrobić z tym programem i nie mogę... Może ktoś z Was na coś wpadnie. Procesor: ATmega8 Kompilator: avr-gcc Chcę zrobić obsługę klawiatury złożonej z 5 przycisków. Podłączyłem je do portu C, włączyłem pull-up'y, przyciski przywierają wejście do masy. Chcę ( koniecznie ) zrobić to tak, żeby przycisk reagował tylko...
Witam. Napisałem programik na licznik do 14-stu. Korzystając z WinAVR i USBasp program działa. Jednak ponieważ licznik jest sterowany przez łącze radiowe i ma zliczać za każdym razem od początku paczki impulsów przesyłane np. co 10 sekund, to pomyślałem, że pierwszy impuls mógłby być zerującym. Jeśli to niekonieczne wolałbym, aby nie wykorzystywać Timerów....
Witam. Jako, że dopiero powoli zaczynam zabawę z Atmegą (posiadam Atmege 32). Zaczynam od bardzo podstawowych rzeczy - chciałem liczyć częstotliwość naciśnięć przycisku a dokładniej ilość naciśnięć do momentu przepełnienia się licznika przez obsługę przerwań. Niestety nawet z tak trywialnym zagadnieniem mam kłopot, coś nie działa jak powinno.;) Zamieszczę...
Witam, mam problem z poniższym programem,który jest częścią większego kodu. Chce aby wejść w aplikacje, konieczne bylobyby wcisniecie odpowiednio w sekwencji :3 razy przycisk 1, 2 razy przycisk 2. Po wpisaniu tej sekwencji program ma przejść do dalszych instrukcji w mainie. Jesli kolejnosc sekwencji zostanie pomylona program wraca do poczatku wpisywania....
Czesc, siedze juz nad programem pare godzin i nie wiem dlaczego nie działa... Program działa na zasadzie... naciskam przycisk 1 kilkukrotnie na wyswietlaczu led pojawia mi się cyfra, a po naciśnięciu przycisku 2 układ odlicza do zera... "Z" to wskaźnik tablicy gdzie znajdują się zapisane binarnie cyfry na wyświetlacz led ldi R19, 0 lol: inr16,PINB...
witam kolegów może ktoś z Was podpowie mi jak zliczyć ilość naciśnięć switcha za pomocą timera w procku ATMega? czytam i czytam i nie mogę załapać - dużo jest o przerwaniach i pomiarze czasu, ale mnie chodzi tylko o to żeby zliczyć pojedyńcze impulsy - naciskam pryszcza i do pamięci, za kilka sekund naciskam 5 razy - ma się dodać do tego co juz było...
Witam, mam problem z pojedynczym wykryciem przycisku. Otoz mam 4 przyciski, 2 steruja wychylenie serwa( i te dzialaja jak maja dzialac) natomiast pozostale 2 steruja numerem serwa(jeden przycisk dodaje 1 do numeru, drugi natomiast odejmuje 1 od numeru serwa). Probowalem: sprawdzenie stanu ->odstep czasowy -> ponowne sprawdzenie stanu, i niestety nie...
Witajcie! Dziś właśnie jest ten dzień, w którym 1 raz zasiadłem do mikrokontrolera mega8 i pod bascom próbuje coś takiego: Chciałbym zliczać liczbę wciśnieć przycisku np na porcie d.0 i wynik wysłać wyświetlacz na lcd zrobiłem tak [...] Impuls Alias Pind.0 Config Impuls = Input Dim Wartosc As Integer Dim Pom As Integer Wartosc = 0 Pom = 0 Set Pind.0...
Witam! Jak rozwiazac problem zliczania impulsow z 8 kanalow np. na ATmega8535? ATmega8535 ma 3 wejscia typu timer/counter (ATmega128 tylko 4) a ja potrzebuje zliczac impulsy z 8 zrodel (wentylatory)-w celu pomiaru ich predkosci. CZy jest jakas mozliwosc podlaczenia tego przez jakis multiplekser (jak tak to jaki i jak to podlaczyc )?? Poniewaz jestem...
Witam Na atmedze obsługuje klawiaturę 4x4. Używam getkbd oraz look up. Działa ok. Natomiast zablokowałem się myślowe na problemie wpisania liczby np 3 cyfrowej. Wiem jak policzyć ta liczbę itp. Nie mogę wymysłem algorytmu żeby 3 kolejne naciśnięcia traktował jako składowe liczby. Naprowadzcie na jakiś działający algorytm. Może być taki ze po wpisaniu...
Witam, potrzebuję programu w Bascomie za pomocą którego będę mógł sterować 3 przekaźnikami: -jedno naciśnięcie - PB1 stan wysoki przez np. 1 sekundę -dwa naciśnięcia jedno po drugim - PB2 stan wysoki przez np. 1 sekundę -dłuższe przytrzymanie przez np. 2 sekundy - PB3 stan wysoki przez np. 1 sekundę Zależy mi właśnie by sterowanie było realizowane wyłącznie...
Witam. Korzystając z gotowca, próbuję zrobić licznik LCD zliczający do 14-stu. Do wyświetlania jedynki (dla liczb powyżej 9) wykorzystałem linię 7 portu B. Program się kompiluje i działa inaczej niż oczekiwałem: po włączeniu zasilania licznik działa jak sekundnik wyświetlając liczby w sekwencji co druga:0, 2, 4, 6 itd. do 14 i zaczyna od początku. W...
Witam, Przeglądałem wiele projektów dotyczących sterowania za pomocą przycisków ale nie znalazłem nic na temat sterowania opartego na krotności naciśniętego przycisku. Chcę wykonać sterowanie za pomocą jednego przycisku różnymi urządzeniami. np. jedno naciśnięcie przycisku w czasie 3sekund powoduje uruchomienie 1 urządzenia. dwa naciśnięcia przycisku...
Witam! Jestem początkującym elektronikiem. Chciałbym się dowiedzieć w jaki sposób podpina się kilka przycisków pod jeden pin w mikrokontrolerze (chodzi mi o schemat). Jeśli można czy mógłby mi ktoś wytłumaczyć jak zdefiniować każdy przycisk podpięty pod jeden pin w programie na mikroprocesor (język C). Dziękuję :D
Witam Chciałbym usłyszeć Wasze zdanie na jeden temat. Otóż mam urządzonko zbudowane na bazie Atmegi8 - całość zamontowana na maszynie -gra i buczy (dzięki również Waszej pomocy za co bardzo dziękuję). Maszyna ma czujnik podczerwieni, który bada przesuwające się na taśmie przedmioty (czujnik zasilany jest 24 VDC i ma 3 przewody VDC, GND, i SYGN przedmiot...
Wszystko jasne. Poprawiłem to na takie coś: [syntax=cpp]DDRD &=~ (1<<PD6); PORTD |= (1<<PD6);[/syntax] Tylko teraz jest tak. Jak przycisk nie jest wciśnięty to wyświetla się jeden timer, jak przycisk trzymam to wyświetla się drugi. Gdy puszczę przycisk powraca do wyświetlania pierwszego(docelowo liczników ma być 3). Jak sprawdzić parametr...
Ok dzięki, wszytsko działa jak należy. Teraz zmagam się z innym problemem, z obsługą podwójnego wyświetlacza 7 segmentowego. Mianowicie nie wiem jak to cacko dobrze obsłużyć. Chciałbym, aby k było zwiększane do 99, czyli 99 kliknięć przycickiem to 99 i aby każde kliknięcie wyświetlało mi się na wyśw. Od 0 do 9 to żaden problem, natomiast od 10 nielada...
Należy dodać drugi warunek, który sprawdza czy przycisk został puszczony (a więc wcześniej należy również zapamiętać, że został wciśnięty). Gdy zostanie puszczony - zwiększać wartość licznika zliczającego kolejne wciśnięcia.
Twojego programu nie analizowałem, nie chciało mi się, albowiem od razu Ci powiem, że ja bez przerwań w ogóle bym się za to nie zabierał i dotyczy to nie tylko enkodera ale także zwykłych przycisków. Tak jak napisał tmf , każdy zestyk ma tendencję do drgań, a więc enkoder również, jest to opisane w książce Pieńkosa i Turczyńskiego "Układy scalone TTL...
U ciebie widzę ze na przyciskach masz pull-up z uC. To bardzo złe rozwiazanie. Zakłócenia (np. styczniki) bez problemu zaidukuja w twoim przewodzie do przycisku impuls, który wywoła przerwanie. Innymi słowy, pull-up powinien być jak najbliżej przycisku zamiast w uC? Możliwe, że dziś zrobię osobny program zliczający wciśnięcia przycisku, czysto w celu...
Przede wszystkim musisz zacząć kolego od poznania timerów. Do odmierzenia czasu używamy timerów ponieważ zlicza nam czas w tle działania procesora. Używając polecenia wait zatrzymujesz kompletnie uC na ten czas. Konfiguracja dla AtMega8 8Mhz u mnie wygląda tak: Config Timer1 = Timer , Prescale = 256 ''''konfiguracja timera On Timer1 1s ''''przy przerwaniu...
Witam, Mam problem z zrealizowaniem za pomocą tylko jednego przycisku funkcji: naciskam - licznik zlicza w górę puszczam - licznik zatrzymuje się naciskam - licznik zlicza w dół puszczam - licznik zatrzymuje się itd... Męczę się nad PWM - regulacją podświetlania LCD, na atmega8, problemu nie widzę ze sterowaniem dwoma przyciskami, ale rozłożyłem się...
Mikrokontrolery to także jak najmniejsze zużycie prądu. Gdzie tylko to możliwe należy je usypiać. W Twoim przypadku możesz wykorzystać co najwyżej uśpienie 'cpu', ponieważ potrzebujesz działających 'timer'ów( przydatna tabela znajduje się w notach przy 'Power Management and Sleep Modes', np. 'atmega8' str.33) Zalecana przez twórców 'avr-libc' sekwencja...
Witam Szkoda ze nie wklejasz kodu chociazby znaczacej czesci. Proponuje zrobic tak ze wlaczasz przerwania (globalne) i timer0 na poczatku programu, niech timer sobie zlicza i jesli zliczy do okreslonej wartosci (wartosc zalezna od czasu po jakim ma wejsc no glownego menu) to niech wykona przejscie do glownego menu. kazde nacisniecie dowolnego przycisku...
Mam teraz takie pytanie odnośnie programowania. Chodzi mi o przyciski gdy do AVR wprowadzana jest masa po przyciśnięciu. Pin ma być wejściem w takim przypadku? Np odnośnie pinu 28 config pinc.5=input reset portc.5 do if pinc.5=1 then 'jeśli przycisk jest wciśnięty wait 30 '{zliczanie sygnaów} endif loop end
Acha, sprytne, zwiększając zmienną będę mógł przerwać tę procedurę, nit tak jak w przypadku Waitms... Chyba że źle myślę. Super, działa. Zrobiłem zmienną Integer i zliczam w pętli Do...Loop od 1 do 750 co 1ms, a jak przycisk jest naciśnięty, to wychodzę z pętli.
ta procedura powinna sprawdzać wyjście przez około 26 ms a kod RC5 w całości ma tylko około 12ms Jak napisać kod który jest w stanie dobrze sprawdzić to co dzieje się na wejściu i jak długo się to dzieje? Być może funkcja _delay_us(); źle odlicza czas ale jakim innym sposobem odliczać czas skoro inne przerwania w tym czasie nie działają? (mam podłączony...
Nie da się na to patrzeć :D Starałem się zrozumieć zasade działania czytając poprzednie posty i doszedłem do wniosku że ma to liczyć bilon o określonej wartości i zliczając go podliczać. Czyli ustawiasz przyciskiem że będziesz wrzucał 10gr i ten ma to liczyć i pokazać ile kaski? Jeśli taki jest Twój zamiar to przynajmniej przyłóż się i opisz jak podłączony...
Wszystko zależy od tego co jest źródłem impulsów. Jeżeli przycisk, to może to być efekt odbijania sie styków. Jeżeli to sygnał z innego urządzenia to może jego wydajność prądowa jest mała i zbocze zbyt wolno opada. A jeżeli sygnał jest dostarczany przez dodatkową rezystancję to może podciągający rezystor jest za mały.
Aha, nie przyszło by mi do głowy, że bity mogą być o różnej długości, ale teraz taka analiza ułatwia dużo napisanie programu. Po tym starcie każde zbocze opadające załączy wewnętrzny timer i przy kolejnych przerwaniach na zboczu opadającym wartość timera będzie porównywana z jakąś liczbą. Jeżeli jest mniejsza to 0, a jeżeli dłuższa to 1. Oczywiście...
wiec jesli sprawdzanie stanów timerów potrwa tak długo , wiec zliczanie impulsów w ten sposób mija się z celem wcześniej już określiłem jak program ma pracować , jego zasada jest prosta , nie wiem jak bardziej prosto mam to wytłumaczyć , próbowałem na przycisku i ledach , może wróćmy do takiego opisu wiec mamy 4ledy (cewki zaplonowe) , maja one byc...
A ja mam lamerskie jak dla was pytanie, bo muszę się upewnić. Przerwanie na SIG_INTERRUPT0 jest wywoływane po funkcji zewnętrznej np. przycisku. A jak jest realizowane przerwanie overflow0, czy zlicza ono dowolnie od 0 do 255? W sensie, że przerwanie dokonywane jest ciągle w pętli głównej co jakiś możliwy do ustawienia czas(poprzez preskaler)?
Najkrótsza podpowiedź jakiej udzieliłem: Brak debouncingu. Program ten jest w całości statyczny (sprawdza tylko stan portu/pinów wejściowych) a output ma również charakter statyczny (nie zlicza impulsów czy też toggle stanu wyjścia) więc debouncing byłby nie konieczny. Inna rzecz to: brak tu kilku słów lub częci programu na temat podciągania do Vcc...
Dziękuję za podpowiedzi:) Wstawiłem konda 100nF, próbowałem wyzwalać przerwanie na niski stan jak i na zbocze opadające i dalej to samo.. Czy jeśli napiszę taki kod: ISR(INT1_vect) { _delay_ms(100); while(bit_is_clear(PIND,PD3)... LCD_Clear(); LCD_WriteText("Co tam!"); _delay_ms(1500);...
Zupełnie inaczej. Obsługa przerwania, która tylko ustawia znaczniki, zupełnie nie ma sensu. W przerwaniu timera zgłaszanym np. 50 (20..100) razy na sekundę, czy poprzednio przycisk był zwolniony, a teraz jest wciśnięty. Jeśli tak - ustaw znacznik do ew. wykorzystania w ew. pętli zdarzeń (to dość nieszczęśliwe rozwiązanie, ale w Bascom i u początkujących...
Akurat robiłem coś podobnego, ale bez pilota RC5 bo znalazłem na alledrogo podobne rozwiązanie za 20pln... masz w programie opóźnienie 3ms - sprawdź czy nie będzie to kolidować z odczytem pilota. poza tym używasz 2 Timerów, więc dlaczego wprowadzasz procesor w pętlę bezczynności? Ustaw przerwanie jednego Timera na 10ms i w nim zmieniaj wypełnienie PWM....
To znaczy resetowanie zawartości Timera... I resetował bym Timer przed włączeniem go oczywiście. Moje pytanie brzmi.... jak go resetować..... Na razie zrobiłem tak: jak wcisnę przycisk, to zacznie zliczać cykle i wtedy dioda jest włączona. Po skończeniu odliczania - wyłącza diodę i ustawia TCCR1B = 0. Tym samym Timer jest wyłączony. Ale o co Wam chodzi...
W sumie to narazie eksperymentuje żeby się zapoznać z tematem. Jak będzie trzeba to wezmę inny uC, jeśli tylko programuje się tak samo. ponawiam pytanie czy ten lcd będzie działał :D Udało mi sie napisać i przetestować układ z procesorem attiny2313. Jak już mówiono wcześniej, ograniczeniem są 2 timery. Kupiłem atmega8, ale w datasheecie nie mogę znaleźć...
Witam, jako że niedawno rozpocząłem swoją przygodę z programowaniem i mikrokontrolerami i dostałem zlecenie na wykonanie pewnego urządzenia potrzebuje się was poradzić. Jak w temacie chciałbym wykonać na procesorze atmega8 minutnik który, będzie zliczał w dół na przykład 60 minut po tym czasie ma się wyłączyć pewne urządzenie zasilane z sieci , czas...
Witam Zastanawiam się nad programem, który miałby pozycjonować silnik krokowy unipolarny w Bascom. Silnik robi 200kroków na jeden obrót. Program miałby działać na takiej zasadzie: Najpierw ustawienia silnika w punkcie zero, później przyciśniecie danego przycisku miało by spowodować: przycisk 1 - silnik obraca się 4obroty w prawo od punktu zero przycisk...
sterownik będzie liczył obroty wiatraka (zlicza co sekundę), wyświetlał wyniki na wyświetlaczu i sterował trzema przekaźnikami. Pierwszy przekaźnik będzie po osiagnięciu pewnych obrotów np. 100 obr rozłączał ładowanie akumulatorów, a drugi i trzeci przy pewnych obrotach np. 150 i 200 obr/min będą włączać obciążenie do wiatraka np. grzałki, co spowoduje...
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 przerwaniu od TIMER0 jest kod odpowiedzialny za multipleksowanie wyświetlaczy...
Witam, chciałbym przedstawić prosty miernik odległości. Jest to projekt odtwórczy z serii "Elektronika dla wszystkich" Jest to mój pierwszy post na elektrodzie wiec proszę być wyrozumiałym jeśli coś źle zrobiłem Do czego to służy? Układ ten jest bardzo uniwersalnym urządzeniem, które możemy wykorzystać wszędzie tam, gdzie potrzebujemy prostego licznika,...
Witam. Nowy tu raczej nie jestem, bo przeglądam forum codziennie, ale zarejestrowałem się niedawno, bo wcześniej nie było potrzeby pisania :). No to się przywitałem, a teraz na początek: montuję sobie coś w rodzaju półautomatycznego spudguna, i chciałbym zamontować tam licznik amunicji :D. Multipleksowany 2cyfrowy LED, i Atmega8 (może i wystarczy mniejszy...
Zmienną unsigned volatile char fire_isr wykorzystałem w przerwaniu timera 2. [syntax=c]//-----WCISNIETO DZ_FIRE------------- ISR(TIMER2_OVF_vect) { fire_isr++; }[/syntax] Kod obsługi przycisku: [syntax=c] if(DZ_FIRE) //uruchom diode { if(key_dz_fire==0) { menu_poz=1; //przejdz do pierwszej pozycji menu TCNT2 = 0; //wyzeruj licznik timera fire_isr =...
Witam ponownie z kolejnym problemem! Otóż zabrałem się za budowę zegara na wyświetlaczach LED i szło mi dobrze, dopóki nie utknąłem przy obsłudze przycisku do ustawiania czasu. Przycisk podłączony jest do wyprowadzenia PB0 i podczas przyciskania, zwiera je do masy. Kod programu: int main(void) { // tu odbywa się inicjacja zegara, konfiguracja...
Dzięki za opdpowiedź. Jak popatrzysz to wait nie występuje między całym procesem liczenia i wyzwalania. ale poprawiłem https://obrazki.elektroda.pl/7516674100_... https://obrazki.elektroda.pl/6623358800_... https://obrazki.elektroda.pl/4639119400_... edit: jeszcze poprawiłem przerwanie na: [syntax=vbnet]...
Bardzo dziękuję za informację. Mam jeszcze jedno pytanie, związane z tym tematem. Dla większej jasności zamieszczam fragment kodu (tylko ta część, które jest tut istotna). Czy można w jakiś sposób oszacować czas potrzebny na wykonanie pozostałych instrukcji, abym mógł dobrać odpowiednią przerwę po instrukcji timer++? Mikrosterownik jest taktowany zegarem...
Witam temat mocno przed sezonem, poszukaj czujników indukcyjnych są one niezawodne, muszą pracować w warunkach przemysłowych i zniosą bardzo dużo, montaż ich jest bardzo wygodny, wystarczą trzy przewody i tyle, napięcie zasilanie różne zależy od typu i producenta są takie nawet od 6v do 24V, na alledrogo można trafić je już od 20zł, elektronikę z wyświetlaczem...
Charakter projektu: - uczę się :-) - miniaturowa zabawka (załóżmy breloczek do kluczy) - 1 przycisk (MAGIC BUTTON w skrócie MB) do obsługi całości - generuje dźwięki w zależności od sposobu przyciskania MB - bez wyświetlaczy diod itp. - zasada działania podobna do psa: zawołasz go to się z Tobą bawi do momentu gdy przestaniesz, chwilę czeka i jeżeli...
cls nie powinien tu być problemem. A przed wygłoszeniem opinii zapytałeś o częstotliwość sygnałów? Instrukcja CLS może zajmować np. 300ms. Czy 4 impulsy na sekundę to jest coś co przekracza możliwości AVR? A najlepiej sygnał taktujący zliczaniem podaj na pin INT0 lub INT1 i ustaw przerwanie żeby reagowało na zbocze. Bardzo dobre rozwiązanie, pod warunkiem,...
przeczytaj mój post dotyczący jak korzystać z manuala: http://www.elektroda.pl/rtvforum/topic17... przeczytaj go proszę, zajrzyj do manuala i postaraj się sprawdzić jak poustawiać bity. Aby użyć timera jako licznika impulsów podawanych np z przycisku czy czegokolwiek innego, należy go podpiąć pod odpowiedni pin (sprawdź jaki) i ustawić timer...
W oparciu o Wasze rady oraz [url=http://www.avrfreaks.net/index.php?... Guide to AVR Timers i przydatną stronę [url=http://www.et06.dk/atmega_timers/]A... Timer/Counter/Prescaler Calculator w wolnym czasie sklepałem taki kawałek kodu: [syntax=c]#include <avr/io.h> #include <avr/interrupt.h>...
Jeszcze coś nie gra. Zrobiłem układ, gdzie slave ma przycisk i zlicza naciśnięcia. Master odczytuje ze slave'a ilość naciśnięć i wyświetla na LCD. Wszystko działa za wyjątkiem zliczania. Dałem polecenie debounce i powinno zwiększyć zmienną o 1 i poczekać do puszczenia przycisku, ale nawet szybkie naciśnięcie zwiększa zmienną o kilkadziesiąt jednostek....
powalczyłam trochę z płytką i działa :) aktualnie mam program który po prostu zmienia kierunek naciskając przycisk. Teraz próbuję zrobić, by zliczał kroki podczas kręcenia. Jak się naciśnie guzik to zmieniał kierunek kręcenia, kręcił się taką samą ilość kroków jak za pierwszym razem. Gdy to wykona to znowu w następną stronę i tak w kółko. Ma to inicjalizować...
Z bascomem zacząłem jakiś miesiąc temu, w C zacznę programować jak jeszcze trochę poduczę się bascoma (już zacząłem, to skończę). Napisałem taki program: $regfile = "m8def.dat" $crystal = 1000000 Config Portb = Input Config Portd = Output Config Portb.0 = 1 Config Portb.1 = 1 Config Portb.2 = 1 Config Lcd = 16 * 2 Config Lcdpin = Pin , Db4 = Portc.3...
Mam wielką prośbę o pomoc. Mam napisać następujący program dla procesora atmega8 (pisze w AVRStudio). Na porcie B pin0 robi za pierwszego leda, pin1 za drugiego leda. Na porcie D pin0 robi za pierwszy przycisk, pin1 za drugi przycisk. Po naciśnięciu przycisku pierwszego miga LED1 co 1s. Po naciśnięciu przycisku drugiego miga LED2. Gdy nic nie jest naciśnięte...
zliczanie przycisków atmega8 podłączenie przycisków atmega8 zliczanie impulsow
poduszka siedzenie metalowo gumowe strzeliły korki komputer
licznik geigera mlody elektronik
ELOKON ECS – reset po zdarzeniu, procedura dla modeli ECS-1xx, ECS-2xx, ELOprotect Nice RBA2 – jak wyłączyć fotokomórkę w sterowniku bramy ROBO/RB?