Sisällysluettelo:
- Vaihe 1: Sarjanäyttö
- Vaihe 2: Matrix -näppäimistö
- Vaihe 3: Kokoonpano
- Vaihe 4: Lähdekoodi
- Vaihe 5: Näytä komennot
- Vaihe 6: Näppäimistön käyttö
- Vaihe 7: Salasanan asetus
- Vaihe 8: Asennus
- Vaihe 9: Silmukka
Video: Kojelaudan näppäimistö LCD -näytöllä ja Arduino Unolla: 9 vaihetta
2024 Kirjoittaja: John Day | [email protected]. Viimeksi muokattu: 2024-01-30 09:03
Tämä on matriisinäppäimistö, joka toimii yhdessä LCD -näytön ja Arduino Unon kanssa, joka on nykyään perustavanlaatuisin. Tämän asennuksen tarkoituksena on luoda ohjelma, joka vastaanottaa matriisinäppäimistöllä kirjoitetun salasanan, vertaa sitä oikeaan salasanaan ja näyttää vahvistusviestin näytöllä.
On tärkeää muistaa, että sekä matriisinäppäimistö että tämä näyttö toimivat ESP8266: n ja ESP32: n kanssa.
Kuten näette, käytämme virtapiiriä Arduinolla USB: llä, koska emme käytä ulkoista lähdettä. Kahdeksan johtoa, jotka on liitetty erittäin yksinkertaisella tavalla Arduinon portteihin, muodostavat näppäimistömme yhteyden. Tällä näppäimistöllä ei ole virtaa ja se on passiivinen, mikä helpottaa suuresti yhteyksiä.
Näyttö on kytketty Arduinoon UART -sarjaportin kautta, joka myös käyttää laitetta.
Esittelyssä näytämme videossa piirimme, joka tarkistaa, onko näppäimistöllä kirjoitettu salasana oikea vai ei.
Videossa käytetyssä PDF -tiedostossa, joka on saatavilla täällä, meillä on käytettävän sirun täydellinen pinout.
Vaihe 1: Sarjanäyttö
Tämä on sarjakuva, joka kommunikoi UARTin kanssa, joka on RS TXRX: n kanssa. Se on olemassa myös I2C -versioissa, mutta muut mallit jäävät tulevaa kokoonpanoa varten. Tässä tapauksessa tämä näyttö toimii UART by RS: n avulla.
Vaihe 2: Matrix -näppäimistö
Esimerkki käyttämästämme matriisinäppäimistöstä on valokuva, ja se on oikealla puolella. Meillä on kaavio, joka näyttää kuinka se toimii. Siinä on itse asiassa vain 4x4 -linjoja. Siten se käyttää vähimmäismäärää johtoja; yksi lanka kullekin riville ja sarakkeelle, niin että lankoja on yhteensä kahdeksan.
Se ei tarvitse virtaa, koska se toimii seuraavasti: kun näppäintä 7 painetaan, näppäimistö ottaa 7: n ja muodostaa yhteyden linjaan ja sarakkeeseen, mikä mahdollistaa tunnistamisen skannaamalla algoritmin automaattisesti.
On tärkeää muistaa, että mikä tahansa 4x4 -näppäimistö, joka on pistematriisi, toimii tässä kokoonpanossa.
Vaihe 3: Kokoonpano
Yleisessä järjestelmässä yhdistämme kahdeksan johtoa suoraan Arduinon portteihin, koska näppäimistöllä ei ole virtaa. Näytössä on RS 232 -signaali sekä positiivinen ja negatiivinen teho. Taustavalo on edelleen olemassa, joka on myös jo kytketty (tunnistettu BKL: llä).
Vaihe 4: Lähdekoodi
Tämän projektin lähdekoodissa on oltava sarja- ja näppäimistö. Siinä on sarjaohjelmistolle välttämätön sarja RX_PIN ja TX_PIN sekä INVERTED 1. Tämä sijoitettiin alle vahvistamaan signaalia, joka käyttää tuloa käänteisellä logiikalla.
// 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 Näytön nestekidenäyttö #define TX_PIN 3 // käänteinen määrä pinos Rx e Tx, tratando LOW como HIGH e päinvastoin #define INVERTED 1
Vaihe 5: Näytä komennot
Tärkeää: Tässä näytössä ei riitä, että asetat siihen vain merkkijonon. Sinun on lähetettävä ohjausmerkkejä. PDF sisältää sen sivuston linkin, jolla on tämän näytön käyttöopas. Mutta jos sinulla on toisen merkin sarjanäyttö, on hyvä tarkastella niiden ohjauskoodeja, jotka liittyvät tähän. Esimerkiksi tässä mallissa, kun lähetämme tietyn ohjaimen (esimerkiksi tämän näytön tiedot), meidän on lähetettävä etuliite, numero 254, kommunikoinnin mahdollistamiseksi.
Joten perustimme ARRAY: n helpottamaan asioita, joka on kokoelma muuttujia, joihin pääsee numeerisella indeksillä. Tämä lähetetään näytölle alkuasetuksina.
// comando para limpar toda a tela do displayconst char limparTela = {254, 1}; // comandos de configuração inicial/ * 254, 254 acende tai taustavalo 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};
Vaihe 6: Näppäimistön käyttö
Miten näppäimistö toimii? Ensinnäkin se asentaa matriisin. Tämä taulukko on merkki, joka todella näytetään siellä. Joten jos laitan X: n, kun painan ensimmäistä vasenta painiketta yläreunassa, se näkyy. Tämä on näppäimistön sisältö, jota se komentaa.
Muita määritelmiämme ovat rivinumero 4 ja sarakkeen numero 4 tämän näppäimistön ARRAY: n tapauksessa. Meillä on edelleen viivojen nastat, jotka ovat Arduino -nastat ja sarakkeen nastat. Meillä on edelleen customKeypad -näppäimistörakentaja, jossa on symboli-, nasta-, rivi- ja sarakeparametrit.
const tavu LINHAS = 4; // número de linhas do tecladoconst byte COLUNAS = 4; // número de colunas do teclado // määritä 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 '}}; tavu PINOS_LINHA [LINHAS] = {8, 9, 10, 11}; // pinos que indicam 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 = Näppäimistö (makeKeymap (SIMBOLOS), PINOS_LINHA, PINOS_COLUNA, LINHAS, COLUNAS);
Vaihe 7: Salasanan asetus
Tässä osassa määritämme salasanan ja sitten meidän on annettava salasana, joka on tyhjä merkkijono. Alla esitämme ohjelmistosarjan esiintymän.
// varáveis resposnsáveis por armazenar as senhasconst String SENHA_ESPERADA = "1234ABCD"; Jono SENHA_DIGITADA = ""; // instancia de SoftwareSerial para nos comunicar com o Näyttö sarjassa SoftwareSerial displaySerial = SoftwareSerial (RX_PIN, TX_PIN, INVERTED);
Vaihe 8: Asennus
Mitä tulee määritykseen, tässä on displaySerial.begin (2, 400), joka kertoo nopeudesta. Meidän tapauksessamme tämä riittää tavun lähettämiseen. Tämän jälkeen odotetaan 700 millisekuntia. Sisällytämme displaySerial.print (initialConfig) alkuperäisestä kokoonpanosta uudella 10 millisekunnin viiveellä ja siirrymme aloitustoimintoon. Laitamme käynnistystoimintoon displaySerial.print ("password:").
void setup () {Serial.begin (2400); // inicializando a serial de comunicação com o display // importante tai 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); viive (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:"); }
Vaihe 9: Silmukka
Silmukassa luomme customKey = customKeypad.getKey () ja annamme järjestyksessä Switch -komennon.
// captura a tecla pressionada do teclado char customKey = customKeypad.getKey (); // caso alguma tecla foi pressionada if (customKey) {Serial.println (customKey); kytkin (customKey) { /… /}}
Silmukkakytkin Osa 1
Switch -komennon sisällä: se näyttää tulostettavien näppäinten mahdollisuuksien luettelon, jos niitä painetaan, ja lisää salasanaa: ottaa customKey -näppäimen ja yhdistää syötetyn salasanan. Seuraavaksi displaySerial.print (customKey) näyttää avaimen sisällön.
kytkin (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': tapaus 4 Serial.println (SENHA_DIGITADA); // imrpime na tela o símbolo pressionado displaySerial.print (customKey); tauko;
Silmukkakytkin Osa 2
Tässä koodissa näytämme skenaarion, jos CLEAR -näppäintä painetaan. Jos kirjoitat C -kirjaimen ja tyhjennät muuttujan, joka sisältää kirjoittamasi salasanan, se kutsuu komennon näytön tyhjentämiseksi ja käynnistyy uudelleen.
// 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 (); tauko;
Silmukkakytkin Osa 3
Toinen mahdollisuus on, jos kirjoitat kirjaimen E. Tässä tapauksessa näyttö puhdistetaan ja analysoidaan, jos syötetty salasana on oikea tai väärä. Seuraavaksi annamme uuden 2 sekunnin viiveen, tyhjennä näyttö, nollaa salasanamuuttuja ja palaamme alkuun.
// 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!"); // impime mensagem de senha korjaus 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);
Suositeltava:
Käytä kojelaudan widgettejä Magicbitin kanssa [Magicblocks]: 5 vaihetta
Käytä Dashboard -widgettejä Magicbitin kanssa [Magicblocks]: Tämä opetusohjelma opettaa sinua käyttämään Magicblocks -kojelaudan widgetejä Magicbitin kanssa. Käytämme magicbitia kehityskorttina tässä projektissa, joka perustuu ESP32: een. Siksi mitä tahansa ESP32 -kehityskorttia voidaan käyttää tässä projektissa
XiaoMi -tyhjiö + Amazon -painike = kojelaudan puhdistus: 5 vaihetta (kuvilla)
XiaoMi -tyhjiö + Amazon -painike = kojelaudan puhdistus: Tässä ohjeessa kerrotaan, miten voit käyttää ylimääräisiä Amazon Dash -painikkeita XiaoMi -tyhjiön hallintaan. Sain joukon Amazon -painikkeita, jotka olivat paikoillaan siitä lähtien, kun ne olivat 1 dollari, enkä käyttänyt niitä. Mutta uuden robotti -tyhjiön vastaanottamisen jälkeen päätän
Arduino LCD 16x2 -opetusohjelma - Liitäntä 1602 LCD -näyttö Arduino Unolla: 5 vaihetta
Arduino LCD 16x2 -opetusohjelma | Liitäntä 1602 LCD -näyttö Arduino Unon kanssa: Hei kaverit, koska monet projektit tarvitsevat näytön tietojen näyttämiseen, olipa kyseessä jokin diy -mittari tai YouTube -tilauslaskimen näyttö tai laskin tai näppäimistön lukitus näytöllä ja jos kaikenlaisia projekteja tehdään arduino he määrittelevät
Korjaa Radio Aux -liitin / Lisää media Bluetooth -vastaanotin kojelaudan taakse: 6 vaihetta (kuvilla)
Korjaa Radio Aux -liitäntä / Lisää media Bluetooth -vastaanotin kojelaudan taakse: Huomasin äskettäin, että vuoden 2013 Silverado aux -liitin oli löysä. Se ei tullut yllätyksenä, koska käytän sitä usein ja jätä aux -johto roikkumaan liittimessä. Korjatakseni minun oli vain otettava muutama paneeli kojelaudasta, poistettava ja otettava apa
Nopea ja likainen Das -näppäimistö (tyhjä näppäimistö): 3 vaihetta
Nopea ja likainen Das -näppäimistö (tyhjä näppäimistö): Das -näppäimistö on suosituimman näppäimistön nimi, jossa ei ole merkintöjä näppäimissä (tyhjä näppäimistö). Das -näppäimistö myydään 89,95 dollarilla. Tämä opas opastaa sinua tekemään sen itse millä tahansa vanhalla näppäimistöllä