Obsah:
2025 Autor: John Day | [email protected]. Naposledy zmenené: 2025-01-13 06:58
2 spôsoby, ako spravovať klávesnicu so 16 tlačidlami s minimom pinov.
Krok 1: Úvod
Nedávno som pracoval na spôsobe správy matice dotykovej klávesnice 4x4 pripojenej k klonu Arduino. Stanovené body boli:
-použitie iba 4+1 pinov namiesto 8 pinov na atmega328p
-pridať prepojenie LCD displeja 4x20 CHAR cez I2C (2 piny)
-na ovládanie digitálnych a analógových výstupov
Takže veľa vecí, ktoré je možné ovládať pomocou hriešneho množstva I/O.
Krok 2: Čo používať:
Kúpil som LCD displej 4x20 znakov a adaptér modulu I2C na prepojenie displeja s pinmi SDA (A4) a SCL (A5) na mojom klone arduino.
Používam známy a dnes už zastaraný MM74C922N: 8 až 4 -cestný prevodník vhodný pre maticovú klávesnicu 4x4.
Vytvoril som klon arduina na základe atmega328p a naprogramoval som ho cez konektor HE10 (zbernica SPI) a kábel USBasp.
Krok 3: Schéma a rada:
Doska je vyrobená z:
-LCD klávesnicu je možné používať iba s Arduino IDE, nie je možné s LDmicro (programovanie rebríka)
-doska MM74C922N: 16 tlačidiel kódovaných na 16 binárnych hodnotách na 4 bitoch DCBA. Po stlačení tlačidla: modrá LED dióda sa rozsvieti a na DCBA sa zobrazí hodnota (A je LSB). Po uvoľnení tlačidla: modrá dióda LED zhasne a hodnota sa na DCBA vynuluje.
-klonová doska Arduino atmega238p.
Krok 4: Použitie LDmicro s programovaním rebríka:
Kód na zadanie pozostáva zo 4 hodnôt medzi 16 stlačenými hodnotami, teda z kombinácií 16x16x16x16.
Akonáhle nakreslíte SFC, musíte ho potom preložiť do LADDERA metódou uvedenou v jednom z mojich
návod:
www.instructables.com/id/Arduino-tomation-…
Po zadaní skompilovajte ho ako xxxx.hex a potom ho stiahnite pomocou sťahovača KHAZAMA.
LCD displej nie je možné naprogramovať na LDmicro.
Dávam LDmicro zip s náčrtkom SERRURE.id a sťahovačom KHAZAMA.
Krok 5: Použitie Arduino IDE 1.8.x s Mightycore a SMlib:
Prekladám SFC do stavového stroja. Potom som použil Arduino IDE s knižnicou Mightycore a SM vo vnútri.
Na displeji LCD sa zobrazuje správa ako: ERROR, WAITING, UNLOCK, state reach, value of the keypressed in the keylay.
Dávam vám náčrt a SM lib. Pre Mightycore sa pozrite na toto:
www.instructables.com/id/Arduino-18x-Clone…
Krok 6: Na záver:
Toto sú dva spôsoby správy klávesnice 16 a trvalo mi niekoľko hodín, kým som našiel správnu sekvenciu, ale teraz to funguje dobre. Musíte rešpektovať tieto kroky:
-1 detekuje stlačenie klávesu na stúpajúcej hrane pinu DA
-2 prečítajte hodnotu vygenerovanú na DCBA a porovnajte ju s dobrou
Pokiaľ to určite nepôjde.
Ďakujem za všetky zaujímavé návody cez net.