Chciałbym zrobić symulację naciśnięć klawiszy na klawiaturze PS/2 wykorzystując ATMega328 z rezonatorem kwarcowym 16MHz i interfejs PS/2 na USB. Posiłkowałem się tym opisem PS/2. https://www.avrfreaks.net/sites/default/... Z opisu wynika, że urządzenie PS/2 (wspomniana klawiatura) musi być w każdej chwili przygotowane do odbioru...
Witam Zderzyłem się z problemem odczytu stanu klawiatury zbudowanej na 2 expanderach I2C PCF 8574 (adresy 0x20,0x21). Jestem bardzo początkujący i myślałem o odczycie stanu tej klawiatury za pomocą Arduino Mega 2560. Jednak zderzyłem się ze ścianą. Próbowałem skanować adresy I2c i to się udaję. Jednak odczyt tylko z tych 2 adresów to już inna bajka....
Kilkanaście lat temu, jak programowałem w Turbo Pascalu, to zdarzało mi się pisać proste gry i animacje. Wtedy nie korzystałem z zegara czasu rzeczywistego, tylko była instrukcja opóźniająca, była to pusta pętla trwająca jakiś czas (byłem bardzo początkujący i próbowałem takie pomysły zrealizować mając do dyspozycji oczekiwanie na klawisz, sprawdzenie,...
Cześć. Zrobiłem coś takiego - czyli odczyt stanu klawiatury matrycowej na przerwaniach dla ATMega128. Kod w załączniku. Nie wiem tylko jak zrobić, żeby odczytywał jedno wciśnięcie klawisza. Przy takim programie po wciścnięciu klawisza rombie wykonywanie tego przerwania jak najęty aż do puszczenia klawisza. Mnie chodzi o to, że jak wcisne klawisz ma...
Witam. Sprawa dotyczy urządzenia opartego na uK 80C32 / 52 wspominanego w tym temacie:[url=http://www.elektroda.pl/rtv... Również w tym temacie obecnie w ostatnim poście znajduje się plik F-METER.bin będący wsadem epromu tegoż urządzenia. Schemat ideowy znajduje się w wydaniu PE nr 10/95, który można znaleźc np. tu:[url=http://chomikuj.pl/Pawel8371/Ele...
Jak już ktoś powiedział nie należy używać "goto". Taki sposób programowania nie jest zalecany. Generalnie w takich programach rozdziela się funkcję odczytu klawiatury od funkcji będącej reakcją na stan klawiatury. Funkcja odczytu klawiatury zapisuje stan klawiszy w zmiennej (buforze). Następnie w funkcji (fragmencie programu) na podstawie tej zmiennej...
/* case 0: // menu główne // -------------------------------... lcd.setCursor(8, 0); lcd.print(hours); lcd.setCursor(10, 0); lcd.print(minutes); lcd.setCursor(12, 0); lcd.print(seconds); lcd.setCursor(8, 2); lcd.print(day);...
https://obrazki.elektroda.pl/4882866700_... Mimo, że różnego rodzaju zegarów na tym forum było już mnóstwo, chciałem zaprezentować jeszcze jeden. Ten powstał według mojego pomysłu, a do jego powstania przyczyniła się moja córka. Swego czasu poprosiła mnie ona, o to, abym zrobił jej do pokoju nieduży zegar z alarmem. Taki aby nie raził...
Dla potrzeb budowy zegara (4 klawisze) wymyśliłem sobie, że klawiatura zostanie zrealizowana jako matryca o rozmiarze 2x2. Dobre! A ile linii zaoszczędziłeś :-) niby wszytko też działa ALE co kilka naciśnięć (nie za każdym razem) da się zauważyć, że mylone są kolumny klawiatury. Szklana kula jest w naprawie. Pokaż schemat i program. Tak na ślepo, to...
W załączeniu masz moje rozwiązanie klawiatury. Ta obsługuje matrycę 4x5 znaków ale jak nietrudno zauważyć może obsługiwać do 5x8 znaków Nie rozumiem idei tego postu, autor wątku wyraźnie napisał, że nie jest zainteresowany klawiaturą...
Najprawdopodobniej konfiguracja klawiatury, klawisze funkcyjne, również ustawienia BT. Najprościej zmienić te dane i sprawdzić co się stanie. Oczywiście po uprzednim wykonaniu backupu oryginalnej zawartości.
Wpadłem na taki pomysł ale coś mi tu nie działa może mi ktoś powiedzieć co jest nie tak???? linia P3.5 jest wykorzystywana do odczytu stanu z klawiatury wyświetlacza 7segmentowego LOOP1: CLR TR1 ;zatrzymanie timera SJMP $ LOOP: MOV C,P3.5 ;sprawdzam czy coś nacisnąłem SETB TR1 ;włączam timer CPL C ;neguje bit C CJNE C,P3.5,LOOP1 ;sprawdzam czy...
while (1) { IOSET0 = 0x00004000; //ustawienie jedynki na pierwszej linii klawisz= IOPIN0; //odczytanie stanu portu switch (klawisz &= 0x001e0000) //sprawdzenie na którym pinie jest stan wysoki { case 0x00020000: {LCDText("1");bre... case 0x00040000: {LCDText("4");bre...
Faktycznie aktywnym stanem jest zero i wtedy ten fragment kodu nie powinien dać żadnego rezultatu, ale co dziwne cokolwiek nacisnę i tak się wykona. Znaczy, dlaczego nie. Jak wcisnąłeś przycisk 0, a sprawdzasz 2, to przerwanie sie wygeneruje, ale na dwójce jest stan wysoki, to warunek (pierwszy) zadziała. Jak sprawdzam czy stan jest równy zero to też...
Nie byłem w domu od czwartku i nie miałem dostępu do neta. A jak skomunikować ze sobą kilka maszyn stanu? Zmiennymi globalnymi? Czy po prostu używać wskaźników na te same funkcje? Wiem, że to wiele zależy od konkretnego projektu, ale chciałbym zobaczyć jakieś przykładowe powiązania między np dwiema różnymi maszynami stanu. Co znaczy skomunikować maszyny...
Żeby na 100% nie było różnicy między badanymi stanami pinów podczas kolejnych badań oraz zapisu do rejestru, powinieneś tylko w jednym miejscu odczytać PIND i zapisać w zmiennej. Dopiero zmienną testować i gdy trzeba zapisać do tablicy. Sprawdź (pokaż) jak wygląda zawartość pliku .lss. Może trzeba powalczyć z instrukcją asm volatile("nop"), zeby program...
programowo zmieniał stan pinów wierszy z wejścia na wyjście, odpowiednio do niskiego stanu danej kolumny, żeby zewrzeć dany klawisz. Piny kolumn byłyby na stałe przypisane do pinów arduino jako wejścia. Program byłby trochę skomplikowany. Też tak myślałem pierwotnie ale teraz nie jestem w stanie zagwarantować że tak koncepcja się uda. Chodzi głównie...
1. Aktywacja wiersza klawiatury. 2. Odczyt stanu kolumn dla tego wiersza. Resztą bym się nie przejmował, bo to w zasadzie nie działa. Klawiatury nie skanuje się w pętli, tylko na przerwaniach. Tak, jak to jest zrobione, jakakolwiek reakcja na klawisz następuje po zwolnieniu go, co jest strasznie wkurzające dla użytkownika. Kod jest ciekawy dydaktycznie,...
Co ile masz przerwanie od timera bo jak się domyślam stan klawiatury odczytujesz kilkadziesiąt razy na sekundę?? Napisze to po raz kolejny: Wywal odczyt po IIC klawiatury z obsługi przerwania!!! I rób to tak samo jak odczyt czasu w programie głównym na podstawie flagi. Po drugie po co odczytujesz za każdym razem czas z PCF'a??? Skoro masz przerwanie...
Brak opóźnienia między ustawieniem stanu kolumn, a odczytem stanu wierszy.
Nie używaj do odczytu przerwania, tylko zrób skanowanie jak w normalnej klawiaturze. Stan portu odczytujesz ciągle co np. 5ms (wykorzystaj przerwanie timera). Jeżeli 3 odczyty (lub więcej, dobierzesz eksperymentalnie) pod rząd są takie same to oznacza, że odczytałeś jego stan.
Pomiędzy zmianą stanu portu B, a pierwszym odczytem portu PIN wstaw koniecznie nop - problemem nie jest twój program, lecz synchronizator portów w procesorze, który wprowadza pewne opóźnienie. Przejrzyj notę katalogową dokładnie.
Problem to dopiero będziesz miał, jak będziesz próbował użyć przerwań zewnętrznych. Naprawdę - użyj timera. Szukaj na forum milionów tematów o używaniu przerwań do odczytu stanu przycisków. W google zresztą też znajdziesz.
Dziękuję za szybką odpowiedź, oczywiście pierwsze co zrobiłem to było użycie i2scann. a tam wyskakuje adres 190. więc do odczytu pozostaje wybór 191. zresztą kod który podałem przepytuje wszystkie nieparzyste adresy. a klawiatura reaguje stanem diody led tylko pierwsze naciśniecie. https://obrazki.elektroda.pl/6770740200_...
Maskowanie odczytu bajtu po F0 przechwytuje chyba za mało bitów 8+start+stop +parity=11 a maszyna stanów przewiduje 8. Prawdopodobnie trafia wtedy do stan=0 będąc w trakcie transmisji. Wyprowadź sobie na jakieś dodatkowe diody aktualny stan maszyny. To ułatwi Ci diagnozę problemu. Jaka jest idea sygnału licznik?
1) czy jest konieczne stosowanie kondensatorów. Jeśli są potrzebne to jak podłączyć kondensatory, czy równolegle do każdego z przycisków (czyli 64 kondensatorów) czy może jest jakiś inny sposób na to. Moim zdaniem nie ma takiej potrzeby. 2) czy jest konieczne stosowanie rezystorów podciągających. czy przy porcie gdzie wystawiam czy tam gdzie odczytuje....
Witam. Ogólnie do wykonania mam odczyt z klawiatury PC (mikro kontroler przeprowadzić ma konwersje na ASCII i wyświetlić to na wyświetlaczu lampowym). No i tu się pojawia problem ponieważ z assemblerem jakoś nie mogę się zaprzyjaźnić :/. Czy jest ktoś w stanie mi pomóc ??. Oczywiście gotów jestem zapłacić
:) Może źle się wyraziłem :) Ja nie chcę się chronić, przed naciśnięciem kilku klawiszy na raz, bo to użytkownik urządzenia obcuje z klawiaturą, ja chcę tylko mieć pewność, że to, co odczytuję przeczesując wiersze, to jest stan faktyczny, jeśli chodzi o wciśnięte klawisze. Układ z diodami mi, to zapewnia, układ bez diod, niestety nie. I tak właśnie...
Witam. Mam klawiature 4x4, tak wiec podłączenie do AVR będzie następujące: 4 piny jako wyjście, 4 jako wejście. Kłopot jest z klawiaturą, gdyż przycisk przy zwarciu ma rezystancję 300R, stąd moje pytanie: czy jak wystawie na pinie wyjściowym 0, to czy na wejściu (z pull-up'em) będe mieć także 0 przy naciśniętym klawiszu ? Obawiam się spadku napięcia...
Nie ma w tym nic dziwnego, po prostu standardowa klawiatura matrycowa. W tym układzie klawiatury port P0 pracuje jako wyjście, a porty P1 i P2 i P3.7 jako wejścia. Zasada odczytu jest następująca: - Ustaw "0" na linii P0.0, pozostałe linie P0 na "1"; - Odczytaj stan portów P1 i P2 i P3.7. "0" na linii portu oznacza naciśnięty przycisk (odpowiednio 64-71,...
Reasymując: nie znamy schematu i nie wiadomo, jakie są objawy niedziałania programu. No, to już możemy pomagać, bo Autor nie chce użyć debuggera, żeby sprawdzić, co się dzieje w procedurze odczytu klawiatury. Od debuggera należy zacząć.. prawdopodobnie stany portów zmieniać się będą właściwie. Wątpliwości budzi jedynie wartość opornika szeregowego...
kod pojedynczego klawisza ma 11 bitów z tego 8 bitów danych, chciałem zapytać czy clock działa cały czas czy wypuszcza 11 impulsów przy naciśnięciu klawisz?? jeżeli działa cały czas (tak pewnie jest) to czy w tym schemacie w linku ta informacja zostanie wyświetlana, czy "przeleci" przez diody rejestry i diody, jeśli tak to jak ją zatrzymać aż do naciśnięcia...
Okazuje się, że w Bascomie 8051 nie można zdefiniować własnej funkcji, ta możliwość istnieje dopiero w Bascomie AVR - ciekawostka .. http://avrhelp.mcselec.com/changes_compa... 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 Call Klawiatura ' Tu...
Noi mam odpowiedź, niekoniecznie która mnie Cieszy. Bujnąłem się na oscyloskop na uczelni i NIC. żadnych zmian stanu nie widać. Na liniach wierszy jest stan niski, na kolumn wysoki. I tyle. No przecież to nie możliwe, żeby na tym urządzeniu nie zauważyć zmian stanów... Noi co teraz? Jak ten problem rozwiązać? Tak sobie myślę , myślę ... i wymyśliłem(?)...
Dodam, że sam odczyt klawiszy też działa - sprawdzane na zwykłym odczycie bez uwzględnienia drgań styków. Może i działa, ale chyba już wiem w czym jest problem. Problem jest w tej linii kodu: [syntax=c] return ( ~PINC ) & ( KEY0 | KEY1 | KEY2 | KEY3 ); [/syntax] a konkretnie z klawiszami KEY2 i KEY3. Te dwa bity na porcie C mogą mieć stan niski...
ppawel12: 1. Podział na pliki nie zmniejsza kodu. 2. Co do wykorzystania peryferiów to zależy od projektu 3. Autor napisał że jest to ZL3AVR 4. Odnośnie braku konfiguracji INT0 - masz racje, o tym zapomniałem 5. Dla klawiatury matrycowej jest tylko jeden możliwy wariant całego odczytu klawiatury w przerwaniu - 0 na wszystkie kolumny, a jak wystąpi...
Pomiar szybkości wciskania klawisza w takiej klawiaturze odbywa się na zasadzie pomiaru czasu pomiędzy zwarciem jednego styku a drugiego pod danym klawiszem. Osobiście to bym nie niszczył układu odczytu dynamiki klawiatury, bo to ogranicza jej funkcjonalność. Jak wciskasz klawisz to najpierw zamyka się jeden styk i układ dekodowania klawiatury zaczyna...
Witam, Napisałem program obsługi malej klawiatury (5 przycisków) w oparciu o kostkę PCF8574. Wszystko działa, ale bardzo wolno... Gdy nacisnę przycisk to na wyświetlaczu reakcja naciśnięcia jest wtedy, gdy przycisną klawisz na trochę dlużej. Co może być powodem? Przesyłam kawałek kodu odpowiedzialnego za odczyt stanu pinów PCFa: void klawiatura(){...
Jeżeli się nie mylę, w LPT jest tylko 5 pinów wejściowych (nie 4). Niestety to i tak za mało na sterowanie matrycowe. Możesz zastosować stary trik i odwrócić matrycę 8x6 na 6x8. Na wejścia LPT zamontować układ w stylu '244, który będzie multipleksował 4 z 8 kolumn. Sześć pinów wyjściowych użyć do wyboru wiersza a siódmy i ósmy do wyboru górnej lub dolnej...
W przerwaniu sprawdzam 2 ostatnie stany jeśli są takie same zakładam że przycisk został wciśnięty W czasach "bez procesorowych", były układy scalone eliminujące drżenia styków. Dla jednego syku był to szeregowo-równoległy rejestr przesuwny, 8-wejściowa bramka NAND, 8-wejściowa OR i przerzutnik RS. Gdy na wszystkich wyjściach rejestru były jedynki,...
A możesz napisać jakie to dane będziesz odczytywał z tych pinów :?: Czy będzie to klawiatura , jakieś czujniki :?: Napisz dokładnie co to będzie podpiete do tych pinów. Pozdrawiam Piotrek Sz.
No oczywiście .... PIN a nie PORT ..... ale głupi błąd. Właśnie wrzuciłem poprawkę i działa bez zarzutu ... dzięki wielkie. Co do kodu, pisałem go szybko w celu przetestowania wczytywania i ustawiania portu wiec nie była to wersja końcowa (a jedynie prototyp). Docelowo do klawiatury chcę zastosować rejestr przesuwający z wyjściem równoległym (74HCT164)....
(at)dyerseve I tu jest problem. Musisz zmienić polaryzację tak jak przedstawiłem to na schemacie. Podajesz stan wysoki z segmentu, przez rezystory 180 om wprowadzasz do CPU gdzie stoi rezystor do zasilanie. Wynik odczytu ???
Taśma do podmiany, ilość błędów wynikających z winy taśmy:91(lub kiedyś była uszkodzona). Posiada realokowane sektory co spowalniają go trochę, ale jak ich liczba nie rośnie można używać go. Poza tym SMART ok jak na ponad 22000 godzin pracy. Nie widać żadnych problemów z mechaniką dysku, ale może być nieco wolniejszy jak już pisałem z racji nieco gorszego...
Masz oscyloskop, lub monitor stanów logicznych? Może padła transmisja na magistrali klawiatury i masz uwalone porty zarówno w klawiaturze, jak i na płycie (chociaż tu zastanawiałby poprawny odczyt adresu klawiatury).
jest możesz zastosować pętle for jednak ten kod jest bardziej uniwersalny, łatwe wykonanie przypisania kodów konkretnym przyciskom oraz łatwe podłączenie klawiatury każde wyprowadzenie możne wręcz znajdować się na innym pinie procesora. poza tym NOPy są istotne, gdyż za szybie odczytanie kolumn po ustawieniu wierszy powoduje zły odczyt musi minąć co...
tam jest jeden błąd z potencjometrem ale już jest poprawiony wiec można go olac bo to stary schemat bez naniesionych poprawek http://obrazki.elektroda.net/42_12682187... faktycznie z r/w nic nie robiłem wiec może jak dam go do masy to będzie ok Dodano po 2 ojej ale niewyraźnie:/ ogólnie po lewej mam takie dziwne przyciski (ja tego nie rysowałem)...
http://obrazki.elektroda.net/23_12490334... Odczytywanie stanu klawiatury przy pomocy mikrokontrolera nie jest niczym odkrywczym, lecz potrafi sprawić wiele problemów gdy mamy do dyspozycji za mało pinów I/O lub gdy mikrokontroler musi szybko wykonywać inne zadania. W tym projekcie zaprezentowano dwa podejścia do tego problemu: klasyczne,...
Jutro będzie podpinany pod kompa i zobaczymy co wyjdzie Nie rozumiem i chyba nie zrozumiem podejścia właścilieli i kierowców, którzy na podstawie tego że zaświeciły się usterki na desce wyciągają wniosku że uterka jest taka sama jak w tym drugim aucie. Po co to w ogóle używać klawiaturę. Zrozumcie wreszcie, że bez odczytu błędów i dokładnej ich analizy...
Witam, tak na szybko, potrzebujesz: - USB-MIDI interface, potrzebujesz MIDI bo zapewne oprogramowanie czy klawiatura sterujaca tak sie komunikuja. - prosty interface zrobiony na dowolnym mikrokontrolerze, odczyt stanu przycisku i wyslanie odpowiedniej komendy to jakies 10min pracy nad kodem. - ewentualnie gotowy kontroler USB-MIDI z wejsciami cyfrowymi,...
OK, to urządzenie MUSI być niezawodne, wiec myślę ze najlepiej będzie jeśli jednak zrobię tą komunikację od nowa na przerwaniach. Rozgryzam powoli implementację Atmela ( http://www.atmel.com/images/doc2564.pdf ). Przykład przeanalizowałem i rozumiem jak działa. Problem pojawia się kiedy chcę odczytać od konkretnego adresu w slave, chyba trzeba by dorobić...
Można by napisać skrypt w Pythonie, który łączy się z płytką poprzez port szeregowy i po otrzymaniu informacji od Arduino przy pomocy modułu PyAutoGUI mógłby przesłać do aplikacji wciśnięte przyciski klawiatury oraz myszy. Bardzo atrakcyjna propozycja. Bo zauważ że w Twojej koncepcji (by na PC skrypt w tle generował naciśnięcie) można już w ogóle zrezygnować...
Dziękuję, zapis działa, odczytu jeszcze nie sprawdzałem, jedyne czego nie jestem w stanie włączyć to wykrzyknik, nie wiem jednak czy ten moduł jest w pełni sprawny.
Znaczy to, że piny pracujące jako wejścia będą połączone z plusem zasilania przez rezystor (tak naprawdę to tranzystor nMOS). Umożliwia to łatwiejszą realizację układów wejściowych takich jak klawiatura itp. klawisz pomiędzy pin, a masę. odczyt z pinu, stan niski - klawisz wciśnięty, stan wysoki - klawisz zwolniony. Nigdy nie używałem tych mikrokontrolerów,...
Co do bezpiecznika polimerowego- jest sensu dublować bezpiecznik polimerowy, który jest na płycie centrali i zabezpiecza wyjście AUX i KPD? Bo jeśli już zakładamy, że nastąpi zwarcie i montujemy ten dodatkowy polimerowy- to dlaczego akurat tylko na tym czujniku, dajmy na wszystkie urządzenia jakie mamy po jednym:) I tak być powinno, że separujemy poszczególne...
Witam, - układ jest w permanentnym stanie reset, a więc interesuje cię, co jest na pinie 1 Jak już pisałem na początku: złącze CN180, dokąd to idzie? Nie bardzo rozumiem. Schemat połączeń umieściłem w 3cim poście. Złącze CN180 łączy się ze złączem CN001. Jak i gdzie idą sygnały z gniazda CN180 pokazuje schemat. układ jest w permanentnym przerwaniu,...
Tylko, że kolega chce sprawdzać stan wyjścia które sterowane jest sprzętowo przez licznik. Poza tym zdarzyć się może ze stan któregoś piny zmieniany jest np. w przerwaniu a ty chcesz w pętli głównej sprawdzić jego stan. Sam to stosuje dość często. Np. sterując buzzer, który włączany jest podczas przyciskania klawisza klawiatury 4x4 i innych akcjach,...
Moze ktoś z Was się już bawił podobnym układen. Bawiłem się mTouch na bazie CTMU w PIC i muszę przyznać, że całkiem nieźle to działało (przyciski, slidery itd). Koszt takiego procka to od kilku do kilkunastu zł i tak się zastanawiam po co w ogóle stosować układ QT1101. Może błędnie rozumuję, ale czy te układy to nie jest pozostałość po początkach wprowadzenia...
https://obrazki.elektroda.pl/6692889600_... Od jakiegoś czasu czułem potrzebę sterowania komputerem za pomocą niestandardowej klawiatury. W wielu przypadkach, takich, jak emulatory starych komputerów i sterowanie urządzeniami za pomocą klawiatury, można przypisać funkcję programu do klawisza na klawiaturze. Na przykład komputer ZX...
...Napisalem sobie taki program: To go szybko usuń z dysku i zapomnij że wogóle takie coś napisałeś :( Config Portb = &B00101010 Portb = &B00101010 Dim K As String * 1 Dim B As String * 1 Getkey: Do Disable Interrupts If Pinb.2 = 1 And Pinb.3 = 1 Then Po co sprawdzasz czy Pinb.3=1 , skoro sam ustawiłeś na nim wysoki stan :?: I dalej.Pinb.2...
To co mam zrobić, w helpie było coś takiego (chodzi o "inverted") comd.0:300,8,n,1,inverted No niby jest cos takiego lecz z praktyki wiem że to nie działa tak jak inwerter... poniewaz: polecenie inverted odwraca tylko bity danych, a prawdziwy inwerter odwraca wszystko czyli bity danych, bit startu i stopu oraz stan spoczynku
Mama takie pytanie. Napisalem programik do obslugi klawiaturki, ale jest taka rzecz ze on ten stan pamieta i sam program glupieje. Wyglada to tak: Dim Value As Byte Dim Valuehex As String * 2 Dim P0 As Byte , P1 As Byte , P2 As Byte , P3 As Byte , P4 As Byte , P5 As Byte , P6 As Byte , P7 As Byte Declare Sub Sekcja1 Cls Lcd "Witam" Wait 2 Do I2cstart...
Adres w I2C jest w postaci bajtu a nie word czy long, więc możesz używać tylko adresów do 255. No popatrzcie, niby wiem a zapomniałem... A może zaproponujesz coś do tej klawiaturki? Ja robiłem tak: Jako że trzeba przełączyć "sterujące zero" na każdą z 4 kolumn to też tak robiłem i po każdej zmianie pozycji tego zera w "&B11111110" wyciągałem stan klawiatury,...
Temat uważam za wyczerpany, wklejam kod programowego zabezpieczenia, które wymyśliłem i działa zgodnie z oczekiwaniem (testowałem na prawdziwej klawiaturze podłączonej do ATMega328). W tablicach klawisze są ponumerowane wierszami niezależnie od symboli nadrukowanych na klawiszach. Co do klawiatur z diodami, to miałem na myśli niekoniecznie klawiatury...
To chociaż napisz ile masz do dyspozycji pinów wejścia-wyjścia. Czy sześć pinów to za dużo? (przy użyciu demultipleksera 74*154 który zmieni stan czterech linii wyjściowych na 1 z 16, razy dwie linie wejściowe do odczytu) Czy przejrzałeś w sieci schematy urządzeń w których jest podłączana klawiatura matrycowa do mikrokontrolera? Na samej elektrodzie...
_jta: bez komentarza. Znasz moje zdanie. Nie ma takiej komendy jak napisałeś "żądanie puszczenia klawisza". Ponadto gdyby takowa istniała i była użyta w procedurze obsługi przerwania klawiatury BIOS (np. przerwanie 16h) wówczas DOS nie mógłby realizować buforowania. Jedna z funkcji obsługi klawiatury ale w DOS a nie BIOS umożliwia odczyt (również możliwy...
Jest jeszcze przerwanie PCINT wyzwalane dowolnym zboczem. Wejść PCINT jest zdecydowanie dużo, zatem można reagować nie tylko na dwa przerwania INT0/1. Fakt, nie wszystkie AVRy to mają. Co do programowej obsługi to trzeba skanować klawiaturę w krótkich odstępach czasu i porównywać stan bieżący z poprzednim odczytem. Niestety czas musi być dość krótki...
Mikrokontroler '51 posiada na stałe załączone wewnętrzne "rezystory" podciągajce, wymuszają one stan wysoki na pinach, które mają wpisaną w odpowiednich bitach Px.x wartość 1 (oczywiście, jeśli obwód zewnętrzny nie ściąga napięcia w dół) i jest to dla '51 jedyny możliwy tryb pracy linii I/O jako wejścia. Stąd na wykorzystywanych liniach portu P1 powinieneś...
Jestem początkujący jeśli chodzi o asemblera i mikrokontrolery i próbuję napisać sobie program do wykrycia który klawisz klawiatury został naciśnięty. Czy ten program poniżej by działał? Założenia: klawiatura matrycowa 4x4 jest podpięta do portu P1 mikrokontrolera w ten sposób, że wiersze (S0-S3,S4-S7,S8-S11,S12-S15) są podpięte pod piny P1.0-P1.3 a...
repeat equ 8 ; bajt zmniejszany o 1 po kazdym wykryciu wcisniecia klawisza keyboard equ 9 ; bajt z kodem klawisza (255 - nie wcisnięty) faza equ 0 ; bit informujący czy klawisz jest wcisnięty; jesli nie, to faza = 0 keys_delay_1 equ 20 ; czas w 1/50s przez jaki musi byc wcisnięty klawisz aby zostal wczytany ponownie keys_delay_2 equ 3 ; czas...
Witam. Wiesz,przede wszystkim sądzę że powinieneś zastosować jakąkolwiek eliminację drgań styków klawiatury bo wnioski z działania programu mogą być mylące. Zrób to na przykład tak: If pina.4=0 then waitms 25 if pina.4=0 then Liczba = 10 Bitwait Pina.4 , Set End If End if Każdy mikrowyłącznik drga podczas naciskania,może to powodować nieoczekiwane niewłaściwe...
Nie ma absolutnie takiej potrzeby i zagrożenia. Sygnały sterujące z klawiatury są na odpowiednim potencjale zapewniającym odpowiedni margines bezpieczeństwa od przypadkowych zakłóceń, do tego dochodzi odpowiednie oprogramowanie "nadzorujące stan klawiatury" i odróżniające załączenie od chwilowego zakłócenia. Tylko zobacz, że sygnały klawiszy idą tuż...
Nie znam się zbyt mocno na C więc może da się ten kod bardziej uprościć, ale możesz to zrobić wykorzystując struktury i pola bitowe jak poniżej. Załóżmy że klawiatura jest podpięta pod port B i odpowiednio przyciski: GÓRA pod PB0 DÓŁ pod PB1 ... MENU pod PB4 Do odczytu [syntax=c]//na początek deklarujemy strukturę pole bitowe: struct { unsigned char...
Nie za bardzo mi sie chce analizowac Twoj program, ale podpowiem ci ze prawdopodobnie Twoj problem wynika z tego ze "'za szybko" probujesz odczytac stan wejsci gdy na wyjscia pdajesz okreslony stan. Wyjasniam np PIN1-wyjscia PIN2 wejscie, zalozmy ze sa zwarte, podajesz PIN1=0 i jesli w nastep[nej instrukcji odczytasz stan PIN2 to nie bedie on 0, daj...
Mały przykład, ale bez wykorzystania funkcji Debounce. Przed odczytaniem stanu przycisku, zapamiętywany jest stan portu. Odpowiednie Piny są ustawione jako wejścia, następnie sprawdzane jest czy przyciski są wciśnięte. Stan przycisku jest zapamiętywany w zmiennej Tempkey, zostają przywrócone stare ustawienia portu. [syntax=basic4gl]$regfile = "m8def.dat"...
No właśnie, Możesz skopiować funkcje którą podałem ci w poprzednim wątku, ta z przerwania odczytująca stan przycisków. Dodatkowo uzbroić ją jak wyżej (at)excray napisał w odmierzanie czasu naciśnięcia. Wówczas odpowiednio ustawiasz kod klawiatury. Algorytm mniej więcej... Zaznaczam w funkcji który guzik nacisnieto, w kolejnych przerwaniach zliczamy...
wiecie co ... po ostatnim End If wsadziłem : Lcd K ; "to" ; Hex(k) Waitms 100 Locate 2 , 1 : Lcd " " K = 0 i to wystarczyło :) . Teraz po jednym odczycie klawiszy K wraca do stanu początkowego czyli zera. Jeszcze jedno pytanie : Czy jest możliwe korzystać z tego portu tak by odczytać/zapisać układ 24cXX za pomocą : I2CSTART...
Ja napisałem przecież, że można zrobić automatyczne przełączanie. Jak odtwarzacz MP3 nie działa (np. po wyjęciu nośnika usb) to automatycznie wejście przełącza się na tryb aux (domyślam się zrobione zamiast kasety). Jedynie wystarczy podebrać sygnał z modułu MP3 informujący o działaniu urządzenia. Zerknąłem na schemat od CAR400. Jest tam klawiatura...
https://obrazki.elektroda.pl/3022772500_... Chciałbym przedstawić aplikację będącą zbiorem testowych narzędzi używających CH341 jako interfejsu fizycznego. Pierwotnym przeznaczeniem tej aplikacji miała być naprawa baterii laptopowych. Musiałem jednak wcześniej zapoznać się z układem CH341, zacząłem od bardziej elementarnych funkcji...
Witam Chciałem prosić was o pomoc ponieważ pomyślałem że zrobie sobie zegarek z wyświetlaniem temperatury i wilgotności( na ds18b20 i dht11) postanowiłem wykorzystać bibliotekę MenuBackend lecz mam problem ponieważ czas wyświetlany na wyświetlaczu nie jest aktualizowany. Z temperaturą jeszcze nie sprawdzałem ale pewnie będzie to samo. chodzi mi dokładnie...
Tutaj jest prościej niż w pełnej matrycy, bo fizycznie niemożliwe jest zwarcie więcej niż jednego styku przez rolkę. Trzeba tylko zagwarantować na tyle dużą częstotliwość odczytu, by nie pominąć żadnej zmiany stanu rolki. Jednak, ponieważ nie ma diod przy przyciskach, w sytuacji gdy naciśnięte są równocześnie np. 3 pierwsze przyciski (MUTE, VOL- i VOL+),...
Widziałem w necie zestawy bezprzewodowe nawet po 200 zł--ale potrzebuję fachowych informacji od praktyków Obawiam się że fachowcy praktycy mogą nie mieć doświadczenia z tego typu urządzeniami :) W tym budżecie i podobnym należy też chyba zapomnieć o klasycznej centrali z oddzielną klawiaturą. Obok tego co zaproponował kolega (at)sosarek proszę spojrzeć...
LED1...5 będą działać prawidłowo, bo ich sterowanie jest całkowicie niezależne od U1..5. Odnośnie czujników U1...U5 przyznam, że nie wiem co masz na myśli. Jeżeli chcesz zrobić matrycę XY, to generalnie trzeba się wzorować na klawiaturze matrycowej XY. Wtedy czujniki trzeba łączyć w wiersze i kolumny z odpowiednimi układami wybierania wiersza i kolumny....
Jesli tego nie zrobisz to odczytasz sobie latch w ktorym zapisales poprzednia dana A stan pinów odpowiada kombinacji bitów tej liczby :) a nie faktyczny stan na pinach. :lol: :lol: :lol: Fantom, następnym razem przemyśl na spokojnie co chcesz napisać. W którym miejscu pisałem o czytaniu z portu? Jeśli nie zauważyłeś, to pisałem o WYSYŁANIU do portu....
Ekhmmm... to prawdopodobnie cyka głowica zapisu/odczytu dysku a więc normalna sprawa:D Na wszelki wypadek zrób test dysku programem HDTune, zwłaszcza zakładkę S.M.A.R.T której wynik Możesz przekleić na forum. Ocenimy stan dysku.
Witam. Jeżeli chodzi o transoptory odbiciowe to "cyrki" z takimi klawiaturami dzieją się miedzy innymi z powodu braku przemiatania klawiatury. Jeżeli wszystkie świecą naraz, to nie wiadomo który pierwszy złapie odbicie. Należy włączać tylko jeden i sprawdzać sygnał tylko na nim - sprawdzone działa. wystarczy przemieść taką klawiaturę 6 razy na sekundę...
No własnie po przeczytaniu opisu (w książce) przykładu programu do odczytu klawiatury matrycowej zobaczytałem taki wpis i zglądam do dokumantacji ATmega i widzę że faktycznie tak cos takiego jest. Wczesniej na to nie zwrócilem uwagi. Niestety w tej książce nie było opisane o co chodzi. Mam prośbę czy możesz mi coś więcej o tym opisać? Nie za bardzo...
Witam , jest mały problem z tym prockiem otóż chodzi o wejścia komparatora analogowego. Napisałem dość skomplikowany program do obsługi odbiornika nasłuchowego - w tym LCD, PLL, EEPROM i KEYS. całość w komplecie działa dobrze (są pullupy na wejściach komparatora), ale bez tych pullupów program chwilę działa (wysyła dane do LCD i PLL) ale potem już działa...
A skąd ja mam to wiedzieć czy one potrafią? Po pierwsze trzeba zajrzeć do konkretnego instrumentu i sprawdzić jakie układy elektroniczne zajmują się odczytem klawiatury. Następnie znaleźć dokumentację tych układów, a w dokumentacji odczytać w jakiej technologii pracuje dany układ cyfrowy (nMOS, pMOS, CMOS, TTL, ECL, I2L itp.) Każda z ww technologii...
http://obrazki.elektroda.pl/5579748400_1... Dendy Keyboard Transformer - podłącz klawiaturę i magnetofon do Pegasusa! Artykuł powstał jako opis zmagań z próbą zrobienia reprodukcji kardridża Keyboard Transformer - rosyjskiego wynalazku, który umożliwia pisanie programów w BASICU. Kardridż udostępnia gniazdo klawiatury i magnetofonu...
Witaj :D Według mnie tablica jest niezbedna poniewaz to w niej sa zapisane wlasciwe znaki , i wydaje mi sie ze nauczuciel sie myli bo samo polecenie getatkeyb() zwrocilo by numer wcisnietego klawisza a nie konkretna literke , liczbe czy znak . Przykladem moze byc fragment polskiego helpa do bascom-a w ktorym jest opisane dzialanie tego polecenia Funkcja...
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....
Witam, Czy możliwe jest na procesorach zgodnych z 8051 zainicjowanie procesora do odczytu portu P1 (czyli np mikrostyk na P1.0), czy służy tylko do zapisu? Jeśli tak, to w jaki sposób musi być podłączony ten mikrostyk i jaką komendę trzeba zapętlić aby zainicjować odczyt? Jeśli jest to możliwe to: czy po zwolnieniu mikrostyku stan linii pozostanie zmieniony...
Sprawdź za instrukcją czy nie ma komunikatów: Domofon CD-2501V może sygnalizować następujące uszkodzenia: EC Oznacza, że uszkodzone lub zasłonięte są dwie lub więcej wiązek podczerwieni a klawiatura przestaje działać. Domofon przełącza siê w tryb awaryjny (jeżeli tak ustawiono w programie) i cyklicznie otwiera elektrozaczep. E2 Oznacza zwarcie...
LJMPSTART ORG100H START: LCALLLCD_CLR MOVDPTR,#KEY_CODE ;adres tablicy kodów LOOP_NO: MOVR0,#CSKB0;adres klawiszy 0..7 MOVXA,(at)R0 ;odczyt stanu klawiszy CPLA JNZKEY_YES ;czy klawisz naciśnięty INCR0 ;adres klawiszy 8.. MOVXA,(at)R0 CPLA JZLOOP_NO ;czy klawisz naciśnięty KEY_YES: ;eliminacja drgań styków MOVR2,A ;zapamiętaj stan klawiszy...
Jeśli dobrze rozumiem komunikację PS/2 to na porcie B powinno być wysokie napięcie gdy kliknę jakikolwiek przycisk na klawiaturze. A tak się nie dzieje. Dlaczego? PS/2 to nazwa zarówno złącza jak i protokołu komunikacyjnego. Klawiatura jest urządzeniem, którego złącze PS/2 jest dwukierunkowe, to znaczy że z i do kontrolera klawiatury można wysyłać...
Konfiguracja portu prawidłowa jako wejście z pull-up to i odczyt musi być prawidłowy jeżeli gdzieś indziej nie zmieniasz konfiguracji (coś wspominasz o wyjściu !!! ). Jedyne co może być watpliwe to drgania styku klawisza i reakcja programu. Napisz coś prostego typu: port D czyta stany a port B wystawia to do LED'ów.
Witam, od ponad roku miałem taki problem z lapkiem, konkretniej z klawiaturą: jakiś czas temu: 1. przyciski 2,4,5, oraz lewy ctrl nie zawsze działały. (zawsze razem, jeśli któryś działał, to wszystkie inne też, jeśli któryś nie, to wszystkie inne też nie) 2. kiedy nie działały, wciśnięcie zaraz po sobie klawiszy 2,3,4 dawało mi np. 3q, albo 3w, gdzie...
http://obrazki.elektroda.pl/9745806300_1... Witam. Sesja się zbliża, więc tradycyjnie zacząłem już prokrastynować :D . Ostatnio zacząłem pisać bibliotekę do obsługi klawiatury PS/2 w C dla AVR i postanowiłem na szybko w godzinkę lub dwie stworzyć jakiś praktyczny projekt w celu jej przetestowania. Początkowo nie planowałem tego publikować,...
http://obrazki.elektroda.pl/6569522000_1... Przedstawiam projekt urządzenia (konwertera), umożliwiającego używanie dżojstików od konsoli Pegasus na popularnym komputerze Commodore 64 (C64). Urządzenie opiera się na mikrokontrolerze Atmega 8. Motywacja Jakiś czas temu zakupiłem komputer Commodore 64. http://obrazki.elektroda.pl/1500263400_1...
odczyt klawiatury matrix odczyt stanu odczyt stanu zmiennej
bosch sterownik silnika zmywarka sterowa pralka candy zapchana
krups zawór dwubarowy stk463 podróbki
Kontrolka oleju w silniku 1.8T 20V poniżej 2000 obr./min Schemat napięć wiązki silnika Land Rover Discovery 3 2009 2.7 TDV6