Turinys:
- 1 veiksmas: serijinis ekranas
- 2 žingsnis: „Matrix“klaviatūra
- 3 žingsnis: Surinkimas
- 4 žingsnis: šaltinio kodas
- 5 veiksmas: rodyti komandas
- 6 veiksmas: klaviatūros valdymas
- 7 veiksmas: slaptažodžio nustatymas
- 8 veiksmas: sąranka
- 9 žingsnis: ciklas
Video: Prietaisų skydelio klaviatūra su LCD ekranu ir „Arduino Uno“: 9 žingsniai
2024 Autorius: John Day | [email protected]. Paskutinį kartą keistas: 2024-01-30 10:48
Tai matricinė klaviatūra, veikianti kartu su skystųjų kristalų ekranu ir „Arduino Uno“- pati paprasčiausia šiandien. Šios sąrankos tikslas yra sukurti programą, kuri gautų matricos klaviatūra įvestą slaptažodį, palygintų jį su teisingu slaptažodžiu ir ekrane parodytų patvirtinimo pranešimą.
Svarbu prisiminti, kad tiek matricinė klaviatūra, tiek šis ekranas veikia su ESP8266 ir ESP32.
Kaip matote, grandinę maitiname „Arduino“per USB, nes nenaudojame išorinio šaltinio. Aštuoni laidai, labai paprastai prijungti prie „Arduino“prievadų, jungia mūsų klaviatūrą. Ši klaviatūra neturi galios ir yra pasyvi, o tai labai palengvina ryšius.
Ekranas yra prijungtas prie „Arduino“per UART, nuoseklųjį prievadą, kuris taip pat maitina įrenginį.
Demonstracijoje vaizdo įraše parodome savo grandinę, tikrinančią, ar klaviatūroje įvestas slaptažodis yra teisingas, ar ne.
Vaizdo įraše naudojamame ir čia esančiame PDF faile mes turime visą naudojamo lusto kodą.
1 veiksmas: serijinis ekranas
Tai serijinis ekranas, palaikantis ryšį su UART, kuris yra RS su TXRX. Jis taip pat egzistuoja I2C versijose, tačiau kiti modeliai liks artėjančiam surinkimui. Šiuo atveju šis ekranas veikia UART by RS.
2 žingsnis: „Matrix“klaviatūra
Mūsų naudojamos matricinės klaviatūros pavyzdys yra nuotrauka, ir ji yra dešinėje pusėje. Mes turime schemą, kurioje parodyta, kaip tai veikia. Tiesą sakant, jis turi tik 4x4 linijas. Taigi, jis naudoja minimalų laidų kiekį; po vieną laidą kiekvienai eilutei ir stulpeliui, kad iš viso būtų aštuoni laidai.
Jai nereikia energijos, nes ji veikia taip: paspaudus 7, klaviatūra paima 7 ir prisijungia prie linijos ir stulpelio, o tai leidžia identifikuoti automatiškai nuskaitant algoritmą.
Svarbu prisiminti, kad šiame rinkinyje veiks bet kuri 4x4 klaviatūra, kuri yra taškinė matrica.
3 žingsnis: Surinkimas
Bendroje schemoje aštuoni laidai prijungiami tiesiai prie „Arduino“prievadų, nes klaviatūra neturi galios. Ekrane yra RS 232 signalas, teigiama ir neigiama galia. Foninis apšvietimas vis dar yra, kuris taip pat jau yra prijungtas (identifikuotas BKL).
4 žingsnis: šaltinio kodas
Į šio projekto šaltinio kodą turite įtraukti serijinę ir klaviatūrą. Jame yra rinkinys RX_PIN ir TX_PIN, būtinas serijinei programinei įrangai, taip pat INVERTED 1. Tai buvo padaryta apačioje, siekiant sustiprinti signalą, kuris naudoja įvestį su apversta logika.
// biblioteka atsako į žaidimą com 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 Ekrano skystųjų kristalų ekranas #define TX_PIN 3 // apversti tam tikrus Rx ir Tx, tratando LOW como HIGH ir atvirkščiai #define INVERTED 1
5 veiksmas: rodyti komandas
Svarbu: šiame ekrane nepakanka tiesiog įdėti eilutę. Turite siųsti valdymo simbolius. PDF faile yra svetainės, kurioje yra šio ekrano vadovas, nuoroda. Bet jei turite serijinį kito prekės ženklo ekraną, gerai pažvelgti į jų valdymo kodus, susijusius su tuo. Pavyzdžiui, šiame modelyje, kai siunčiame tam tikrą valdiklį (pvz., Informacija apie šį ekraną), turime atsiųsti priešdėlį, skaičių 254, kad įgalintume ryšį.
Taigi mes sukūrėme ARRAY, kad palengvintume reikalus, tai yra kintamųjų, kurie pasiekiami naudojant skaitmeninį indeksą, rinkinys. Tai bus išsiųsta į ekraną kaip pradinė konfigūracija.
// comando para limpar toda a tela do displayconst char limparTela = {254, 1}; // comandos de configuração inicial/ * 254, 254 acende arba 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 veiksmas: klaviatūros valdymas
Kaip veikia klaviatūra? Pirma, jis sumontuoja masyvą. Šis masyvas yra tokio pobūdžio, kuris iš tikrųjų bus rodomas ten. Taigi, jei įdedu X, kai paspaudžiu pirmąjį kairįjį mygtuką viršuje, jis rodomas. Tai yra klaviatūros turinys, kurį ji įsakys.
Kiti dalykai, kuriuos mes turime apibrėžimą, yra 4 eilutės numeris ir 4 stulpelio numeris šios klaviatūros ARRAY atveju. Mes vis dar turime linijų kaiščius, kurie yra „Arduino“kaiščiai ir stulpelio kaiščiai. Vis dar turime „customKeypad“klaviatūros kūrimo priemonę su simbolio, kaiščio, eilutės ir stulpelio parametrais.
const baitas LINHAS = 4; // número de linhas do tecladoconst byte COLUNAS = 4; // número de colunas do teclado // apibrėžti 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“'}}; baitas 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 = Keypad (makeKeymap (SIMBOLOS), PINOS_LINHA, PINOS_COLUNA, LINHAS, COLUNAS);
7 veiksmas: slaptažodžio nustatymas
Šioje dalyje mes apibrėžiame slaptažodį, tada turime įvesti slaptažodį, kuris yra tuščia eilutė. Žemiau pateikiame programinės įrangos serijos egzempliorių.
// varáveis resposnsáveis por armazenar as senhasconst String SENHA_ESPERADA = "1234ABCD"; Styga SENHA_DIGITADA = ""; // instancia de SoftwareSerial para nos comunicar com o Display via serial SoftwareSerial displaySerial = SoftwareSerial (RX_PIN, TX_PIN, INVERTED);
8 veiksmas: sąranka
Kalbant apie sąranką, čia yra displaySerial.begin (2, 400), kuris yra apie greitį. Mūsų atveju to pakanka, kad išsiųstumėte baitą. Po to laukiama 700 milisekundžių. Mes įtraukiame „displaySerial.print“(„InitConfig“) iš pradinės konfigūracijos su nauju 10 milisekundžių vėlavimu ir pereiname prie pradžios funkcijos. Pradžios funkcijoje įdedame displaySerial.print („password:“).
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); vėlavimas (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 žingsnis: ciklas
Cikle sukuriame customKey = customKeypad.getKey (), o sekoje įvedame komandą Switch.
// captura a tecla pressionada do teclado char customKey = customKeypad.getKey (); // caso alguma tecla foi pressionada if (customKey) {Serial.println (customKey); jungiklis („customKey“) { /… /}}
Kilpinis jungiklis 1 dalis
Komandos „Perjungti“viduje: rodomas spausdinamų klavišų galimybių sąrašas, jei paspaudžiamas, ir padidinamas slaptažodis: paima „customKey“ir sujungia įvestą slaptažodį. Tada displaySerial.print (customKey) rodo pagrindinį turinį.
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': atvejis '4': atvejis '5': atvejis '6': atvejis '7': atvejis '8': atvejis '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); pertrauka;
Kilpinis jungiklis 2 dalis
Šiame kode mes parodome scenarijų, kaip paspausti CLEAR klavišą. Jei įvesite raidę C ir išvalysite kintamąjį, kuriame yra jūsų įvedamas slaptažodis, jis iškviečia komandą išvalyti ekraną ir paleidžiamas iš naujo.
// 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 (); pertrauka;
Kilpinis jungiklis 3 dalis
Kita galimybė yra, jei įvesite raidę E. Tokiu atveju ekranas bus išvalytas ir išanalizuotas, jei įvestas slaptažodis yra teisingas ar neteisingas. Toliau duosime 2 sekundžių vėlavimą, išvalysime ekraną, iš naujo nustatysime slaptažodžio kintamąjį ir grįšime į pradžią.
// 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 increta displaySerial.print ("Senha Incorreta!"); } // aguarda 2 segundos para limpar a tela novamente e esperar uma nova senha ser digitada delay (2000); displaySerial.print (limparTela);
Rekomenduojamas:
STONE LCD ekranas automobilio prietaisų skydeliui: 5 žingsniai
STONE LCD ekranas automobilių prietaisų skydeliui: Sparčiai vystantis ekonomikai ir palaipsniui tobulėjant žmonių vartojimo galiai, automobiliai tapo kasdienėmis paprastų šeimų reikmėmis, ir visi daugiau dėmesio skiria automobilių patogumui ir saugumui. Automobilių pramonė
Prietaisų skydelio valdiklių naudojimas su „Magicbit“[„Magicblocks“]: 5 žingsniai
Prietaisų skydelio valdiklių naudojimas su „Magicbit“[„Magicblocks“]: ši pamoka išmokys jus naudoti „Magicblocks“prietaisų skydelio valdiklius su „Magicbit“. Šiame projekte, kuris grindžiamas ESP32, mes naudojame „Magicbit“kaip kūrimo lentą. Todėl šiame projekte gali būti naudojama bet kuri ESP32 kūrimo plokštė
Greita ir nešvari klaviatūra (tuščia klaviatūra): 3 žingsniai
Greita ir nešvari klaviatūra (tuščia klaviatūra): „Das“klaviatūra yra populiariausios klaviatūros pavadinimas be jokių užrašų ant klavišų (tuščia klaviatūra). „Das“klaviatūra parduodama už 89,95 USD. Ši pamoka jums padės, nors ją pasigaminsite naudodami bet kurią seną klaviatūrą, kurią guli
Pasidaryk pats - sutaupykite ~ 200 USD ir pakeiskite prietaisų skydelio lemputes su šviesos diodais: 8 žingsniai
Pasidaryk pats - sutaupykite ~ 200 USD ir pakeiskite prietaisų skydelio lemputes su šviesos diodais: automobilių pardavėjas norėjo daugiau nei 200,00 USD (dalys ir darbas - daugiausia darbo), kad pakeistų 2001 m. „Voyager“prietaisų skydelio lemputes. Jei laikysitės šių nurodymų, tai galite padaryti patys maždaug 20 minučių savo laiko ir ~ 22,90 USD
Automobilio prietaisų skydelio laikiklis: 9 žingsniai (su nuotraukomis)
Automobilio prietaisų skydelio laikiklis: nebrangus (PIGI) ir efektyvus (DARBO) būdas pritvirtinti vaizdo kamerą prie mano automobilio brūkšnio įrašymo tikslais. ĮRAŠYMAS! Aš išbandžiau gorilos trikojus, mini trikojus. Mano bičiulis pasiūlė maišelį su pupelėmis ( kurių niekur neradome), bet …. T