Cuprins:
2025 Autor: John Day | [email protected]. Modificat ultima dată: 2025-01-13 06:58
2 moduri de a gestiona o tastatură cu 16 butoane cu un minim de pini.
Pasul 1: Introducere
Recent am lucrat la o modalitate de a gestiona o matrice de tastatură tactilă 4x4 conectată la o clonă Arduino. Punctele stabilite au fost:
-să folosească doar 4 + 1 pini în loc de 8 pini pe atmega328p
-pentru a adăuga un ecran LCD 4x20 CHAR link prin I2C (2 pini)
-pentru a controla ieșirile digitale și analogice.
Deci, având o mulțime de lucruri de controlat cu o cantitate de I / O de păcat.
Pasul 2: Lucruri de utilizat:
Am cumpărat un afișaj LCD de 4x20 caractere și un adaptor de modul I2C pentru a conecta afișajul cu pinii SDA (A4) și SCL (A5) de pe clona mea arduino.
Folosesc faimosul și acum învechit MM74C922N: un convertor de 8 până la 4 căi se potrivește cu tastatura cu matrice 4x4.
Am creat o clonă a arduino bazată pe atmega328p și programată printr-un conector HE10 (magistrala SPI) și un cablu USBasp.
Pasul 3: Schema și Consiliul:
Tabloul este format din:
-tastatura LCD se utilizează numai cu Arduino IDE, nu este posibil cu LDmicro (programare Ladder)
-placa MM74C922N: 16 butoane codate pe 16 valori binare pe 4 biți DCBA. Când este apăsat un buton: ledul albastru se aprinde și apare o valoare pe DCBA (A este LSB). Când este eliberat un buton: ledul albastru se stinge și valoarea este resetată la zero pe DCBA.
-placa de clonare Arduino atmega238p.
Pasul 4: Utilizarea LDmicro cu programarea scării:
Codul de introdus este format din 4 valori dintre 16 valori apăsate pe tastă, deci combinații de 16x16x16x16.
Odată ce ați desenat SFC, trebuie să îl traduceți în LADDER cu metoda dată într-una din aplicațiile mele
instructabile:
www.instructables.com/id/Arduino-tomation-…
Odată tastat, compilați-l ca xxxx.hex și apoi descărcați-l cu programul de descărcare KHAZAMA.
Afișajul LCD nu poate fi programat pe LDmicro.
Ofer LDmicro zip cu schița SERRURE.id în ea și programul de descărcare KHAZAMA.
Pasul 5: Utilizarea Arduino IDE 1.8.x cu Mightycore și SMlib:
Traduc SFC într-o mașină de stat. Apoi am folosit Arduino IDE cu biblioteca Mightycore și SM din interior.
Afișez un mesaj de genul: EROARE, AȘTEPTARE, DEBLOCARE, starea atinsă, valoarea tastei apăsate pe ecranul LCD.
Vă dau schița și SM lib. Pentru Mightycore, uitați-vă la acest lucru:
www.instructables.com/id/Arduino-18x-Clone…
Pasul 6: Pentru a încheia:
Acestea sunt două moduri de a gestiona tastatura 16 și mi-au trebuit câteva ore să găsesc succesiunea bună, dar acum funcționează bine. Trebuie să respectați acești pași:
-1 detectați o tastă apăsată pe o margine ascendentă a pinului DA
-2 citiți valoarea generată pe DCBA și comparați-o cu cea bună
Cu excepția cazului în care cu siguranță nu va funcționa.
Mulțumim tuturor tutorialelor interesante de pe net.