Satura rādītājs:
- 1. darbība: sērijas displejs
- 2. darbība. Matricas tastatūra
- 3. solis: montāža
- 4. solis: avota kods
- 5. darbība: parādīt komandas
- 6. darbība. Tastatūras darbība
- 7. solis: paroles iestatīšana
- 8. darbība: iestatīšana
- 9. solis: cilpa
Video: Informācijas paneļa tastatūra ar LCD displeju un Arduino Uno: 9 soļi
2024 Autors: John Day | [email protected]. Pēdējoreiz modificēts: 2024-01-30 10:57
Šī ir matricas tastatūra, kas darbojas kopā ar LCD displeju un Arduino Uno - visvienkāršāko, kas pastāv šodien. Šīs iestatīšanas mērķis ir izveidot programmu, kas saņem matricas tastatūrā ierakstītu paroli, salīdzina to ar pareizo paroli un displejā parāda apstiprinājuma ziņojumu.
Ir svarīgi atcerēties, ka gan matricas tastatūra, gan šis displejs darbojas ar ESP8266 un ESP32.
Kā redzat, mēs barojam ķēdi ar Arduino ar USB, jo mēs neizmantojam ārēju avotu. Astoņi vadi, kas ļoti vienkārši savienoti ar Arduino portiem, savieno mūsu tastatūru. Šai tastatūrai nav jaudas un tā ir pasīva, kas ievērojami atvieglo savienojumus.
Displejs ir savienots ar Arduino, izmantojot seriālo portu UART, kas arī nodrošina ierīces barošanu.
Demonstrācijā videoklipā mēs parādām mūsu ķēdi, pārbaudot, vai tastatūrā ievadītā parole ir pareiza.
Videoklipā izmantotajā PDF failā, kas pieejams šeit, mums ir pilnīga izmantotās mikroshēmas kontaktinformācija.
1. darbība: sērijas displejs
Šis ir sērijveida displejs, kas sazinās ar UART, kas ir RS ar TXRX. Tas pastāv arī I2C versijās, bet gaidāmajā montāžā paliks citi modeļi. Šajā gadījumā šis displejs darbojas ar UART by RS.
2. darbība. Matricas tastatūra
Mūsu izmantotās matricas tastatūras piemērs ir fotoattēls, un tas atrodas labajā pusē. Mums ir diagramma, kas parāda, kā tā darbojas. Tam faktiski ir tikai 4x4 līnijas. Tādējādi tas izmanto minimālo vadu daudzumu; viens vads katrai rindai un kolonnai, lai kopā būtu astoņi vadi.
Tam nav nepieciešama jauda, jo tas darbojas šādi: nospiežot 7, tastatūra paņem 7 un izveido savienojumu ar līniju un kolonnu, kas ļauj identificēt, automātiski skenējot algoritmu.
Ir svarīgi atcerēties, ka šajā komplektā darbosies jebkura 4x4 tastatūra, kas ir punktu matrica.
3. solis: montāža
Vispārējā shēmā mēs savienojam astoņus vadus tieši ar Arduino portiem, jo tastatūrai nav jaudas. Displejā mums ir RS 232 signāls, kā arī pozitīva un negatīva jauda. Joprojām pastāv fona apgaismojums, kas arī jau ir savienots (identificēts ar BKL).
4. solis: avota kods
Šī projekta avota kodā ir jāiekļauj sērijas un tastatūra. Tam ir komplekts RX_PIN un TX_PIN, kas nepieciešams seriālajai programmatūrai, kā arī INVERTED 1. Tas tika novietots zemāk, lai pastiprinātu signālu, kas izmanto ieeju ar apgrieztu loģiku.
// 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 Displeja displejs #define TX_PIN 3 // apgriezt lógica dos pinos Rx e Tx, tratando LOW como HIGH e otrādi #define INVERTED 1
5. darbība: parādīt komandas
Svarīgi: šajā displejā nepietiek, ja uzliek tikai virkni. Jums jānosūta vadības rakstzīmes. PDF satur saiti uz vietni, kur jums ir šī displeja rokasgrāmata. Bet, ja jums ir cita zīmola sērijveida displejs, ir labi apskatīt to kontroles kodus, kas uz to attiecas. Piemēram, šajā modelī, nosūtot noteiktu vadīklu (piemēram, informācija par šo displeju), mums ir jānosūta prefikss - numurs 254, lai iespējotu saziņu.
Tāpēc, lai atvieglotu lietas, mēs izveidojām ARRAY, kas ir mainīgo kopums, kam piekļūst ar ciparu indeksu. Tas tiks nosūtīts uz displeju kā sākotnējā konfigurācija.
// comando para limpar toda a tela do displayconst char limparTela = {254, 1}; // comandos de configuração inicial/ * 254, 254 acende or 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. darbība. Tastatūras darbība
Kā darbojas tastatūra? Pirmkārt, tas piestiprina masīvu. Šim masīvam ir raksturs, kas tur tiks parādīts. Tātad, ja es ievietoju X, nospiežot pirmo kreiso pogu augšpusē, tas tiek parādīts. Tas ir tastatūras saturs, ko tā komandēs.
Citas lietas, ko mēs definējam, ir 4. rindas numurs un 4. slejas numurs šīs tastatūras ARRAY gadījumā. Mums joprojām ir līniju tapas, kas ir Arduino tapas, un kolonnas tapas. Mums joprojām ir pielāgots tastatūras tastatūras veidotājs ar simbola, tapas, rindas un kolonnas parametriem.
const baits LINHAS = 4; // número de linhas do tecladoconst byte COLUNAS = 4; // número de colunas do teclado // definēt 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" '}}; baits 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 tovel capturer and tecla pressionada Keypad customKeypad = Keypad (makeKeymap (SIMBOLOS), PINOS_LINHA, PINOS_COLUNA, LINHAS, COLUNAS);
7. solis: paroles iestatīšana
Šajā daļā mēs definējam paroli, un tad mums jāievada parole, kas ir tukša virkne. Zemāk mēs ievietojam programmatūrasSerial gadījumu.
// variáveis resposnsáveis por armazenar as senhasconst String SENHA_ESPERADA = "1234ABCD"; String SENHA_DIGITADA = ""; // instancia de SoftwareSerial para nos comunicar com o Displejs, izmantojot sērijas SoftwareSerial displaySerial = SoftwareSerial (RX_PIN, TX_PIN, INVERTED);
8. darbība: iestatīšana
Kas attiecas uz iestatīšanu, šeit ir displejsSerial.begin (2, 400), kas ir par ātrumu. Mūsu gadījumā ar to pietiek, lai nosūtītu baitu. Pēc tam jāgaida 700 milisekundes. Mēs iekļaujam displaySerial.print (initialConfig) no sākotnējās konfigurācijas ar jaunu 10 milisekundes aizkavi, un mēs ejam uz sākuma funkciju. Sākuma funkcijā mēs ievietojam displaySerial.print ("parole:").
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); kavēšanā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. solis: cilpa
Ciklā mēs izveidojam customKey = customKeypad.getKey (), un secībā mēs ievadām komandu Switch.
// captura a tecla pressionada do teclado char customKey = customKeypad.getKey (); // caso alguma tecla foi pressionada if (customKey) {Serial.println (customKey); slēdzis (customKey) { /… /}}
Cilpas slēdzis 1. daļa
Komandā Pārslēgt: tas parāda drukājamo taustiņu iespēju sarakstu, ja tiek nospiests, un palielina paroli: ņem customKey un apvieno ievadīto paroli. Pēc tam displaySerial.print (customKey) parāda galveno saturu.
slēdzis (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); pārtraukums;
Cilpas slēdzis, 2. daļa
Šajā kodā tiek parādīts CLEAR taustiņa nospiešanas scenārijs. Ja ierakstāt burtu C un notīrāt mainīgo, kurā ir jūsu ievadītā parole, tas izsauc komandu, lai notīrītu ekrānu, un tiek restartēts.
// 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 (); pārtraukums;
Cilpas slēdzis 3. daļa
Vēl viena iespēja ir, ja ierakstāt burtu E. Šādā gadījumā ekrāns tiks notīrīts un analizēts, ja ievadītā parole ir pareiza vai nepareiza. Tālāk mēs piešķirsim jaunu 2 sekunžu aizkavi, notīrīsim ekrānu, atiestatīsim paroles mainīgo un atgriezīsimies sākumā.
// 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);
Ieteicams:
STONE LCD ekrāns automašīnas informācijas panelim: 5 soļi
STONE LCD ekrāns automašīnu informācijas panelim: Strauji attīstoties ekonomikai un pakāpeniski uzlabojot cilvēku patēriņa jaudu, automašīnas ir kļuvušas par parastu ģimeņu ikdienas vajadzībām, un visi pievērš lielāku uzmanību automašīnu komfortam un drošībai. Automobiļu rūpniecība
Izmantojiet informācijas paneļa logrīkus ar Magicbit [Magicblocks]: 5 soļi
Informācijas paneļa logrīku izmantošana kopā ar Magicbit [Magicblocks]: šī apmācība iemācīs jums lietot Magicblocks informācijas paneļa logrīkus ar savu Magicbit. Šajā projektā, kura pamatā ir ESP32, mēs izmantojam magicbit. Tāpēc šajā projektā var izmantot jebkuru ESP32 izstrādes plati
I2C / IIC LCD displejs - Pārveidojiet SPI LCD uz I2C LCD displeju: 5 soļi
I2C / IIC LCD displejs | Pārveidojiet SPI LCD uz I2C LCD displeju: lai izmantotu spi lcd displeju, ir nepieciešams pārāk daudz savienojumu, un to ir ļoti grūti izdarīt, tāpēc es atradu moduli, kas var pārvērst i2c LCD uz spi lcd, tāpēc sāksim darbu
Kā izveidot reāllaika pulksteni, izmantojot Arduino un TFT displeju - Arduino Mega RTC ar 3,5 collu TFT displeju: 4 soļi
Kā izveidot reāllaika pulksteni, izmantojot Arduino un TFT displeju | Arduino Mega RTC ar 3,5 collu TFT displeju: apmeklējiet manu Youtube kanālu. Ievads:- Šajā amatā es izveidošu reāllaika pulksteni, izmantojot 3,5 collu TFT skārienekrānu, Arduino Mega 2560 un DS3231 RTC modulis…. Pirms sākat… pārbaudiet videoklipu no mana YouTube kanāla. Piezīme:- Ja izmantojat Arduin
Kā savienot I2C LCD displeju ar Arduino Uno: 5 soļi (ar attēliem)
Kā savienot I2C LCD displeju ar Arduino Uno: Sveiki, puiši, šajā pamācībā jūs redzēsit, kā savienot i2c LCD displeju ar arino un kā drukāt uz LCD displeja. Pirms sākat šo apmācību, jums jāzina īss par i2c komunikācija. Katrs I2C autobuss sastāv no diviem signāliem