To o czym tak dyskutujecie jest zestandaryzowane w tym sensie że kupując lub zamawiając klawiaturę u producenta podajecie mu parametr nKRO gdzie n jest ilością klawiszy naraz wciśniętych bez "ghosting"-u. Czyli klawiatura 4KRO może działać poprawnie do 4 klawiszy 10KRO - 10 klawiszy. Poszukaj w azji firm - wiele robi na zamówienie już od 5-10szt za...
Można spróbować wyzerować stan przycisku '#': [syntax=c] if (key == '#') { int __index = keypad.findInList('#'); if (__index != -1) keypad.key[__index].key_update('#', IDLE, false); delay(2000); break; }[/syntax]
Prowadzący może też docenić Twoje eksperymenty, których efektem jest opinia o całkowitej nieprzydatności tego mechanizmu w projekcie. Możliwość podłączenia przerwania masz w zasadzie wszędzie. Sens, przynajmniej w projekcie który przedstawiłeś, niestety nigdzie wg mnie...
Ja we wszystkich urządzeniach robię klawiaturę bardzo prostą. Matryca bez optoizolacji, rezystory podciągające są wewnętrzne, włączane tylko na czas odczytu, żadnych kondensatorów, diod etc. Cała reszta to program - skanowanie, filtracja drgań styków oraz zakłóceń. Działa to dobrze nawet przy wysokim poziomie zakłóceń. Algorytm działania jest podobny...
Rozumiem, że pin PD7 będzie miał włączony rezystor pull-up, a odczytać chcesz stan dolnego przycisku, czyli litery A, Zastanów się więc w jaki stan powinieneś ustawić pin PC0, by zwarcia nie było, a jednocześnie stan przycisku A moża było odczytać bez użycia rezystorów. Odpowiedzią jest właśnie: ... czytałem o tym, by i tak kolumny zamiast wyłączać...
Sygnały kolumn powinny być wzięte z przed rezystorów zasilających bazy tranzystorów. Same rezystory też powinny mieć co najmniej 2k2
Rzuciłem okiem w jakiś swój trochę już stary kod na 18F14k22 i widzę że stan czytam np tak: PORTCbits.RC0 Ty używasz LAT*, które służą do zapisu stanu wyjść, tak mam to zrobione. Ponadto, dla wszystkich wejść które mają kanał A/D wyłączam to funkcjonalność tak: ANSELbits.ANS4=0; BTW: ten kod do pobranie pod poniższym linkiem (sterowanie oświetleniem)
Jeśli kolega używa do programowania ISP-a albo boot loadera (np. port szeregowy) to śmiało można a nawet trzeba wyłączyć JTAG. Widzę, że jest włączony też SPI i pewnie on jest używany do programowania przy pomocy np. STK200 Pozdrawiam Adam
Oszczędnie to by było jakbyś zrobił na jednym pinie ;) Idea ze strony 9: http://ww1.microchip.com/downloads/en/De...
Obsługa klawki 4x4 void KBD_init(void) { KBD_DIR = 1<<KBD_col1 | 1<<KBD_col2 | 1<<KBD_col3 | 1<<KBD_col4 | ~(1<<KBD_row1 | 1<<KBD_row2 | 1<<KBD_row3 | 1<<KBD_row4); KBD_PORT = 0xFF; }; unsigned char KBD_read(void) { KBD_PORT=0xff; KBD_PORT &= ~(1<<KBD_col1);...
2*10 + 3
A mi się udało znaleźć. I to na stronie producenta bascoma. Wpisałem w google "bascom getkbd" :) https://avrhelp.mcselec.com/index.html?g... [syntax=vbnet]'-------------------------... 'name : getkbd.bas 'copyright : (c) 1995-2005, MCS Electronics 'purpose : demo : GETKBD 'micro : Mega48...
Rozmawiamy o kodzie z tematu, więc dlaczego oftopic. Czy ten kod od michalko12 był uruchamiany na wersji z diodami czy z opornikami? Albert
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.
Miałem kiedyś swego czasu tego typu klawiaturę. Od spodu jest laminat przykręcony dwiema śrubkami. Odkręcasz i masz dostęp do wnętrza.
/* synthesis xc_pulldown = 1 */ NET "SWITCH1" LOC = "P18" | IOSTANDARD = LVCMOS33 | PULLDOWN = yes; Tam jest tylko weak pull-up: http://obrazki.elektroda.pl/5012018900_1...
U mnie diody raz działały raz nie :(. Zrobiłem sobie tak :) Po obsłudze przerwania wystawiam 0 na wiersze i sobie czekam aż przyjdzie kolejne przerwanie :)
Badaj stan bitów w ten sposób: if (PINB & _BV(PINB4))... raczej if (!(PINB & _BV(PINB4))) //czy=0 lub po "ludzku" if(bit_is_clear(PINB,PB4)... Kod który przytoczyłeś realizuje coś takiego: if (4==0)... To dla przykładu z PINB4, raczej nie bedzie działać :-) Ten kod nic nie realizuje - kompilator go ignoruje....
Witam. Przy analizie układu można założyć, że do wejścia INTO nie wpływa żaden prąd. Jeśli żaden z przycisków nie jest zwarty do masy, to różnica potencjałów A-K jest równa zero (na obu elektrodach mają jednakowy potencjał). Zwarcie jednego wiersza z masą powoduje przepływ dwóch prądów: pierwszy płynie przez rezystor podciągający katodę (równy jest...
1. Tak jak w helpie 2. No cóż taka konstrukcja. Widocznie ktoś to tak wymyślił, na szczęście da się połączyć w matrycę 3x4 3. Daj, nie oszczędzaj. Pozdrawiam
Generalnie OK. 1. Do pinu CD+ ULN-a dodaj kondensator elektrolityczny, 2. Niewykorzystane tranzystory z ULN, podpiąłbym do gnd po stronie pinów Ix. 3. Podświetlanie podpiąłbym pod pin mikrokontrolera, by móc nim starować - sprawdziłbym najpierw ile prądu pobiera podświetlanie, gdyż: http://mikrokontrolery.blogspot.com/2011...
Samuraj otóż niestety nie działa Ponieważ trzeba podać wskaznik (char*)
Procedura getkbd zwraca 0 gdy nie naciśniesz zadnego klawisza (albo jakas inna wartosc). Musisz zrobić tak, aby po naciśnieciu dowolnego klawisza program czekal na wartosc 0 a dopiero pozniej jezeli odbierze jakas wartosc to niech zapisuje to do tablicy. Np: dim x as byte dim i as bit do x=getkbd if x= 0 then i=0 end if if x<>0 and i =0 then tablica=x...
Jednocześnie z biblioteczką, którą zamieściłem wcześniej, stworzyłem kiedyś, biblioteczkę do obsługi klawiatury 4x4 w której wszystkie kolumny i wiersze mogą być podłączone do dowolnych nóżek procesora AVR. Nie musi to być jeden port i nie musi być zachowana żadna kolejność. W załączniku zamieszczam omawiany kod źródłowy. Wystarczy tylko wypełnić makra...
1. Odpowiedz na pytanie kolegi milika. 2. Pokaz wiecej kodu. 3. Po co sprawdzasz flage Z (nie znam tego jezyka wiec pewnie do konstrukcji for i=1 to 3 )? BF
To nie ma prawa działać. Zacznij od ponownego sprawdzenia połączeń klawiatury i wyrysuj na nowo jej 'sieć'. Wg tego co narysowałeś, to jesteś w stanie badać tylko lewą kolumnę przycisków, reszta i tak jest pozwierana kolumnami. Sprawdź to, a potem przejdziemy do programu.
Po wywołaniu WAIT_KEY kod klawisza masz w akumulatorze i zpisujesz wszystkie "próby" na stosie do czasu aż zakończysz 0x0A. Potem zdejmujesz tylko te dwa ostatnie znaki (0x0A) i ten kod. A wszystkie pozostałe nie są ze stosu zdejmowane. Masz wtedy niezrównoważony stos. Musisz mieć tyle samo rozkazów POP ile PUSH, bo inaczej Ci się stos przepełni dość...
Może zmniejsz prędkość obsługi klawiatury. Zwykle jest to bardzo szybkie a w tym przypadku trzeba zdecydowanie spowolnić.
To jak sprawdzasz to sprawdzaj w rejestrze PIND, a nie PORTD, w którym jest to co do niego zapisałeś.
Musisz wyzerować flagę, a czy zrobisz to normalnie czy przy użyciu tej bzdurnej biblioteki to już nie ma znaczenia. 4\/3!!
nie wiem po co ci takie cos.... ja bym zrobil tablice dim tablica(16) as integer tablica(1)=11 'to co ma sie pojawic zamiast 1 tablica(2)=22 tablica(3)=33 B = Getkbd() a wywolywac np.tablica(B) i przypisywac do C. no nie wiem,chyba tak ... pozdrawiam
DS 13.2.4 Reading the Pin Value
Po ustawieniu portu w rejestrze PORTx musisz odczekać przynajmniej jeden takt zegara przed sprawdzaniem rejestru PINx. Możesz dodać intrukcję assemblera NOP.
Jak dołączyc kondensator -masz pokazane na rysunku poniżej. Jednak jeśli działa dobrze bez kondensatorów to nie ma powodu aby je dawać. Pozdrawiam Yakuza
widze że używasz trocze procedur i mam pytanie czy zmieniałeś wielkość stosów w bascomie ??? to też może być przyczyną. niedopatrzałem się też konfiguracji UARTA. dodatkowo jak wstawiasz kod na forum to ujmuj go w znaki code to będzie bardziej czytelny
Najprawdopodobniej we fusebitach masz WŁĄCZONY interfejs JTAG (bit JTAGEN), co powoduje, że piny PC5..2 są "zablokowane" Musisz wyłączyć we fusebitach interfejs JTAG, tak będzie najprościej. Możesz też spróbować na samym początku programu: [syntax=basi4gl] MCUCSR=&B10000000 MCUCSR=&B10000000 'koniecznie ta linijka ma być 2 razy - to celowe [/syntax]
Musisz sobie utworzyć coś w rodzaju wskaźnika do tablicy. Może to być np int, który będzie wskazywał na kolejne indeksy w tablicy. Wpisujesz zmienną do tablica[indeks] i zwiększasz indeks.
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
Może to była klawiatura matrycowa?
Klawiature musisz potraktować jak jeden zwykły przycisk. Tyle że zwykły przycisk ma stan wysoki jeśli nienaciśnięty a ten przycisk zwraca 16 jeśli nienaciśnięty. Napisałem na szybko dwa przykłady. Jeden działa bezposrednio na wartosciach a drugi na stringu [syntax=vbnet] Dim Key As Byte Key_val As Byte , Lock As Byte , Licznik As Byte Dim Val_str As...
To jest klawiatura matrycowa. Obsługuje się ją tak jak wszystkie klawiatury matrycowe. Na wiersze (kolumny) podajesz po kolei napięcie z pinów procesora. Stan sprawdzasz za to na kolumnach (wierszach). Jeśli wykryjesz napięcie na danej kolumnie to wiesz jaki klawisz został wciśnięty bo wiesz na jaki wiersz podałeś napięcie. Trzeba to robić w pętli bez...
Tak, możesz je tam przylutować, tylko pamiętaj, że jest to klawiatura matrycowa.
Przymierzam się do budowy tego joy'a. Wszystkie przyciski są sprawdzane jako klawiatura matrycowa i prawie jestem pewny że nie ma limitu nacisniętych przycisków.
1. Tak, to klawiatura matrycowa - poszukaj na forum jak się takich obsługuje - zwykle użytkownicy biorą się za klawiaturki 4x4, ale to tylko kwestia większej ilości pinów. 2. Zapewne tak 3. Tak, powinieneś usunąć zwarcia z tych przycisków - bez tego praca z klawiaturą matrycową Ci nie wyjdzie 4. Albo podpinasz omomierz/piszczek do danych 2 styków i...
Sam sobie odpowiedziałeś - nie jest to możliwe. Popularne klawiatury matrycowe nie są przystosowane do wykrywania naciśnięcia kilku przycisków na raz, bo rzadko jest takie wymaganie. Powiedziałbym, że jest to ergonomicznie dosyć karkołomne.
Optotriak się nie nadaje. Zastosować transoptor lub przekaźnik półprzewodnikowy
Witam, Natknąłem na problem, z którym nie mogę sobie poradzić. Mam klawiaturę muzyczną 49 klawiszy, która połączona jest w sposób matrycowy, 10 kolumn po 5 wierszy. Klawiaturą struję tak, że w każdym obiegu pętli ustawiam jedynkę na kolejno każdej kolumnie, odczytując stany wysokie na każdym wierszu. Z tego obliczam numer naciśniętego klawisza. Kod...
Ale nie do GND Poczytaj o klawiaturach matrycowych lub sekwencyjnych np tu: http://rafal_korupczynski.users.sggw.pl/... proponuję zaadoptować układ typu biegające światło(ne555 + cd4017) zastępując diody miniaturowymi przekaźniczkami. Można też transoptorami ale trzeba sprawdzić czy wyższy potencjał ma wiersz czy kolumna w klawiaturze i...
Z takim LCD będzie ciężko się "dogadać". Proponuje zakupić zwykły lcd np. 2x16 ze sterownikiem HD44780. Do tego można łatwo dobudować klawiaturę matrycową. Jeżeli nie masz doświadczenia to polecam Bascom.
Witam. Jedyne co mi przychodzi do głowy to program Jagoda. Jest to komputerowy symulator systemu DSM-51, opartego o mikrokontroler 8051. Posiada takie peryferia jak dioda, buzer, wyświetlacz 7-segmentowy, wyświetlacz LCD, Klawiatura matrycowa i sekwencyjna. Pozdrawiam
... czy piny analogowe mogą mi zastąpić cyfrowe jeśli chodzi o tę klawiaturę matrycową ;) A czemu nie zrobić klawiatury na ADC?: http://mikrokontrolery.blogspot.com/2011...
Mam napisać program : -po naciśnięciu klawisza klawiatury matrycowej dioda będzie migała co sekunde ale mam co zrobić wykorzystując przerwania timera sory mistrzu ale sam napisałeś że chcesz taki program więc nie mniej teraz do nikogo pretensji że coś innego sobie teraz wymyśliłeś
Najprościej to użyć arduino, podłączyć do niego diodę nadawczą ir. Są gotowe biblioteki do obsługi tego standardu i wiele gotowców w sieci tylko musiałbyś dopisać swój adres i komendy. Może są jakieś inne metody prostsze ale ta wpada mi na myśl bo jest bardzo prosta. Do tego można dołączyć klawiaturę matrycową i dopisać w kodzie jej obsługę i masz prowizorycznego...
Jak nie liczyć wychodzi 73 klawisze i 17 przewodów do klawiatury, pozostałe to do LEDów. Gdyby klawiszy było 72 i 17 przewodów to będzie klawiatura matrycowa, a tu jest o jeden klawisz za dużo, możliwe że nieczynny jeszcze jeden klawisz i wtedy wszystko pasuje.
No nie rozśmieszaj mnie że w necie niema nic o klawiaturach matrycowych. Proponuje Google :) pzdr
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żeli zmienimy kolejność to co wtedy odczytamy skoro szyna nie będzie aktywna. https://obrazki.elektroda.pl/9094248800_... Wysyłamy dane do LED utrzymując stan aktywny dla danego segmentu do czasu zakończenia pomiaru. C1 = czas obsługi segmentu pierwszej cyfry itp........ KEY to czas obsługi klawiatury W tym przypadku opóźnienie można...
To zależy od ciebie. Poczytaj o idei stojącej za klawiaturami matrycowymi. Ogólnie - wysterowujesz jeden rząd/kolumnę, przez zwarty przycisk potencjał przedostaje się na kolumnę/rząd i na wejście MCU. Zasadniczo jest to dowolne, czy wysterowujesz rzędy i odczytujesz stan kolumn, czy zrobisz odwrotnie.
1. Klawiatura matrycowa 4x4, są takie do dostania, naklejalne na obudowę. 2. Wyświetlacz LCD 1x20. 3. No i oczywiście procesorek... ;) Algorytm dzielimy na podprocedury : - inicjalizacja główna - inicjalizacja klawiatury - inicjalizacja LCD - obsługa klawiatury - obsługa LCD - program spinający całość, czyli pętla główna, ewentualnie jeszcze do tego...
pierwszy program wczytuje 3 liczby z klawiatury matrycowej... a nastepnie zlicza wystopienia tych liczb :) drugi program to poruszanie się 'obiektu' (kwadracik) po wyświetlaczy 7 segmentowym za pomocą strzałek z klawiatury sekwencyjnej :) to najprostszy opis :) no chyba że chodziło Ci o komentarz do każdej linijki kodu ;) bo jeśli tak to odsyłam do...
Witam, mam taki o to problem, poszukuję przykładu klawiatury matrycowej obsługującej 2 wciśnięte przyciski. lub przykład jak osobno odczytywać klawiaturę 3x3 ale w taki sposób ze najpierw odczytujemy 3x2 oraz następnie 3x1.
Zapoznam się dziś na pewno. Dziękuję za link A co do klawiatury to była by ona 5x4 plus przycisk zmieniający np. Klawiatura1 {1, 2, ,3, 4… i tak do 20} A po wciśnięciu przycisku zmieniało by funkcje na Klawiatura2 {A, B, C, D… i tak samo do 20} Nie przykladajcie wielkiej wagi do cyfr i liter bo są one tylko przykładowe
tego wyświetlacza nie znajduje u siebie w Eaglu. Ale policz sobie potrzebne piny ? Klawiatura 8 rzędów + 8 kolumn, wyświetlacz jeśli to LCD zwykły tekstowy to potrzebujesz 6-7 pinów. Jak nic wychodzi że minimum to 21 pinów czyli np. atmega16,32. Inne większe to myślę że zbędny wydatek. Tu czasem wpadają Panie, więc mogą się poczuć obrażone :)
Jest to więc klasyczna klawiatura matrycowa. Powinien być łatwy w obsłudze, ale wymagałby pewnej wiedzy programistycznej.
nie zadziała w przypadku klawiatury matrycowej Zauważ , że w Twym układzie emiter jest na masie procesora i wejścia wyzwalania ( pewnie wejście to jest już odpowiednio zaprojektowane przez producenta ), natomiast w układzie matrycowym 'masa' jako taka nie istnieje. Proponuję użycie takiego transoptora : H11F1M . Spełni wszystkie wymagania , niskie...
Witam. Wiem, że temat był wielokrotnie wałkowany na forum, ale mimo przebrnięcia przez sporą ilość informacji jakoś nadal mam problem z poradzeniem sobie z moim przypadkiem. Buduję 'klawiaturę matrycową' ale nie na przyciskach, ale na przełącznikach, zatem program sterujący nie będzie miał rozpoznać naciśnięcia przełącznika, a stan wszystkich linii......
Witam Forumowiczów Chciałbym przedstawić kolejny swój układ, który kiedyś został zrealizowany dla uczelni w ramach projektu. Jest to 16-klawiszowa klawiatura matrycowa mająca współpracować z płytką ewaluacyjną mikrokontrolera 8051. Mimo, że jest to układ dedykowany, lecz nic nie stoi na przeszkodzie, aby znalazł zastosowanie także w innych urządzeniach....
Chodzi Ci o coś takiego jak tutaj? [url=http://mirley.firlej.org/uniwersaln... Wg mnie bez sensu, bo przecież jak będę chciał coś odłączyć to wypne kabel, ale w sumie to zależy jak Tobie będzie lepiej. Tutaj przykład połączenia w klawiaturze matrycowej [url=http://mirley.firlej.org/moduly_pom...
Witam, na poczatek: interesuje cie np. biblioteka keypad oraz wszystko co dotyczy klawiatur matrycowych, np: https://www.circuitbasics.com/how-to-set... Pozdrawiam
https://circuitdigest.com/microcontrolle... Tu masz gotowca ale nie rozumiem po co ci przerwania? Chyba, że od timera, którym co jakiś czas będziesz przemiatał matrycę sprawdzając czy klawisz jest wciśnięty. Dodano po 29 https://obrazki.elektroda.pl/6053996500_... Jak ci bardzo zależy...
Witam, to co zaproponowales to uklad fotooptyczny, bedzie wykrywal wsuniecie czegos w szczeline - jezeli taki jest twoj cel. Ale ten konkretnie nie jest dobrym wyborem poniewaz masz wyjscie typu OC (otwarty = niepodlaczony kolektor tranzystora) ktory zewrze do masy gdy bedzie odpowieni sygnal. Nie da sie tego wprost zastosowac w klawiaturze matrycowej...
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...
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...
Stany pinów nie mają prawa się zmienić. Klawiatura matrycowa ogólnie rzecz biorąc działa tak że trzeba na nią podawać odpowiednie sygnały żeby odczytać jaki przycisk jest wciśnięty. Poczytaj o klawiaturach matrycowych.
(...) Jeżeli dobrze rozumiem jest to kod 2 z 8. Próbowałem go przekształcić, ale nie wychodzi mi to. W internecie nigdzie nie ma słowa o takim kodzie, faktycznie znalazłem kod 1 z N, 1 z 10, 2 z 5, ale nic o tym. I teraz moje pytanie brzmi, jak zmienić kod 2 z 8 na kod Graya i czy jest to w ogóle możliwe? Witam! Zgadza się, kod uzyskany z klawiatury...
Pytałeś o wybudzanie procesora, odpowiedz masz w linku dla przykładu klawiatury matrycowej. W ogóle lepiej zastosuj power-down A wybudzić możesz tylko stanem niskim przerwania int0. A jeśli chodzi o przerwania pin change warto zapoznać sie z rejestrami z tym związanymi a wszystko stanie się jasne. Chodzi o to ze przerwania zostaje wywołane, jeśli choć...
Witam Posiadam mikrokontroler Atmel AT89S52, oraz programator z wbudowaną klawiaturą matrycową (4x4) oraz diodami LED do testowania uC. Do portu P0 podinam sobie 8 diód, natomiast do portu P2 podpinam 8-bitową klawiature. Chciałbym napisać taki program, aby po wcisnęciu pierwszego przycisku zapaliła się dioda nr1, po wciśnięciu 2 przycisku-druga dioda...
Witam. No jednak nie wszystkie odpowiedzi. (pozdrowienia dla Balu). Wytłumaczcie mi łopatologicznie. Dodatkowe rzędy (rows) to kolumny, czy wiersze ? Czy tak będzie dobrze ? CONFIG KBD = PORTx , DEBOUNCE = 100 , rows=6, row5=pinD.6, row6=pind.7 http://obrazki.elektroda.net/20_12204586... W helpie jest trochę inny układ pinów niż podał Balu. Ma to...
Wiesz co chcesz wybrac i na jakiej wierszu kolumnie ma się znaleźć -> skanujesz kolumny aż na tej co chcesz znajdzie się 1 (0) i wtedy wystawiasz na odpowiedni wiersz 1 (0)... Cała filozofia... 20ms to wieczność...
Proponuje wytestowac, wystarczy miernik. Podłączasz, jedną elektrode miernika do byle którego wypr., naciskasz jakiś klawisz i szukasz z którym wyprowadzeniem powstało przejście. Jesli z żadnym, to próbuj inny klawisz. Jak znajdziesz przejście, to określiłeś do której kolumny i do którego wiersza należą te dwa wypr. Tylko które jest wierszem, a które...
Witam, Kluczem zasilania jest tutaj stabilizator napięcia LM2596. Wykorzystuję jego nóżkę ON/OFF do załączania i wyłączania zasilania.
Niestety klawiatura matrycowa wymaga nieco zachodu z jej obsługą, za to wymaga mniejszej ilości pinów - coś za coś :) Nie wiem jakie dodatkowe funkcje będzie miał program, ale z reguły skanowanie klawiatury robi się w oparciu o jakiś timer, bo dodatkowo należy eliminować drgania styków. Strona ... korzystaj do woli, a w razie problemów pisz na forum...
Czyli zamiast robić na przerwaniu INT0 zrobić na timerze? Nie. Jeżeli chcesz to pozostaw przerwanie INT0, ale w funkcji obsługi przerwania ustawiaj jedynie flagę, a w main() umieść resztę kodu wraz z opóźnieniami i pętlami, czyli gdy flaga zostanie wykryta w main() to wołaj swoją funkcję checkKeyboard(). I staraj się zawsze stosować zasadę, że przerwanie...
Debouncing w przerwaniu - tylko nie mów, że robisz to przez aktywne oczekiwanie wewnątrz przerwania. Jeśli tak, to zauważ, że to, że skasowałeś flagę przerwania i jesteś w przerwaniu wcale nie oznacza, że flaga nie może zostać ustawiona ponownie. Możliwy jest taki scenariusz: wciskasz przycisk, pojawia się zbocze opadające które ustawia flagę a więc...
Witam Kolegów, Dotychczas, korzystając z timerów programowych, z powodzeniem korzystałem z prostej funkcji obsługi przycisków, która zwraca informację o krótkim/długim naciśnięciu wybranego przycisku. Ostatnio, funkcję tą zmodyfikowałem do obsługi typowej klawiatury matrycowej...jednak nie funkcjonuje tak, jak potrzeba a problem jest, jak myślę, prosty....
ja podłączam klawiaturę i nie muszę dodawać żadnego Config PortB = ... lub tym bardziej PortB = ... i przy nie wciśniętym klawiszu zwraca 16 (lub 24 przy matrycy 6*4), bez żadnego podciągania... skąd pomysł na podciąganie? używam bascom 1.11.9.8
Musisz zrobić coś w stylu licznika ilości naciśnięć klawisza.
Jak używasz baskomu to tam jest podprogramik obsługi klawiatury getkbd Z tego skorzystaj. Ja mam jeszcze podpięte rezystory na wszystkie piny po 200Ω. Wszystko jest w helpie do bascoma. Jak by coś jeszcze to pisz na GG albo PW. Ale uważam że klawiatura matrycowa to jest nie zabardzo. Przydało by się zastosować jakiś dekoder pomiędzy klawiaturę...
Witam Oto mój problem.Na egzaminie z mikroprocesorów było takie zadanie: Podłączyć do mikrokontrolera 8051 klawiaturę matrycową 16-przyciskową widoczną w systemie pod adresem 40h przestrzeni adresowej zewnętrznej pamieci danych. Wiem jak działa taka klawitura podłączona bezpośrenio do portu a tu ma być pod adresem 40h.Czy może mi ktoś narysować schemat...
Rezystancja szeregowa kondensatora (ESR) to wartości rzędu pojedynczych Ohm-ów dla małych kondensatorów elektrolitycznych a dla foliowych są to ułamki Ohm-a. Taka rezystancja nie ma najmniejszego znaczenia gdy kondensator jest wpięty na wejście przedwzmacniacza, ponieważ rezystancja wejściowa wynosi przynajmniej kilka kOhm.
Przeniosłem z: Schematu/instrukcji...
Witam! Mam problem odnosnie napisania programu "zliczania liczby nacisniec z klawiatury matrycowej " .Program ma za zadanie zwiekszanie wartosci na danej pozycji na wyswietlaczu LCD czyli gdy wcisniety zostanie np.klawisz 5 to na LCD na piatej pozycji wpisana zostaje 1, nastepne nacisniecie 5 spowoduje wpisanie 2 itd dla kazdego klawisza. Prosze o wskazowki
A jak chciałbyś to rozwiązać inaczej, jak masz tylko 8 wyprowadzeń portu dostępne? Można zrobić klawiaturę matrycową, wówczas będziesz miał 16 klawiszy. Można też użyć PCF8574 i jeszcze zwiększyć liczbę dostępnych wyprowadzeń. Tyle że Ty tego nie zrobisz, bo skoro zadajesz takie pytania to znaczy że nie masz zielonego pojęcia o tym i nie będziesz w...
Dzień dobry. We wstępie odrazu zaznaczę, że używam zestawu ZL3AVR z mikrokontrolerem ATmega32. Chciałem napisać program w assemblerze, który będzie zliczał wciśnięcia określonego przycisku w dowolnym rejestrze i będzie wyświetlał liczbę wciśnięć binarnie na diodach (czyli przykładowo jeśli wcisnąłem przycisk 7 razy to mają świecić się trzy diody z prawej...
Witam, Posiadam klawiaturę matrycową 4x4, lecz nie mam pomysłu jak ją podłączyć by wykorzystywała te 8 wejść sterownika PLC. Wiem jak to zrealizować w przypadku mikrokontrolera, ale co do wejść PLC nie mam pomysłu. Nie natknąłem się na jakieś gotowe rozwiązanie. Czy coś takiego jest możliwe do zrealizowania? Prosiłbym o jakieś podpowiedzi, uwagi i pomysły....
Najlepiej poszukać w książce Pana Gałki. Z tego co pamiętam, wbudowana w DSM-51 funkcja zwraca w formie wyniku bajtowego wartość, odpowiadającą naciśniętemu klawiszowi. Można zatem, z polecenia "If zmienna = enter then zmienna = #". Oczywiście w assemblerze, więc MOV A,zmienna CJNE A,#(tutaj wpisać wartość którą zwraca funkcja dla enter",pomin_poprawianie_znaku...
Ok. Czy mógłbyś rozwinąc swoją myśl :D Jak to wykonac i czy w ogóle ktoś był by w stanie to zrobic :?: mikroprocesor z serii 51 mam nawet przykładowy program który działa tak samo tylko że inaczej ;) . Odbiera komunikaty midi i steruje wyjściami a trzeba go "odwrócić" tj tak aby wysyłał komunikaty midi. Klawiatur midi jako projektów jest dużo. Najczęściej...
Kompilator nie zwraca Ci uwagi na typ parametrów przekazywanych do GPIO_SetBits(...)? Nie wiem czy akurat to jest głównym problemem, ale na moje oko tablice GPIORows/Cols powinny być trochę innego typu (uint16_t).
Czy dwa przyciski do jednego klawisza są po to, żeby zmierzyć szybkość wciskania? Weź pod uwagę, że jak pianista szybko uderza w klawisz, to czas pomiędzy zadziałaniem jednego i drugiego przycisku może być rzędu milisekundy, wypadałoby odczytywać stan każdego przycisku kilka, może nawet kilkanaście tysięcy razy na sekundę. Z jaką szybkością trzeba by...
Witam, chciałem obsłużyć klawisze strzałka w górę i strzałka w prawo (klawiatura matrycowa, lcd). Jednak poniższy kod nie rozróżnia, który klawisz jest ktory a ja nie wiem czemu. [syntax=asm] STRZ_P: MOV A,#0C0H;A, ustawienie na pozycje w dolnej linii ADD A,R7;zwiekszenie A o nr petli LCALL WRITE_INSTR MOV A,#'^' LCALL WRITE_DATA LCALL WAIT_KEY CJNE...
klawiatura matrycowy atmega8 klawiatura matrycowy bascom atmega klawiatura matrycowy
wysokich obrotach grzeje tranzystor a1266 podświetlenie licznik skoda
odblokowanie hulajnogi odblokowanie hulajnogi
Alternatywy dla smartfona Tecno z problemami dotykowymi Suszarka Hotpoint TVFM 70 - Bęben nie obraca się: Przyczyny i Diagnostyka