Orodha ya maudhui:
- Hatua ya 1: Uonyesho wa Serial
- Hatua ya 2: Kibodi ya Matrix
- Hatua ya 3: Mkutano
- Hatua ya 4: Nambari ya Chanzo
- Hatua ya 5: Onyesha Amri
- Hatua ya 6: Uendeshaji wa Kinanda
- Hatua ya 7: Kuweka Nenosiri
- Hatua ya 8: Sanidi
- Hatua ya 9: Kitanzi
Video: Kinanda ya Dashibodi iliyo na Uonyesho wa LCD na Arduino Uno: Hatua 9
2024 Mwandishi: John Day | [email protected]. Mwisho uliobadilishwa: 2024-01-30 12:54
Hii ni kibodi ya matriki inayoendesha pamoja na onyesho la LCD na Arduino Uno, msingi zaidi ambao upo leo. Kusudi la usanidi huu ni kuunda programu inayopokea nywila iliyochapishwa kwenye kibodi ya tumbo, ikilinganishwa na nywila sahihi, na kuonyesha ujumbe wa uthibitisho kwenye onyesho.
Ni muhimu kukumbuka kuwa kibodi zote za matrix na onyesho hili hufanya kazi na ESP8266 na ESP32.
Kama unavyoona, tunaimarisha mzunguko na Arduino na USB, kwani hatutumii chanzo cha nje. Waya nane zilizounganishwa kwa njia rahisi sana kwa bandari za Arduino hufanya unganisho la kibodi yetu. Kibodi hii haina nguvu na haina maana, ambayo inawezesha sana unganisho.
Onyesho limeunganishwa na Arduino kupitia UART, bandari ya serial, ambayo pia inapeana nguvu kifaa.
Katika onyesho, tunaonyesha kwenye video mzunguko wetu ukiangalia ikiwa nenosiri lililochapishwa kwenye kibodi ni sahihi au la.
Katika PDF iliyotumiwa kwenye video na inapatikana hapa, tuna pinout kamili ya chip inayotumika.
Hatua ya 1: Uonyesho wa Serial
Hii ndio onyesho la mfululizo linalowasiliana na UART, ambayo ni RS na TXRX. Pia inapatikana katika matoleo ya I2C, lakini mifano mingine itabaki kwa mkutano ujao. Katika kesi hii, onyesho hili hufanya kazi na UART na RS.
Hatua ya 2: Kibodi ya Matrix
Mfano wa kibodi ya tumbo ambayo tunatumia ni ile ya picha, na iko upande wa kulia. Tuna mchoro ambao unaonyesha jinsi inavyofanya kazi. Kwa kweli ina mistari 4x4 tu. Kwa hivyo, hutumia kiwango cha chini cha waya; waya moja kwa kila safu na safu, ili kuwe na waya nane kwa jumla.
Haihitaji nguvu kwa sababu inafanya kazi kama ifuatavyo: wakati 7 imebanwa, kibodi huchukua 7 na inaunganisha kwenye safu na safu, ambayo inafanya kitambulisho iwezekanavyo kwa skanning algorithm moja kwa moja.
Ni muhimu kukumbuka kuwa kibodi yoyote ya 4x4 ambayo ni alama ya nukta itafanya kazi katika mkutano huu.
Hatua ya 3: Mkutano
Katika mpango wa jumla, tunaunganisha waya nane moja kwa moja kwenye bandari za Arduino, kwani kibodi haina nguvu. Katika onyesho, tuna ishara ya RS 232, na nguvu nzuri na hasi. Taa ya nyuma bado iko, ambayo pia tayari imeunganishwa (imetambuliwa na BKL).
Hatua ya 4: Nambari ya Chanzo
Katika nambari ya chanzo ya mradi huu, lazima ujumuishe serial na keypad. Ina RX_PIN iliyowekwa na TX_PIN, muhimu kwa programu ya serial, na pia INVERTED 1. Hii iliwekwa chini ili kukuza ishara inayotumia pembejeo na mantiki iliyogeuzwa.
// biblioteca Respável Pela comunicação com o onyesha LCD # ni pamoja na // biblioteca Respável por capturar a tecla que foi pressionada no teclado #include // pino invalido apenas usado no contrutor do SoftwareSerial #define RX_PIN 255 // pino TX da nossa ligação Ardu Onyesha LCD #fafanua TX_PIN 3 // inverte a lógica dos pinos Rx e Tx, tratando LOW como HIGH na kinyume chake #fasili INVERTED 1
Hatua ya 5: Onyesha Amri
Muhimu: Katika onyesho hili, haitoshi tu kuweka kamba juu yake. Unahitaji kutuma herufi za kudhibiti. PDF ina kiunga cha wavuti ambapo una mwongozo wa onyesho hili. Lakini ikiwa una onyesho mfululizo la chapa nyingine, ni vizuri kuangalia nambari zao za kudhibiti zinazohusu hii. Kwa mfano huu, kwa mfano, tunapotuma udhibiti fulani (habari kwa onyesho hili, kwa mfano), tunahitaji kutuma kiambishi awali, namba 254, kuwezesha mawasiliano.
Kwa hivyo tulianzisha ARRAY kuwezesha vitu, ambayo ni mkusanyiko wa anuwai ambazo zinapatikana kwa faharisi ya nambari. Hii itatumwa kwenye onyesho kama usanidi wa kwanza.
// comando para limpar toda a tela do displayconst char limparTela = {254, 1}; // comandos de configuração inicial / * 254, 254 aclight o 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};
Hatua ya 6: Uendeshaji wa Kinanda
Je! Kibodi inafanyaje kazi? Kwanza, inaweka safu. Safu hii ni ya tabia ambayo itaonyeshwa hapo hapo. Kwa hivyo ikiwa nitaweka X, ninapobonyeza kitufe cha kwanza cha kushoto hapo juu, inaonyeshwa. Hii ndio yaliyomo kwenye kibodi, ambayo ndio itaamuru.
Vitu vingine tunayo ufafanuzi ni safu namba 4 na safu wima ya 4, katika kesi ya ARRAY ya kibodi hii. Bado tuna pini za mistari, ambazo ni pini za Arduino, na pini za safu. Bado tuna mjenzi wa Keypad Keypad mwenye alama, pini, safu, na vigezo vya safu.
const byte LINHAS = 4; // número de linhas kufanya 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] = {{'' ',' 1 ',' 2 ',' 3 '}, { 'B', '4', '5', '6'}, {'C', '7', '8', '9'}, {'D', 'c', '0', 'e '}}; PIN 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 of Keypad, answerável por capturar a tecla pressionada Keypad customKeypad = Keypad (makeKeymap (SIMBOLOS), PINOS_LINHA, PINOS_COLUNA, LINHAS, COLUNAS);
Hatua ya 7: Kuweka Nenosiri
Katika sehemu hii, tunafafanua nenosiri, na kisha tunahitaji kuingiza nywila, ambayo ni kamba tupu. Hapo chini, tunaweka mfano wa softwareSerial.
// variáveis resposnsáveis por armazenar as senhasconst String SENHA_ESPERADA = "1234ABCD"; Kamba SENHA_DIGITADA = ""; // instancia de SoftwareSerial para nos comunicar com o Onyesha kupitia serial SoftwareSerial displaySerial = SoftwareSerial (RX_PIN, TX_PIN, INVERTED);
Hatua ya 8: Sanidi
Kwa usanidi, hapa kuna onyeshoSerial.begin (2, 400), ambayo ni juu ya kasi. Kwa upande wetu, hii ni ya kutosha kutuma baiti. Kufuatia hii, kuna subira ya millisekunde 700. Sisi ni pamoja na displaySerial.print (initialConfig) kutoka kwa usanidi wa kwanza na ucheleweshaji mpya wa milliseconds 10, na tunakwenda kwenye kazi ya kuanza. Katika kazi ya kuanza, tunaweka displaySerial.print ("nywila:").
kuanzisha batili () {Serial.begin (2400); // inicializando serial de comunicação com o display // muhimu kwa kiwango cha baud ser de 2400 displaySerial.begin (2400); // tempo de espera pela inicialização fanya ucheleweshaji wa kuonyesha (700); // seta usanidi wa ndani kuonyesha DisplaySerial.print (configInicial); kuchelewesha (10); inicio (); } // função Respá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. batili inicio () {displaySerial.print ("Senha:"); }
Hatua ya 9: Kitanzi
Katika kitanzi, tunaunda customKey = customKeypad.getKey (), na kwa mlolongo tunaingiza amri ya Kubadilisha.
// captura a tecla pressionada do teclado char customKey = customKeypad.getKey (); // caso alguma tecla foi pressionada if (customKey) {Serial.println (customKey); badilisha (customKey) {/… /}}
Kitanzi Badilisha Sehemu ya 1
Ndani ya amri ya Kubadilisha: inaonyesha orodha ya uwezekano wa funguo zinazoweza kuchapishwa, ikiwa imeshinikizwa, na inaongeza nywila: inachukua customKey na inasadikisha nywila iliyoingizwa. Ifuatayo, onyesho la Serial.print (customKey) linaonyesha yaliyomo muhimu.
kubadili (customKey) {// caso alguma das teclas imprimíveis foi pressionada case 'A': kesi 'B': kesi 'C': kesi 'D': kesi '0': kesi '1': kesi '2': kesi '3': kesi '4': kesi '5': kesi '6': kesi '7': kesi '8': kesi '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); kuvunja;
Kitanzi Badilisha Sehemu ya 2
Katika nambari hii, tunaonyesha hali ikiwa kitufe cha WAZI ni wazi. Ikiwa unachapa herufi C na uondoe ubadilishaji unaoshikilia nywila unayoandika, basi inaita amri ya kusafisha skrini na kuanza tena.
// caso a tecla WAZI tenha sido pressionada kesi '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); // usanidi wa maandishi kwa nambari ya senha inicio (); kuvunja;
Kitanzi Badilisha Sehemu ya 3
Uwezekano mwingine ni ikiwa unachapa barua E. Katika kesi hii, skrini itasafishwa na kuchambuliwa ikiwa nenosiri lililoingizwa ni sahihi au sio sahihi. Ifuatayo, tutatoa ucheleweshaji mpya wa sekunde 2, futa skrini, weka upya nywila, na urudi mwanzoni.
// caso a tecla INGIA seja pressionada, devemos kulinganisha na senhas kesi '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 correta displaySerial.print ("Senha Correta !!!"); } // caso senha esteja badada nyingine {Serial.println ("Senha Incorreta!"); // imprime mensagem de senha incorreta displaySerial.print ("Senha Incorreta!"); } // aguarda 2 segundos kwa limpar a tela novamente na esperar uma nova senha ser digitada kuchelewa (2000); onyeshaSerial.print (limparTela);
Ilipendekeza:
Uonyesho wa LCD wa I2C / IIC - Tumia LCD ya SPI kwa Uonyesho wa LCD wa I2C Kutumia SPI kwa Moduli ya IIC Na Arduino: Hatua 5
Uonyesho wa LCD wa I2C / IIC | Tumia LCD ya SPI kwa Uonyesho wa LCD wa I2C Kutumia SPI kwa Moduli ya IIC Pamoja na Arduino: Halo jamani kwani kawaida SPI LCD 1602 ina waya nyingi sana kuungana kwa hivyo ni ngumu sana kuiunganisha na arduino lakini kuna moduli moja inayopatikana sokoni ambayo inaweza badilisha onyesho la SPI kuwa onyesho la IIC kwa hivyo basi unahitaji kuunganisha waya 4 tu
Uonyesho wa LCD wa I2C / IIC - Badilisha LCD ya SPI kwa Uonyesho wa LCD wa I2C: Hatua 5
Uonyesho wa LCD wa I2C / IIC | Badilisha LCD ya SPI kwa Onyesho la LCD la I2C: kutumia spi LCD kuonyesha inahitaji miunganisho mingi sana kufanya ambayo ni ngumu sana kufanya hivyo nimepata moduli ambayo inaweza kubadilisha i2c lcd kwa spi lcd ili tuanze
Saa ya dijiti iliyo na Mzunguko wa Moja kwa Moja wa Uonyesho wa LED: Hatua 4
Saa ya dijiti iliyo na Mzunguko wa Moja kwa Moja wa Uonyesho wa LED: Mradi huu ni juu ya saa ya dijiti na kuzunguka kiatomati kwa onyesho la LED la 7-Seg. Saa hii inaweza kuzungushwa katika nafasi yoyote kuweka nambari zisome hata chini au kwenye picha ya kioo !! kudhibitiwa na Arduino na kuendeshwa na acceleromete
Thermometer ya Dijitali ya ESP8266 iliyo na Uonyesho wa LCD: Hatua 7
Joto la kupima joto la ESP8266 na Uonyesho wa LCD: Leo, nitakuonyesha jinsi ya kutumia onyesho la LCD la TFT kwenye ESP8266 NodeMCU kuonyesha data ya joto na unyevu kwa mazingira ya wakati halisi. Ninafanya mfano wa kutumia onyesho na DHT22, ambayo ni kipimo cha joto na unyevu. Katika
Jenga Uonyesho wa Kimila katika Studio ya LCD (Kwa Kinanda ya G15 na Skrini za LCD): Hatua 7
Jenga Uonyesho wa Kimila katika Studio ya LCD (Kwa Kinanda ya G15 na Skrini za LCD). kufanya yako mwenyewe. Mfano huu utakuwa unatengeneza onyesho ambalo linaonyesha msingi tu