Tartalomjegyzék:
- 1. lépés: Soros megjelenítés
- 2. lépés: Mátrix billentyűzet
- 3. lépés: Összeszerelés
- 4. lépés: Forráskód
- 5. lépés: A parancsok megjelenítése
- 6. lépés: A billentyűzet működése
- 7. lépés: Jelszó beállítása
- 8. lépés: Beállítás
- 9. lépés: Hurok
Videó: Műszerfal billentyűzet LCD kijelzővel és Arduino Uno: 9 lépés
2024 Szerző: John Day | [email protected]. Utoljára módosítva: 2024-01-30 09:43
Ez egy mátrix billentyűzet, amely LCD kijelzővel és Arduino Uno -val együtt fut, a legalapvetőbb, ami ma létezik. Ennek a beállításnak az a célja, hogy olyan programot hozzon létre, amely megkapja a mátrix billentyűzetre beírt jelszót, összehasonlítja azt a megfelelő jelszóval, és megerősítő üzenetet jelenít meg a kijelzőn.
Fontos megjegyezni, hogy a mátrix billentyűzet és ez a kijelző is működik az ESP8266 és ESP32 készülékekkel.
Amint láthatja, az áramkört az Arduino segítségével USB -ről tápláljuk, mivel nem használunk külső forrást. Nyolc vezeték, amelyek nagyon egyszerűen csatlakoznak az Arduino portjaihoz, billentyűzetünket csatlakoztatják. Ennek a billentyűzetnek nincs áramellátása, és passzív, ami nagyban megkönnyíti a csatlakozást.
A kijelző egy Arduino -val van csatlakoztatva az UART -on, a soros porton keresztül, amely szintén táplálja a készüléket.
Egy bemutatóban a videóban megmutatjuk az áramkörünket, amely ellenőrzi, hogy a billentyűzeten beírt jelszó helyes -e vagy sem.
A videóban használt és itt elérhető PDF -fájlban megtalálható a használt chip teljes pinoutja.
1. lépés: Soros megjelenítés
Ez a soros kijelző kommunikál az UART -val, amely RS és TXRX. I2C verziókban is létezik, de más modellek megmaradnak a közelgő szereléshez. Ebben az esetben ez a kijelző az UART by RS által működik.
2. lépés: Mátrix billentyűzet
Az általunk használt mátrix billentyűzet példája a fénykép, és a jobb oldalon található. Van egy diagramunk, amely bemutatja, hogyan működik. Valójában csak 4x4 -es sorokat tartalmaz. Így a minimális mennyiségű vezetéket használja; minden vezetékhez és oszlophoz egy vezeték, így összesen nyolc vezeték van.
Nincs szüksége áramra, mert a következőképpen működik: a 7 megnyomására a billentyűzet felveszi a 7 -et, és csatlakozik a vonalhoz és az oszlophoz, ami lehetővé teszi az azonosítást az algoritmus automatikus beolvasásával.
Fontos megjegyezni, hogy minden 4x4 -es billentyűzet, amely pontmátrix, működik ebben az összeállításban.
3. lépés: Összeszerelés
Az általános séma szerint nyolc vezetéket közvetlenül az Arduino portjaihoz kötünk, mivel a billentyűzetnek nincs áramellátása. A kijelzőn RS 232 jel, pozitív és negatív teljesítmény látható. A Háttérvilágítás még mindig jelen van, amely szintén csatlakoztatva van (a BKL azonosítja).
4. lépés: Forráskód
A projekt forráskódjában szerepelnie kell a soros és a billentyűzetnek. Van egy sor RX_PIN és egy TX_PIN, amely a soros szoftverhez szükséges, valamint az INVERTED 1. Ez alulra került, hogy erősítse a jelet, amely fordított logikájú bemenetet használ.
// biblioteca responseável pela comunicação com o display LCD #include // biblioteca responseável por capturar a tecla que foi pressionada no teclado #include // pino invalidido apenas usado no contrutor do SoftwareSerial #define RX_PIN 255 // pino TX da nossa ligação Arduino x Kijelző LCD #define TX_PIN 3 // inverte a lógica dos pinos Rx e Tx, tratando LOW como HIGH e fordítva #define INVERTED 1
5. lépés: A parancsok megjelenítése
Fontos: Ebben a kijelzőben nem elég csak egy karakterláncot tenni rá. Vezérlő karaktereket kell küldeni. A PDF tartalmazza annak a webhelynek a linkjét, ahol a kijelző kézikönyve megtalálható. De ha egy másik márka soros kijelzője van, akkor érdemes megnézni a vezérlőkódjaikat, amelyek erre vonatkoznak. Ebben a modellben például, amikor elküldünk egy bizonyos vezérlőt (például a kijelzőhöz tartozó információkat), el kell küldenünk egy előtagot, a 254 -es számot a kommunikáció engedélyezéséhez.
Ezért a dolgok megkönnyítése érdekében beállítottunk egy ARRAY -t, amely egy változógyűjtemény, amely numerikus indexszel érhető el. Ezt kezdeti konfigurációként elküldi a kijelzőre.
// comando para limpar toda a tela do displayconst char limparTela = {254, 1}; // comandos de configuração inicial/ * 254, 254 acende vagy backlight 254, 1 limpa a tela 254, 253, 1 configura o contraste em nível alto 254, 13 liga o cursor paraficar piscando */const char configInicial = {254, 254, 254, 1, 254, 253, 1, 254, 13};
6. lépés: A billentyűzet működése
Hogyan működik a billentyűzet? Először egy tömböt szerel fel. Ez a tömb olyan karakter, amely valóban megjelenik. Tehát ha X -et teszek, amikor megnyomom az első bal gombot a tetején, az megjelenik. Ez a billentyűzet tartalma, ezt fogja parancsolni.
A definíción kívül a 4. sor és a 4. oszlop is megtalálható a billentyűzet ARRAY esetében. Még mindig megvannak a sorok csapjai, amelyek az Arduino csapok és az oszlop csapjai. Még mindig van egy egyedi billentyűzet -billentyűzet -készítőnk a szimbólum, a pin, a sor és az oszlop paramétereivel.
const bájt LINHAS = 4; // número de linhas do tecladoconst byte COLUNAS = 4; // número de colunas do teclado // define uma matriz com os símbolos que deseja ser lido do teclado char SIMBOLOS [LINHAS] [COLUNAS] = {{'A', '1', '2', '3'}, { "B", "4", "5", "6"}, {"C", "7", "8", "9"}, {"D", "c", "0", "e" '}}; bájtos PINOS_LINHA [LINHAS] = {8, 9, 10, 11}; // pinos que indicam as linhas do teclado byte PINOS_COLUNA [COLUNAS] = {4, 5, 6, 7}; // pinos que indicam as colunas do teclado // instancia de Keypad, responseavel for capturar and tecla pressionada Keypad customKeypad = Kezelő (makeKeymap (SIMBOLOS), PINOS_LINHA, PINOS_COLUNA, LINHAS, COLUNAS);
7. lépés: Jelszó beállítása
Ebben a részben definiáljuk a jelszót, majd meg kell adnunk egy jelszót, ami egy üres karakterlánc. Az alábbiakban bemutatjuk a softwareSerial példányát.
// variáveis resposnsáveis por armazenar as senhasconst String SENHA_ESPERADA = "1234ABCD"; Karakterlánc SENHA_DIGITADA = ""; // instancia de SoftwareSerial para nos comunicar com o Megjelenítés soros SoftwareSerial displaySerial = SoftwareSerial (RX_PIN, TX_PIN, INVERTED);
8. lépés: Beállítás
Ami a telepítést illeti, itt van a displaySerial.begin (2, 400), ami a sebességről szól. Esetünkben ez elég egy bájt elküldéséhez. Ezt követően 700 milliszekundumot kell várni. A kezdeti konfigurációból a displaySerial.print (initialConfig) elemet új, 10 milliszekundumos késleltetéssel felvesszük, és a start funkcióhoz lépünk. A start függvénybe a displaySerial.print ("jelszó:") parancsot helyezzük.
void setup () {Serial.begin (2400); // inicializando a serial de comunicação com o display // importante o baud rate 2400 displaySerial.begin (2400); // tempo de espera pela inicialização do display delay (700); // seta a configuração inicial do display displaySerial.print (configInicial); késleltetés (10); inicio (); } // função responseável por imprimir na tela a mensagem para digitar a senha // é chamada toda vez q a senha foi digitada e comparada, também quando // a tecla limpar display foi pressionada. void inicio () {displaySerial.print ("Senha:"); }
9. lépés: Hurok
A ciklusban létrehozunk egy customKey = customKeypad.getKey () -ot, és a sorrendben megadunk egy Switch parancsot.
// captura a tecla pressionada do teclado char customKey = customKeypad.getKey (); // caso alguma tecla foi pressionada if (customKey) {Serial.println (customKey); kapcsoló (customKey) { /… /}}
Hurokkapcsoló 1. rész
A Switch parancsban: megjeleníti a nyomtatható gombok listáját, ha lenyomják, és növeli a jelszót: felveszi az customKey -t és összefűzi a beírt jelszót. Ezután a displaySerial.print (customKey) megjeleníti a kulcstartalmat.
switch (customKey) {// caso alguma das teclas imprimíveis foi pressionada case 'A': case 'B': case 'C': case 'D': case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': // concatena o novo símbolo a senha que estamos digitando SENHA_DIGITADA+= customKey; Serial.println (SENHA_DIGITADA); // imrpime na tela o símbolo pressionado displaySerial.print (customKey); szünet;
Hurokkapcsoló 2. rész
Ebben a kódban egy forgatókönyvet mutatunk be a CLEAR gomb megnyomásakor. Ha beírja a C betűt, és törli a beírt jelszót tároló változót, akkor a parancs törli a képernyőt, és újraindul.
// caso a tecla CLEAR tenha sido pressionada case 'c': // limpa a variável que guarda a senha que está sendo digitada SENHA_DIGITADA = ""; // chama o comando para limpar a tela displaySerial.print (limparTela); // configura a mensagem para digitar a senha inicio (); szünet;
Hurokkapcsoló 3. rész
Egy másik lehetőség az E betű beírása. Ebben az esetben a képernyő megtisztul, és elemzi, ha a megadott jelszó helyes vagy helytelen. Ezután új, 2 másodperces késleltetést adunk, töröljük a képernyőt, állítsuk vissza a jelszóváltozót, és térjünk vissza az elejére.
// caso a tecla ENTER seja pressionada, devemos comparar as senhas case 'e': // limpa a tela displaySerial.print (limparTela); // se a senha digitada foi igual a ESPERADA if (SENHA_ESPERADA == SENHA_DIGITADA) {Serial.println ("Senha Correta!"); // imprime mensagem de senha korrekt displaySerial.print ("Senha Correta !!!"); } // caso senha esteja errada else {Serial.println ("Senha Incorreta!"); // imprime mensagem de senha inkorrekt displaySerial.print ("Senha Incorreta!"); } // aguarda 2 segundos para limpar a tela novamente e esperar uma nova senha ser digitada delay (2000); displaySerial.print (limparTela);
Ajánlott:
Élő Covid19 Tracker ESP8266 és OLED használatával - Valós idejű Covid19 műszerfal: 4 lépés
Élő Covid19 Tracker ESP8266 és OLED használatával | Valós idejű Covid19 irányítópult: Látogassa meg a Techtronic kemény webhelyét: http: //techtronicharsh.com Mindenhol hatalmas koronavírus -járvány (COVID19) kitörése van. Szükségessé vált a COVID-19 jelenlegi forgatókönyvének figyelemmel kísérése a világban. Tehát, mivel otthon volt, ez volt a
Raspberry Pi motorkerékpár műszerfal: 9 lépés (képekkel)
Raspberry Pi motorkerékpár műszerfal: Diákként Multimédia & Kommunikációs technológia a Howest Kortrijkban, saját IoT projektet kellett készítenem. Ez az első évben követett összes modult egyetlen nagy projektbe egyesítené. Mivel szabadidőmben sokat motorozok
Guino: Műszerfal az Arduino számára: 4 lépés (képekkel)
Guino: Irányítópult az Arduino számára: Ez a projekt a kísérletek része, amelyet az Instructables lakóhelyén élő művész készítésekor végeztek. A többi projektet itt tekintheti meg. Bonyolult feladat lehet a valós idejű adatok hibakeresése és megjelenítése az Arduino táblán. Általában ragaszkodik a s
Gyors és piszkos billentyűzet (üres billentyűzet): 3 lépés
Gyors és piszkos Das billentyűzet (üres billentyűzet): A Das billentyűzet a legnépszerűbb billentyűzet neve, amelyen nincs felirat a billentyűkön (üres billentyűzet). A Das billentyűzet ára 89,95 dollár. Ez az útmutató segít eligazítani, bár saját kezűleg készíthet bármilyen régi billentyűzetet, amellyel hever
Az Apple alumínium billentyűzet tisztítása . vagy bármely más puha tapintású billentyűzet: 5 lépés
Az Apple alumínium billentyűzet tisztítása …. vagy bármely más lágy érintésű billentyűzet: Bármilyen tiszta vagy, vagy megpróbáljuk megtartani alumínium alma billentyűzetünket, körülbelül egy év múlva mocskosak lesznek. Ez az utasítás segít tisztítani. Legyen óvatos, mert nem vagyok felelős azért, ha a billentyűzet eltörik közben