To jak sprawdzasz to sprawdzaj w rejestrze PIND, a nie PORTD, w którym jest to co do niego zapisałeś.
Mogą to np być filtry drgań zestyków albo jakieś "usprawniacze" albo np podciąganie pinów do VCC (AVR mają wewnętrzne pullup'y). Schemat który pokazałeś to najprostszy schemat klawiatury 4x4.
Ja do obslugi klawiatury uzywam przewaznie kodu, ktory jest w plikach w zalaczniku. W głownej peti programu musisz umiescic wywołanie Key_Service(); i zadbać o to, aby w przerwaniach od timera odpowiednie zmienne byly deinkrementowane.
Jeśli możesz zmienić połączenie klawiatury z uC , to zainteresuj się funkcją Getkbd w Bascomie , bo to najprostsze rozwiązanie dla początkującego , a schemat połączeń jest dostępny w pliku pomocy Bascoma. Piotrek
No to gratulacje - i o to chodzi !!
Chciałbym kupić jeden z tych zestawów uruchomieniowych i prosze o opinie. Chciałbym pozanać wasze zdanie o ich wyposażeniu. Moduł ZL12AVR opracowano z myślą o ułatwieniu powszechnego stosowania mikrokontrolerów ATmega16 przez konstruktorów, którzy nie mogą lub nie chcą inwestować w zautomatyzowany montaż elementów o relatywnie gęstym rastrze rozmieszczenia...
Tak. Teraz jest jak najbardziej ok. A z tą klawiaturą to faktycznie zamuliłem. Przecież to matrycowa... pozdr, JnS
Tylko ile się zwiększy program po użyciu sprintf. Lepiej użyć itoa.
Witajcie moi drodzy. Udało mi się obsłużyć (częściowo) klawiaturę matrycowa. Proszę o sprawdzenie kodu (kod bazuje na przykładzie dondu bo przez rs232 wysyłam to co kliknięto) http://obrazki.elektroda.pl/2692005700_1... 1. Co można ulepszyć/usprawnić? 2. Czy idea (oraz tryby pracy portów) są poprawne? 3. Czy wartość rezystora jest odpowiednia?...
Po ustawieniu portu w rejestrze PORTx musisz odczekać przynajmniej jeden takt zegara przed sprawdzaniem rejestru PINx. Możesz dodać intrukcję assemblera NOP.
Witam, Zaprojektowałem sterownik, który docelowo ma służyć do włączania różnych urządzeń elektrycznych. Włączanie ma odbywać się za pomocą klawiatury matrycowej 4x4 oraz/lub pilota (RC5). - Zasilanie układu to +5V z zasilacza stabilizowanego (dlatego w projekcie nie ma stabilizacji napięcia zasilającego). - Dioda podłączona do mikrokontrolera ma spełniać...
Witajcie. Ostatnio zmagam się z obsługą klawiaturki analogowej składającej się z 3 klawiszy. Poradziłem sobie z uruchomieniem ADC na ATmedze8 i zrobiłem sobie 2 Timery programowe . Teraz próbuje zgodnie z przedstawioną przez Mirka (w filmach z cyklu "Przetwornik ADC - część 06") koncepcją zrobienia repeat klawiszy. https://www.youtube.com/watch?v=BdCCe6XO...
Witam. Czy mógłby ktoś z forumowiczów podpowiedzieć jak napisać w bascomie program realizujący funkcję klucza - coś a'la 4066?
Prosze o sprawdzenie schematu. Chce wykrywac nacisniecia klawiszy klawiatury od C64. Klawiatura jest 8x8, zatem potrebuje 16 pinow na schemacie oznaczonych jako KB_CON1 do KB_CON4. Na KB_CON1 i KB_CON3 bede wystawial jedynki i potem odczytywal piny z KB_CON2 i KB_CON4. CON4 i CON1 sa podpiete do tych samych pinow i wybor aktywnego zlacza klawiatury...
Otóż napisałem taki programik, ale po wciśnięciu dowolnego klawisza klawiatury dostaję zawsze 1 zamalowany prostokąt. Przed mainem deklaruję zmienne volatile. W mainie żądam przerwania zboczem opadającym na int0 W przerwaniach składam daną, nie zrobiłem zabezpieczenia przeciw 'fałszywemy' zboczu, ale nawet gdyby powało to powinienem odbierać różne krzaki......
Witam! Wiem, że na tym forum jest już dużo tematów z klawiaturami, ale mało dotyczy języka C/C++... Mam klawiaturę matrycową 3x4 podłączoną do portów PD0-PD6. Porty 0-2 mam ustawione jako wyjścia a kolejne cztery (3-6) jako wejścia. Chciałbym napisać program, który odpowiednim klawiszom przypisuje jakąś zmienną. Kolejna sprawa jest taka, że nie wiem...
Atmega8. Mam taki fragment kodu, powtarzany w nieskończoność: if(++licznik>60)licznik=0; if(licznik<30) p=1; else p=0; Problem polega na tym, że p zwraca zawsze wartość 0. Tak samo zachowuje się druga, podobna procedura. Mikrokontroler poprawnie komunikuje się z zewnętrzną pamięcią i z wyświetlaczem, ADC i PWM działa, ale ignoruje...
Witam, Używam przetwornika A/C w atmega'e do odczytu wartości z różnych czujników tzn. fotorezystor(ADC2), analogowy przetwornik temperatury(ADC0) i mikrofon pojemnościowy(ADC3). Problem sprawia mikrofon którego wartość jest skorelowana z fotorezystorem. Pomiar woltomierzem pokazuje prawidłowe wartości (tzn. napięcie zmienia się w zależności od glośności...
Witam! Próbuję złożyć i zaprogramować kontroler ATmega8 tak by działał jak CMOS 4017 jako T flip-flop. Ogólne rzecz biorąc układ ma działać tak, by przy klaskaniu dioda zmieniała kolor. Całość ładnie działa przy CMOSie, natomiast mam problemy z podłączeniem ATMegi i jej poprawnym zakodzeniem. Schemat wygląda następująco: http://obrazki.elektroda.pl/6746701400_1...
Poniżej zamieszczam program. Nie mogę wymyślić w jaki sposób po naciśnięciu kombinacji dwóch przycisków np 1 i 2, wyświetlacz się wyczyścił, ale też żeby funkcje tych przycisków zostały zachowane czyli jak nacisnę klawisz 1 to ma się wyświetlić "1", jak drugi "2" jak wcisnę pierwszy potem drugi i je puszczę to wyświetlacz ma się wyczyścić (LCD_CLEAR;)...
Zmagam się z rejestrem, którego ma ATmega8 symulować, ale nie przyjmuje Danych na rosnącym zboczu CLK. http://obrazki.elektroda.pl/2487102600_1...
Chce zacząć zabawe z mikrokontolerami i mam wiele planów wykorzystania ich ale nie za bardzo powinienem snuć te plany nie znając możliwości atmegi8.Planuje zacząć od atmega8 i najbardziej mnie ciekawi jak to jest z podłączeniem lcd i wyświetlaniem tekstów(czy jest konieczny do tego pc czy można zbudować odzielny układ (płytke)który porzdzi sobie z wyświetlaniem...
Na forum jest już wiele podobnych tematów, ale postanowiłem się czegoś nauczyć w te wakacji i samemu zbudować podobny projekt. Feczjurs: - wyświetlanie bitmapy monochormatycznej na LCD z 3310 - wysyłanie bitmapy przez RS232 i zapisywanie jej na eepromie (24LC256) - zwyczajowo pilocik na podczerwieni (36kHz) - zegar i kalendarz na PCF8583P - serce ATMega8...
Witam wszystkich, mam układ mniej więcej taki jak tu: http://www.hobby.abxyz.bplaced.net/img/a... Różni się tylko liczbą rzędów i kolumn a więc i podłączeniem do uK(atmega32), ale to nie ma znaczenia. Napisałem program który z jednej strony ma wejścia podciągnięte do Vcc a z drugiej wyjście które przemiatają zerem(w danej chwili tylko...
Witam robię projekt tzw przełącznika akustycznego (clapper) na atmega8 i proszę o sprawdzenie poprawności kodu ?jesli zły dział to proszę o przeniesienie http://obrazki.elektroda.pl/9114142600_1... [code][syntax=c]#include <avr/io.h> #include <avr/delay.h> int i = 100; void adc_init() { ADCSRA = 0x8F; //enable adc, prescaler...
Jeszcze nie używałem tego symulatora ale spróbuję. Co do kodu jest poprawny okazało się, że miałem JTAG włączone. Atmega32 dopiero pierwszy raz programuje. Na szczęście pomierzyłem miernikiem stany na porcie C i nawet udało mi się nie wygenerować tysięcznego posta na ten temat. Pozdrawiam i dzięki za podpowiedź. z pow. Oskar
Hej. Za bardzo nie kumam co to urządzenie ma robić. Poza tym napisz dokładnie gdzie masz podłączoną diodę. Czy ta dioda jest podłączona do linii ABC i KOL1 czy może jest zapalana z całkiem innego potu. Jeśli chodzi o samo badanie stanu na przełącznikach to ja linie A,B,C ustawił bym jako wejścia reagujące na stan wysoki. A KOL 1 ustawił bym jako wyjście...
Moim zdaniem schemat niczego nie wnosi gdyż jest podłączona klawiatura matrycowa do portu d wyświetlacz do portu c a dioda do inu 0 portu b. Ma ona się zapalić kiedy zostanie wciśnięty klawisz w celu zwiększenia wartości zmiennej, która ma odpowiadać za ustalanie cyfr jedności dziesiątek itd. aby wprowadzać liczby kilku cyfrowe z klawiatury. Ok mam...
Problem rozwiązany , użyłem standardowej komendy dla klawiatury matrycowej w Bascom
Jeśli możesz to załącz tę procedurę.
Poszukuję niewielkiej klawiatury, którą możnaby łatwo obsługiwać Atmegą8, tanią, najlepiej z jakąż aluminiową osłonką, aby przykręcić do ściany razem z wyświetlaczem. Gdzie taką kupię?
Faktycznie działa tak samo, ale problem pozostał. Nadal 1. kolumna jest przesunięta na koniec. Dodano po 34 Problem rozwiązany, wystarczyło dodać delay po zmianie stanu na porcie B. Niby 1 us ale wpływa na działanie programu. Najwidoczniej bez opóźnienia nim stan się ustabilizował to pętla przeszła już do następnej iteracji. Niby drobnostka, a zabrała...
1. DJ West - Tygodniowy sterownik urządzeń zewnętrznych (z podziałem na dni powszednie i weekendy), LCD, klawiatura matrycowa 3x3 - ATmega8 - C 2. DJ West - Termometr DS18B20 + LCD - ATmega8 - C 3. DJ West - to co wyżej, ale tym razem po RS232, do komunikacji z botem temperaturowym na GG - ATmega8 - C 4. DJ West - Światełka choinkowe (z potrzeby chwili...
Słuszna uwaga, jednak po pozbyciu się wczoraj błędów ani razu nie zdarzyło się tak ażeby jakiś klawisz "wstukał się" kilka razy. Pętla while() widać załatwia sprawę :)
Czy może chcesz się komunikować z klawiaturą PC ?? Bo jesli tak to mozna wykożystać gotowe rozwiązania. W kwestii sprzętowej KBD_CLOCK podłanczamy do CLK(INT) - synchronizacja transmisji, KBD_DATA do DATA- transmisja szeregowa. Z drugiej jednak strony jak potrzebujesz niewielkiej liczby przycisków to czy nielepiej zrobić klawiaturę matrycową na paru...
Nie wiem czy sam pisałeś program czy może wziąłeś gotowca ale z funkcją getkbd() jest taka sprawa, że: "Funkcja GETKBD() zwraca numer naciśniętego klawisza, w klawiaturze matrycowej, podłączonej do portu mikrokontrolera. Gdy nie naciśnięto żadnego z klawiszy funkcja zwraca liczbę 16." i "Ponieważ funkcja zwraca numer umowny klawisza w matrycy, można...
Witam, Chciałem podłączyć klawiaturę (a właściwie folię) od komputerka Spectrum do Attiny 2313/Atmega8 (chyba tego drugiego, gdyż potrzebuję też programowe USB). Połączyć to trzeba na zasadzie klawiatury matrycowej, ale jak napisać program??? Które piny jako wyjście, a które jako wejście??
Cwiczylem Bascoma i rozne inne kompilatory ale nic z tego nie kumam. Klawiatura nie ma byc PC ( za wielka) tylko jakas samorobka matrycowa 8x5 lub cos takiego. Nie bardzo widze jak za to sie zabrac.
Tak. Stan wyjściowy portu ustawiany jest natychmiast po zapisie do rejestru PORT ( w trybie wyjścia rzecz jasna), a dopiero przy następnym takcie zegarowym aktualizowana jest zawartość rejestru PIN. Przerobiłem ten problem przy obsłudze klawiatury matrycowej
Problem typowy dla układów zasilanych bateryjnie - może ktos przerabiał lub spotkał sie z problemem (oraz jego rozwiązaniem). Opis sytuacji: Układ elektroniczny (mikrokontroler np AtMega8 lub 89c2051 + klawiatura matrycowa 16 klawiszy - 4x4 i niewiele ponad to) Rozwiązanie 1: zasilanie takiego układu cały czas w oczekiwaniu na nacisnięcie klawisza -...
Nie do końca rozumiem o co Ci chodzi. Dwie funkcje (wejście i wyjście) mogą być realizowane na tym samym pinie I/O, ale trzeba wszystko przemyśleć, żeby przez przypadek nie doszło do zwarcia. Np. można podpiąć klawiaturę matrycową równolegle z pinami sterującymi wyświetlaczami LED, ale trzeba dodać odpowiednie rezystory, aby w czasie działania pinów...
Gdy podłączasz jakikolwiek element sterowany prądowo, lub jakiś Mos-fet kluczowany większą częstotliwością, to opornik obowiązkowy. Ale w temacie są microswitche, więc wchodzi do niego zwykły łącznik, klawiatury matrycowe, kontaktrony..., wszystko mechaniczne na wejściu procesora. Nie spotkałem się z przypadkiem zabezpieczania wejść stopni końcowych...
BlueDarco, no fajnie, każesz gościowi pobierać prąd ze źródła napięciowego zaznaczając tylko jeśli rezystory nie są za małe Skoro to ma być klawiatura rezystancyjna to robisz tak: 1. Konfigurujesz źródło napięcia odniesienia na napięcie zasilania procesora. 2. Górny koniec drabinki podpinasz pod to samo napięcie, którym zasilany jest procesor. Masz...
Jeżeli chcesz używać klawiatury matrycowej to musisz dla niej poświęcić cały port. Nie ma szans żebyś pogodził lcd i klawiaturę na tych samych wyprowadzeniach portu. Klawiaturę podłącz do portu B lub C a wyświetlacz do portu D. W ten sposób pozostają ci jeszcze 2 piny (INT0,INT1) dzięki którym zrealizujesz transmisję w podczerwieni. Pozdrawiam Dawid.
Wow! Mam nadzieję że nie tylko mnie się przyda ten program z "jedno-rzędową klawiaturą matrycową" :), ale skorzystają też inni tym bardziej, że program jest jak dla mnie "mega" dopracowany. Zastanawia mnie tylko jak to się dzieje że na końcu programu brakuje "end If" i kompilator nie pokazuję że błąd? Dziękuje i pozdrawiam!
kol. assembler ja z racji olbrzymich zapasów zatrzasków typu 74HC373 i 74 HC273 preferuję transmisję równoległą :) To kwestia "złomu" jaki się posiada ale kol. autor miał chyba na mysli prostotę układu a każdy dodatkowy scalak to jakby nie było komplikacja ale cena ATMEGA16-16PU 9,39 PLN, ATMEGA88-20PU 7,39 PLN albo ATMEGA8-16PU - 4,99 PLN uzmysławiawia...
Do sprzedania mam komplet za pomocą którego możesz od razu przystąpić do nauki programowania mikrokontrolerów AVR!! - zestaw znanej i cenionej firmy Kamami ZL10AVR , również tej samej firmy programator ZL2PRG , wyświetlacz LCD 2x16znaków, komplet przewodów do zestawu plus oprogramowanie. Całość jest nowa! http://obrazki.elektroda.pl/5759189100_1...
Witam Proponowałbym zastosowanie klawiatury matrycowej. Ta sama ilość klawiszy wykorzytuje nie 3x4=12 pinów portów, ale 3+4=7. Jesli planujesz w przyszłości podpięcie LCD, to oczywiście w konfiguracji 4-bitowej - też ograniczysz wymaganą ilość użytych pinów. Polecam też zainteresowanie się mikrokontrolerem ATMega8. Bardzo fajny sprzęt - peryferia i...
Widzę, że nie orientujesz się w temacie, więc zrób coś prostego - wyświetlacz LED 7seg - zegarek, stoper - wyświetlacz LCD HD44780 - prosty notatnik z zapisywaniem i odczytywanie pamięci EEPROM - rejestrowanie danych z termometru LM35 do EEPROMu i tym sposobem wykorzystasz ADC - pomiar napięcia zasilającego, pradu pobieranego przez mikrokontroler lub...
Witam, zabrałem się za tworzenie systemu alarmowego opartego o procesor atmega8. Główne założenia: - Posiadanie 3 typów wejść - posiadanie 3 wyjść - klawiatura (matrycowa 3x4) do wprowadzania kodu i aktywacji systemu Dla wyjaśnienia pokaże i opisze jak to mniej więcej ma działać: http://obrazki.elektroda.net/22_12617347... http://obrazki.elektroda.net/80_12617347...
Dlatego woli, że ten pull up to rezystor o wartości rzędu dziesiątek kiloomów, twój klawisz to rezystor o wartości rzędu miliomów. Więc prąd tak jak człowiek, woli iść po linii najmniejszego oporu. Co do metody - masz klawiaturę matrycową, należy ją multipleksować, wybierając za każdym razem jedną aktywną kolumnę. Pozostałe muszą być nieaktywne. Zastanów...
Witam Nie znam schematu dlatego trudno mi jest powiedzieć czy program jest napisany dobrze. Być może jest tam klawiatura matrycowa i obsługuje się ja nieco inaczej niż klawisz podpięty pod port. Druga sprawa to deklaracja portu na początku programu. Najpierw deklarujesz cały port jako wejście a następnie deklarujesz każdy pin z portu C osobno. Tak być...
Ja robiłem coś takiego. Układ wykorzystywałem do automatycznego polewania stropu wodą w upalne, letnie dni. Całość składa się z: - uC AVR ATMega8 - układu zegara PCF8583 z CR2032 - klawiatury matrycowej 4x4 - wyświetlacza LCD - klucza tranzystorowego do sterowania elektrozaworu wody 12V - stabilizatora 5V Możliwości układu: - ustawianie aktualnej godziny...
Witam! Od jakiegoś czasu tworzę sobie prostą centralkę alarmową na mikrokontrolerze ATMEGA8. Wszystko działa ładnie, ale czym byłby alarm bez klawiatury? :) Myślałem nad dodaniem klawiatury matrycowej (16 klawiszy na 8 pinach), ale postanowiłem stworzyć coś innego. Na początek stworzyłem prosty układ z 3 guzikami (widoczny na obrazku - mam nadzieję,...
To tzw. "iskrzenie" zwane profesjonalnie drganiami zestyków likwiduje się na drodze programowej (kolega ma zestaw rozwojowy i pewno nie będzie tam dolutowywał kondensatora). Wprowadza się tak jak moi poprzednicy pisali opóźnienie i sprawdza czy rzeczywiście przycisk został wciśnięty. Ja w przypadku większych klawiatur obsługiwanych matrycowo obsługuje...
Bez problemu mozna zrobic obsluge klawiatury matrycowej, LCD, RS, ADC na jednym timerze + petla glowna a efekt sekwencyjnego wywolywania kodu jest i tak niewidoczny dla uzytkownika. Jak chcesz migac 3 diodami, np. 1 co sekunde, 2 co dwie sekundy, 3 co trzy sekundy to bez problemu zrobisz to na timerze wywolywanym co sekunde. A i tak jest to przerost...
Myślisz, że ktoś Ci zaprojektuje to na podstawie zdjęcia? Jestem zdecydowanie przeciwny wszelkim zestawom typu wszystko-w-jednym, bo szybko się okazuje, że czegoś jednak brakuje i ciężko to coś dorobić. Poza tym ucz się jak coś podłączyć pod mikrokontroler, a nie pod zestaw uruchomieniowy. Kup sobie na Allegro płytkę stykową, zrób sobie jakieś kabelki...
1. Schematu jak powiedziałem nie będzie 2. Nie wykorzystałem miejsca, bo na wszystko by i tak nie starczyło i wtedy poza tym na samej płytce byłaby plątanina kabli - a tego nie chciałem. 3. Program po malutkiej modyfikacji może obsłużyć matryce o rozmiarach do 56*8 (buforem jest tu zmienna 64-bitowa). Po dalszej modyfikacji (trochę większej) można sterować...
Kod jest chyba strasznie nieprofesjonalnie napisany bo zajął mi aż 44% pamięci procesora. Tak to już jest na początku :D Zaczniesz myśleć o optymalizzcji jak Ci będzie pamięci brakować. Kiedyś na studiach mieliśmy napisać program do obsługi klawiatury matrycowej w asemblerze dla 8051. Nie wiem dlaczego ale każdy robił to w teoretycznie najprostszy...
Chcesz wyzwalać przerwanie w chwili naciśnięcia klawisza ? Tak zrozumiałem, jeśli nie masz za wiele tych klawiszy w układzie np. 2 to możesz je po prostu podłączyć wprost na końcówkę odpowiedzialną za wyzwolenie przerwania INT0, INT1. Pamiętaj tylko o tym aby przełącznik spolaryzować do plusa zasilania opornikiem oraz równolegle do niego podłaczyć kondensator...
http://obrazki.elektroda.pl/7596025200_1... Witam, ostatnio prezentowałem zegar binarny na Atmedze8 ( http://obrazki.elektroda.pl/9619037400_1... http://obrazki.elektroda.pl/5680076100_1... http://obrazki.elektroda.pl/1690624200_1... http://obrazki.elektroda.pl/7306468700_1...
Witam. ATmega8 avr-gcc (na linuksie) programator na USB zgodny z stk500v2 Eksperymentuje sobie z Tym prockiem i mam mały problem. Wejścia µC są strasznie wrażliwe na.... właśnie... nie bardzo wiem na co, ale podejrzewam zewnętrzne pola elektryczne. Otóż napisałem prosty programik, który z początku wyglądał tak: int main(void){ DDRC...
Już kiedyś się przejechałem na tego typu uniwersalnych płytkach. Kupiłem kiedyś AVT-3500 i płytka była tak uniwersalna, że po miesiącu trafiła do szafy i ciągle tam leży. Koniecznością jest taka płytka, która umożliwia podłączenie wszystkiego, a nie tylko tych elementów które znasz. Np. jak do tego podłączyć wyświetlacz HD44780 z czterema liniami? On...
http://obrazki.elektroda.pl/3531137600_1... Wprowadzenie Od dłuższego czasu nosiłem się z zamiarem przerobienia jakiegoś małego, taniego syntezatorka. Miałem niezwykłą ochotę posiąść małe, bateryjnie zasilane urządzenie z wbudowanym głośnikiem, na którym mógłbym sobie pograć w wolnych chwilach. Początkowo chciałem dokonać prostego circuit-bendingu,...
Witajcie, nadszedł czas na stworzenie pcb pod resztę mojego układu który docelowo ma być kalkulatorem. Na płytce, której schemat chcę wam pokazać, abyście wytknęli mi ewentualne błędy (a jestem prawie pewny, że jakieś się znajdą, gdyż to mój pierwszy projekt) znajduje się podłączenie atmegi8 + wyświetlacza wc1602a. Wyprowadzone jest gniazdo do programatora...
klawiatura matrycowy atmega klawiatura matrycowy klawiatura matrycowy timer
lexia sterowniki interfejsu przyczepka światła spalać scania
odblokować sterownik eberspacher płyta amica ceramiczna
Moment dokręcania przewodów paliwa w różnych pojazdach Beko Air Conditioner Interface: Remote, Display, Wi-Fi, Error Codes, and Troubleshooting