Sisukord:
- Samm: jadaekraan
- 2. samm: maatriksi klaviatuur
- 3. samm: kokkupanek
- 4. samm: lähtekood
- Samm 5: Kuva käsud
- 6. toiming: klaviatuuri kasutamine
- Samm: parooli seadistamine
- 8. samm: seadistamine
- 9. samm: silmus
Video: Armatuurlaua klaviatuur LCD -ekraani ja Arduino Unoga: 9 sammu
2024 Autor: John Day | [email protected]. Viimati modifitseeritud: 2024-01-30 08:49
See on maatriksklaviatuur, mis töötab koos LCD -ekraaniga ja Arduino Unoga, mis on tänapäeval kõige elementaarsem. Selle seadistuse eesmärk on luua programm, mis võtab vastu maatriksi klaviatuuril sisestatud parooli, võrdleb seda õige parooliga ja kuvab ekraanile kinnitusteate.
Oluline on meeles pidada, et nii maatriksklaviatuur kui ka see ekraan töötavad ESP8266 ja ESP32 puhul.
Nagu näete, toidame vooluringi Arduino abil USB -ga, kuna me ei kasuta välist allikat. Kaheksa juhet, mis on Arduino portidega väga lihtsal viisil ühendatud, ühendavad meie klaviatuuri. Sellel klaviatuuril pole jõudu ja see on passiivne, mis hõlbustab oluliselt ühendusi.
Ekraan on ühendatud Arduinoga jadaporti UART kaudu, mis samuti seadet toidab.
Demonstratsioonina näitame videos oma vooluringi, kontrollides, kas klaviatuuril sisestatud parool on õige või mitte.
Videos kasutatavas ja siin saadaval olevas PDF -failis on meil kasutusel oleva kiibi täielik otsik.
Samm: jadaekraan
See on jadakuva, mis suhtleb UART -iga, mis on RS koos TXRX -iga. See on olemas ka I2C versioonides, kuid eelseisva koostu jaoks jäävad alles teised mudelid. Sel juhul töötab see kuva UART by RS poolt.
2. samm: maatriksi klaviatuur
Kasutatava maatriksklaviatuuri näide on foto ja see asub paremal küljel. Meil on diagramm, mis näitab, kuidas see töötab. Sellel on tegelikult ainult 4x4 read. Seega kasutab see minimaalset juhtmete kogust; üks juhe iga rea ja veeru kohta, nii et kokku on kaheksa traati.
See ei vaja voolu, sest see töötab järgmiselt: kui vajutate 7, võtab klaviatuur 7 ja võtab ühendust rea ja veeruga, mis võimaldab tuvastada algoritmi automaatselt skannides.
Oluline on meeles pidada, et selles komplektis töötab mis tahes 4x4 klaviatuur, mis on punktmaatriks.
3. samm: kokkupanek
Üldises skeemis ühendame kaheksa juhet otse Arduino portidega, kuna klaviatuuril pole toite. Ekraanil on signaal RS 232 ning positiivne ja negatiivne võimsus. Taustvalgus on endiselt olemas, mis on samuti juba ühendatud (tuvastatud BKL -iga).
4. samm: lähtekood
Selle projekti lähtekoodi peate lisama seeria- ja klahvistiku. Sellel on seeria tarkvara jaoks vajalik komplekt RX_PIN ja TX_PIN ning ka INVERTED 1. See paigutati alla, et võimendada signaali, mis kasutab ümberpööratud loogikaga sisendit.
// 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 Ekraani LCD #define TX_PIN 3 // tagurpidi pööramine Rx e Tx, tratando LOW como HIGH e vastupidi #define INVERTED 1
Samm 5: Kuva käsud
Tähtis: sellel kuval ei piisa ainult nööri panemisest. Peate saatma juhtmärgid. PDF -fail sisaldab selle saidi linki, kus teil on selle ekraani kasutusjuhend. Aga kui teil on mõne teise kaubamärgi jadakuva, on hea vaadata nende juhtkoode, mis sellega seotud on. Näiteks selle mudeli puhul, kui saadame teatud juhtelemendi (näiteks selle ekraani andmed), peame suhtluse võimaldamiseks saatma eesliite, numbri 254.
Nii seadsime asjade hõlbustamiseks ARRAY, mis on muutujate kogum, millele pääseb juurde numbrilise indeksiga. See saadetakse ekraanile esialgse konfiguratsioonina.
// comando para limpar toda a tela do displayconst char limparTela = {254, 1}; // comandos de configuração inicial/ * 254, 254 acende või taustvalgus 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. toiming: klaviatuuri kasutamine
Kuidas klaviatuur toimib? Esiteks ühendab see massiivi. See massiiv on tegelaskuju, mis seal tegelikult kuvatakse. Nii et kui panen X, siis kui vajutan ülaosas esimest vasakpoolset nuppu, kuvatakse see. See on klaviatuuri sisu, mida ta käsib.
Muud asjad, mille jaoks meil on määratlus, on rea number 4 ja veeru number 4, selle klaviatuuri ARRAY puhul. Meil on endiselt joonte tihvtid, milleks on Arduino tihvtid, ja veeru tihvtid. Meil on endiselt kohandatud klahvistiku klaviatuuri koostaja, millel on sümboli, tihvti, rea ja veeru parameetrid.
const bait LINHAS = 4; // número de linhas do tecladoconst byte COLUNAS = 4; // número de colunas do teclado // määratle 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" '}}; bait 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, response to capturar and tecla pressionada Keypad customKeypad = Klahvistik (makeKeymap (SIMBOLOS), PINOS_LINHA, PINOS_COLUNA, LINHAS, COLUNAS);
Samm: parooli seadistamine
Selles osas määratleme parooli ja seejärel peame sisestama parooli, mis on tühi string. Allpool esitame tarkvaraSerial eksemplari.
// varáveis resposnsáveis por armazenar as senhasconst String SENHA_ESPERADA = "1234ABCD"; String SENHA_DIGITADA = ""; // instancia de SoftwareSerial para nos comunicar com o Display per serial SoftwareSerial displaySerial = SoftwareSerial (RX_PIN, TX_PIN, INVERTED);
8. samm: seadistamine
Mis puutub seadistusse, siis siin on displaySerial.begin (2, 400), mis on umbes kiirus. Meie puhul piisab sellest baidi saatmiseks. Pärast seda tuleb oodata 700 millisekundit. Kaasame esialgse konfiguratsiooni displaySerial.print (initialConfig) uue viivitusega 10 millisekundit ja läheme käivitusfunktsiooni juurde. Stardifunktsiooni paneme displaySerial.print ("parool:").
void setup () {Serial.begin (2400); // initsialiseerimisseeria ja 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); viivitus (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. samm: silmus
Tsüklis loome customKey = customKeypad.getKey () ja järjestuses sisestame käsu Switch.
// captura a tecla pressionada do teclado char customKey = customKeypad.getKey (); // caso alguma tecla foi pressionada if (customKey) {Serial.println (customKey); lüliti (customKey) { /… /}}
Silmuslüliti 1. osa
Käsk Switch sees: see näitab prinditavate klahvide võimaluste loendit, kui neid vajutatakse, ja suurendab parooli: võtab customKey ja ühendab sisestatud parooli. Seejärel kuvab displaySerial.print (customKey) võtme sisu.
lüliti (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); murda;
Silmuslüliti 2. osa
Selles koodis näitame stsenaariumi, kui vajutada klahvi CLEAR. Kui sisestate tähe C ja tühjendate muutuja, mis hoiab teie sisestatud parooli, kutsub see käsu ekraani tühjendamiseks ja taaskäivitub.
// 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 (); murda;
Silmuslüliti 3. osa
Teine võimalus on sisestada täht E. Sellisel juhul puhastatakse ekraan ja analüüsitakse, kas sisestatud parool on õige või vale. Järgmisena anname uue 2 -sekundilise viivituse, tühjendame ekraani, lähtestame parooli muutuja ja naaseme algusesse.
// 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 koreta displaySerial.print ("Senha Correta !!!"); } // caso senha esteja errada else {Serial.println ("Senha Incorreta!"); // imprime mensagem de senha integreeritud displaySerial.print ("Senha Incorreta!"); } // aguarda 2 segundos para limpar a tela novamente e esperar uma nova senha ser digitada delay (2000); displaySerial.print (limparTela);
Soovitan:
Armatuurlaua vidinate kasutamine Magicbitiga [Magicblocks]: 5 sammu
Kasutage armatuurlaua vidinaid Magicbitiga [Magicblocks]: see õpetus õpetab teid Magicblocks armatuurlaua vidinaid oma Magicbitiga kasutama. Selles projektis, mis põhineb ESP32 -l, kasutame arendusplaadina magicbitit. Seetõttu saab selles projektis kasutada mis tahes ESP32 arendusplaati
Akustiline levitatsioon Arduino Unoga samm-sammult (8 sammu): 8 sammu
Akustiline levitatsioon Arduino Uno abil samm-sammult (8 sammu): ultraheliheli muundurid L298N DC-naissoost adapteri toiteallikas isase alalisvoolupistikuga Arduino UNOBreadboard ja analoogpordid koodi teisendamiseks (C ++)
Arduino LCD 16x2 õpetus - Liidesega 1602 LCD -ekraan Arduino Unoga: 5 sammu
Arduino LCD 16x2 õpetus | 1602 LCD -ekraani liidestamine Arduino Unoga: Tere kutid, kuna paljud projektid vajavad andmete kuvamiseks ekraani, olgu see siis mõni diy -meeter või YouTube'i tellimuste loend, kalkulaator või ekraaniga klahvilukk ja kui kõik sellised projektid on tehtud arduino nad määratlevad
LED -maatriksmassiivi juhtimine Arduino Unoga (Arduino jõul töötav robotnägu): 4 sammu (piltidega)
LED -maatriksmassiivi juhtimine Arduino Uno abil (Arduino jõul töötav robotnägu): see juhend näitab, kuidas juhtida 8x8 LED -maatriksi massiivi Arduino Uno abil. Seda juhendit võib kasutada teie projektide jaoks lihtsa (ja suhteliselt odava kuva) loomiseks. Nii saate kuvada tähti, numbreid või kohandatud animatsioone
Kiire ja määrdunud klaviatuur (tühi klaviatuur): 3 sammu
Kiire ja määrdunud klaviatuur (tühi klaviatuur): Das -klaviatuur on kõige populaarsema klaviatuuri nimi, millel pole klahvidel kirju (tühi klaviatuur). Das -klaviatuuri hind on 89,95 dollarit. See juhend annab teile juhiseid, kui teete selle ise mõne vana klaviatuuri abil, mis teil on