Sadržaj:
- Korak 1: Serijski prikaz
- Korak 2: Matrična tastatura
- Korak 3: Montaža
- Korak 4: Izvorni kod
- Korak 5: Prikažite naredbe
- Korak 6: Rad sa tastaturom
- Korak 7: Postavljanje lozinke
- Korak 8: Postavljanje
- Korak 9: Petlja
Video: Tastatura nadzorne ploče s LCD zaslonom i Arduino Uno: 9 koraka
2024 Autor: John Day | [email protected]. Zadnja izmjena: 2024-01-30 08:08
Ovo je matrična tastatura koja radi zajedno sa LCD ekranom i Arduino Uno, najosnovnijim koji postoji danas. Svrha ovog postavljanja je stvaranje programa koji prima lozinku otkucanu na matričnoj tastaturi, uspoređuje je s ispravnom lozinkom i prikazuje poruku potvrde na ekranu.
Važno je zapamtiti da i matrična tastatura i ovaj ekran rade sa ESP8266 i ESP32.
Kao što vidite, napajamo krug Arduinom putem USB -a, jer ne koristimo vanjski izvor. Osam žica spojenih na vrlo jednostavan način na Arduinove portove povezuju našu tastaturu. Ova tastatura nema snagu i pasivna je, što uvelike olakšava povezivanje.
Zaslon je povezan s Arduinom putem UART -a, serijskog porta, koji također napaja uređaj.
U demonstraciji pokazujemo u videu naše kolo provjeravajući je li lozinka upisana na tastaturi ispravna ili nije.
U PDF -u koji se koristi u videu i koji je dostupan ovdje, imamo potpunu identifikaciju čipa koji se koristi.
Korak 1: Serijski prikaz
Ovo je serijski ekran koji komunicira sa UART -om, koji je RS sa TXRX -om. Postoji i u verzijama I2C, ali drugi će modeli ostati za nadolazeću montažu. U ovom slučaju, ovaj zaslon radi pomoću UART -a RS.
Korak 2: Matrična tastatura
Primjer matrične tipkovnice koju koristimo je fotografija, a nalazi se na desnoj strani. Imamo dijagram koji prikazuje kako to funkcionira. Zapravo ima samo 4x4 linije. Dakle, koristi minimalnu količinu žica; po jedna žica za svaki red i stupac, tako da ima ukupno osam žica.
Ne treba mu napajanje jer radi na sljedeći način: kada se pritisne 7, tastatura uzima 7 i povezuje se s linijom i kolonom, što omogućava identifikaciju automatskim skeniranjem algoritma.
Važno je zapamtiti da će svaka 4x4 tastatura koja je matrična raditi u ovom sklopu.
Korak 3: Montaža
U općoj shemi, povezujemo osam žica izravno na portove Arduina, jer tipkovnica nema napajanje. Na displeju imamo signal RS 232, pozitivne i negativne snage. Pozadinsko osvjetljenje je i dalje prisutno, koje je također već povezano (identificirano BKL -om).
Korak 4: Izvorni kod
U izvornom kodu ovog projekta morate uključiti serijsku i tastaturu. Ima skup RX_PIN i TX_PIN, neophodne za serijski softver, a takođe i INVERTED 1. Ovo je postavljeno ispod za pojačavanje signala koji koristi ulaz sa obrnutom logikom.
// biblioteca responvel pela comunicação com o display LCD #include // biblioteca responsável por capturar a tecla que foi pressionada no teclado #include // pino invalido apenas usado ne contrutor do SoftwareSerial #define RX_PIN 255 // pino TX bez veze za Arduino x Zaslon LCD #define TX_PIN 3 // invertirajte dosje RX e Tx, tratando LOW kao HIGH ili obratno #define INVERTED 1
Korak 5: Prikažite naredbe
Važno: U ovom prikazu nije dovoljno samo staviti niz. Morate poslati kontrolne znakove. PDF sadrži vezu na web lokaciju na kojoj imate priručnik za ovaj prikaz. No, ako imate serijski zaslon druge marke, dobro je pogledati njihove kontrolne kodove koji se na to odnose. U ovom modelu, na primjer, kada šaljemo određenu kontrolu (informacije za ovaj prikaz, na primjer), moramo poslati prefiks, broj 254, kako bismo omogućili komunikaciju.
Stoga smo postavili ARRAY za olakšavanje stvari, koji je skup varijabli kojima se pristupa numeričkim indeksom. Ovo će biti poslano na ekran kao početna konfiguracija.
// komanda para limpar toda i tela do displayconst char limparTela = {254, 1}; // komande za konfiguraciju inicial/ * 254, 254 sa pozadinskim osvjetljenjem 254, 1 limpa a tijelo 254, 253, 1 konfiguracija za kontrast na visini od 254, 13 liga ili parametar kursora za pisanje */const char configInicial = {254, 254, 254, 1, 254, 253, 1, 254, 13};
Korak 6: Rad sa tastaturom
Kako funkcioniše tastatura? Prvo, montira niz. Ovaj niz je karaktera koji će se tamo zaista prikazati. Dakle, ako stavim X, kad pritisnem prvo lijevo dugme na vrhu, ono se prikazuje. Ovo je sadržaj tastature, čime će ona komandovati.
Ostale stvari za koje imamo definiciju su red 4 i stupac broj 4, u slučaju NIZA ove tastature. Još uvijek imamo igle linija, koje su Arduino igle kolone. Još uvijek imamo customKeypad Keypad builder sa simbolima, pin -om, redovima i parametrima stupaca.
const bajt LINHAS = 4; // número de linhas do tecladoconst byte COLUNAS = 4; // número de colunas do teclado // definirati 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 '}}; bajt 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 = Keypad (makeKeymap (SIMBOLOS), PINOS_LINHA, PINOS_COLUNA, LINHAS, COLUNAS);
Korak 7: Postavljanje lozinke
U ovom dijelu definiramo lozinku, a zatim moramo unijeti lozinku, koja je prazan niz. U nastavku stavljamo instancu softverske serije.
// varijacija odgovora na armazenar kao senhasconst String SENHA_ESPERADA = "1234ABCD"; String SENHA_DIGITADA = ""; // instanca de SoftwareSerial para comunicar com o Prikaz putem serijskog SoftwareSerial displaySerial = SoftwareSerial (RX_PIN, TX_PIN, INVERTED);
Korak 8: Postavljanje
Što se tiče postavljanja, ovdje je displaySerial.begin (2, 400), koji govori o brzini. U našem slučaju, ovo je dovoljno za slanje bajta. Nakon toga, čeka se 700 milisekundi. Uključujemo displaySerial.print (initialConfig) iz početne konfiguracije s novim kašnjenjem od 10 milisekundi i idemo na funkciju start. U startnu funkciju stavljamo displaySerial.print ("lozinka:").
void setup () {Serial.begin (2400); // inicializando serial de comunicação com o display // važno za brzinu prijenosa od 2400 displaySerial.begin (2400); // tempo de espera pela inicialização do odgode prikaza (700); // postavlja konfiguraciju za prikaz displaySerial.print (configInicial); kašnjenje (10); inicio (); } // função responsável por imprimir na tela a mensagem para digitar a senha // é chamada toda vez q a senha foi digitada and comparada, também quando // a tecla limpar display foi pressionada. void inicio () {displaySerial.print ("Senha:"); }
Korak 9: Petlja
U petlji stvaramo customKey = customKeypad.getKey () i u nizu unosimo naredbu Switch.
// snima tecla pressionada do teclado char customKey = customKeypad.getKey (); // caso alguma tecla foi pressionada if (customKey) {Serial.println (customKey); prekidač (customKey) { /… /}}
Prekidač petlje, dio 1
Unutar naredbe Switch: prikazuje listu mogućnosti tastera za štampanje, ako se pritisne, i povećava lozinku: uzima customKey i povezuje unesenu lozinku. Zatim displaySerial.print (customKey) prikazuje sadržaj ključa.
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': slučaj '4': slučaj '5': slučaj '6': slučaj '7': slučaj '8': slučaj '9': // spajanje na novo símbolo i senha que estamos digitando SENHA_DIGITADA+= customKey; Serial.println (SENHA_DIGITADA); // imprime na tijelu o símbolo pressionado displaySerial.print (customKey); break;
Prekidač petlje, dio 2
U ovom kodu prikazujemo scenarij ako se pritisne tipka CLEAR. Ako upišete slovo C i obrišete varijablu koja sadrži lozinku koju upisujete, ona poziva naredbu za brisanje ekrana i ponovno pokretanje.
// caso a tecla CLEAR tenha sido pressionada case 'c': // limpa a variável que guarda and senha que está sendo digitada SENHA_DIGITADA = ""; // Chama o comando para limpar a tela displaySerial.print (limparTela); // konfiguriše mensagem para digitar a senha inicio (); break;
Prekidač petlje, dio 3
Druga mogućnost je ako upišete slovo E. U tom slučaju zaslon će se očistiti i analizirati je li unesena lozinka točna ili netočna. Zatim ćemo dati novo kašnjenje od 2 sekunde, očistiti ekran, poništiti varijablu lozinke i vratiti se na početak.
// caso a tecla ENTER unesite pritisnutu tipku, usporedite je s velikim slučajem 'e': // limpa a tela displaySerial.print (limparTela); // prikazuje digitalnu vrijednost za ESPERADU ako (SENHA_ESPERADA == SENHA_DIGITADA) {Serial.println ("Senha Correta!"); // imprime mensagem de senha correta displaySerial.print ("Senha Correta !!!"); } // caso senha esteja errada else {Serial.println ("Senha Incorreta!"); // imprime mensagem de senha incoreta displaySerial.print ("Senha Incorreta!"); } // aguarda 2 segundos para limpar a tela novamente e esperar uma nova senha ser digitada delay (2000); displaySerial.print (limparTela);
Preporučuje se:
Upotreba widgeta nadzorne ploče s Magicbitom [Magicblocks]: 5 koraka
Korištenje widgeta nadzorne ploče s Magicbitom [Magicblocks]: Ovaj vodič će vas naučiti kako koristiti Magicblocks nadzorne ploče nadzorne ploče s vašim Magicbitom. Koristimo magicbit kao razvojnu ploču u ovom projektu koji se temelji na ESP32. Stoga se u ovom projektu može koristiti bilo koja razvojna ploča ESP32
Nifty Neopixel natpisne ploče i ploče: 3 koraka
Nifty Neopixel natpisne ploče i ploče: Evo jednostavnog načina da napravite prilagođene natpisne ploče ili praktične natpise koje je potrebno postaviti u blizini skupe, krhke ili opasne opreme. Osvijetlite ih neopikselima kako biste istaknuli važnu poruku na znaku. Odlično za sajam proizvođača ili konvenciju
Započnite s izgradnjom PM nadzorne stanice: 3 koraka (sa slikama)
Započnite s izgradnjom stanice za praćenje PM: Posebno me zanima nivo zagađenja zraka, jer živim u Kini i iako je moj grad, Shenzhen, vjerovatno jedan od najčišćih gradova u Kini, još uvijek ima svojih loših dana. htio sam izgraditi svoj za usporedbu sa pola tuceta zraka
Brza i prljava Das tastatura (prazna tastatura): 3 koraka
Brza i prljava Das tastatura (prazna tastatura): Das tastatura je naziv najpopularnije tastature bez natpisa na tasterima (prazna tastatura). Das tastatura se prodaje po cijeni od 89,95 USD. Ovo uputstvo će vas voditi iako ćete sami napraviti bilo koju staru tastaturu koja vam leži
Pogledajte nadzorne ploče Emoncms & ESP8266 + Arduino #IoT: 7 koraka (sa slikama)
Pogledajte nadzorne ploče Emoncms & ESP8266 + Arduino #IoT: Dugo sam testirao Emoncms platformu i ovom prilikom ću vam pokazati krajnji rezultat i kvalitetu nadzornih ploča i / ili vizualizacija. Uzeo sam neke vodiče koji će poslužiti kao međukorake. Vizualiziraćemo