Բովանդակություն:
- Քայլ 1: Սերիայի ցուցադրում
- Քայլ 2: Մատրիցային ստեղնաշար
- Քայլ 3: Հավաքում
- Քայլ 4: Աղբյուրի ծածկագիր
- Քայլ 5: Displayուցադրել հրամանները
- Քայլ 6: Ստեղնաշարի գործարկում
- Քայլ 7: Գաղտնաբառի կարգավորում
- Քայլ 8: Կարգավորում
- Քայլ 9: Օղակ
Video: Վահանակի ստեղնաշար `LCD էկրանով և Arduino Uno- ով` 9 քայլ
2024 Հեղինակ: John Day | [email protected]. Վերջին փոփոխված: 2024-01-30 09:51
Սա մատրիցային ստեղնաշար է, որն աշխատում է LCD էկրանով և Arduino Uno- ով, ամենահիմնականն, որն այսօր գոյություն ունի: Այս կարգավորման նպատակն է ստեղծել ծրագիր, որը ստանում է մատրիցային ստեղնաշարի վրա մուտքագրված գաղտնաբառ, այն համեմատում է ճիշտ գաղտնաբառի հետ և ցուցադրման վրա ցուցադրում հաստատման հաղորդագրություն:
Կարևոր է հիշել, որ ինչպես մատրիցային ստեղնաշարը, այնպես էլ այս ցուցադրումը աշխատում են ESP8266- ի և ESP32- ի հետ:
Ինչպես տեսնում եք, մենք Arduino- ով միացումն աշխատում ենք USB- ով, քանի որ չենք օգտագործում արտաքին աղբյուր: Արդուինոյի նավահանգիստներին շատ պարզ եղանակով միացված ութ լարերը միացնում են մեր ստեղնաշարը: Այս ստեղնաշարը ուժ չունի և պասիվ է, ինչը մեծապես հեշտացնում է կապերը:
Էկրանը միացված է Arduino- ի հետ UART- ի ՝ սերիական պորտի միջոցով, որը նաև սնուցում է սարքը:
Aույցի ժամանակ մենք տեսանյութում ցույց ենք տալիս մեր սխեման, որը ստուգում է ՝ ստեղնաշարի վրա մուտքագրված գաղտնաբառը ճիշտ է, թե ոչ:
Տեսանյութում օգտագործված և այստեղ հասանելի PDF- ում մենք ունենք օգտագործվող չիպի ամբողջական եզրագիծը:
Քայլ 1: Սերիայի ցուցադրում
Սա սերիական ցուցադրում է, որը շփվում է UART- ի հետ, որը RS է TXRX- ով: Այն գոյություն ունի նաև I2C տարբերակներում, սակայն մյուս մոդելները կմնան առաջիկա հավաքի համար: Այս դեպքում այս ցուցադրումն աշխատում է UART- ի կողմից RS- ի կողմից:
Քայլ 2: Մատրիցային ստեղնաշար
Մատրիցային ստեղնաշարի օրինակը, որը մենք օգտագործում ենք, լուսանկարի օրինակն է, և այն գտնվում է աջ կողմում: Մենք ունենք դիագրամ, որը ցույց է տալիս, թե ինչպես է այն աշխատում: Այն իրականում ունի ընդամենը 4x4 տող: Այսպիսով, այն օգտագործում է լարերի նվազագույն քանակը. յուրաքանչյուր շարքի և սյունակի համար մեկ մետաղալար, այնպես որ ընդհանուր առմամբ ութ լար կա:
Այն էներգիայի կարիք չունի, քանի որ այն աշխատում է հետևյալ կերպ. 7 -ը սեղմելիս ստեղնաշարը վերցնում է 7 -ը և միանում տողին և սյունակին, ինչը նույնականացման հնարավորություն է տալիս ալգորիթմը ինքնաբերաբար սկանավորելով:
Կարևոր է հիշել, որ ցանկացած 4x4 ստեղնաշար, որը կետային մատրիցա է, կաշխատի այս հավաքում:
Քայլ 3: Հավաքում
Ընդհանուր սխեմայում մենք ութ լար ենք միացնում անմիջապես Arduino- ի նավահանգիստներին, քանի որ ստեղնաշարը ուժ չունի: Էկրանի վրա մենք ունենք RS 232 ազդանշան և դրական և բացասական ուժ: Backlight- ը դեռ առկա է, որը նույնպես արդեն միացված է (նույնականացվել է BKL- ի կողմից):
Քայլ 4: Աղբյուրի ծածկագիր
Այս նախագծի աղբյուրի կոդի մեջ դուք պետք է ներառեք սերիան և ստեղնաշարը: Այն ունի մի շարք RX_PIN և TX_PIN, որոնք անհրաժեշտ են սերիական ծրագրաշարի համար, ինչպես նաև INVERTED 1. Սա դրված է ներքևում ՝ ազդանշանը ուժեղացնելու համար, որն օգտագործում է մուտքը շրջված տրամաբանությամբ:
// biblioteca responsável pela comunicação com էկրան LCD #ներառել // biblioteca responsável for 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 Arduino Displayուցադրել LCD #define TX_PIN 3 // inverte a lógica dos pinos Rx e Tx, tratando LOW como HIGH e հակառակը #սահմանել INVERTED 1
Քայլ 5: Displayուցադրել հրամանները
Կարևոր. Այս ցուցադրման մեջ բավական չէ միայն դրա վրա տող դնել: Դուք պետք է ուղարկեք կառավարման նիշ: PDF- ը պարունակում է այն կայքի հղումը, որտեղ դուք ունեք այս ցուցադրման ձեռնարկը: Բայց եթե ունեք մեկ այլ ապրանքանիշի սերիական ցուցադրում, լավ է նայեք դրանց կառավարման կոդերին, որոնք վերաբերում են դրան: Այս մոդելում, օրինակ, երբ մենք ուղարկում ենք որոշակի հսկողություն (տվյալ ցուցադրման համար, օրինակ, տեղեկատվություն), մենք պետք է ուղարկենք նախածանց ՝ 254 համարը, հաղորդակցությունը հնարավոր դարձնելու համար:
Այսպիսով, մենք ստեղծեցինք ARRAY ՝ բաները հեշտացնելու համար, որը փոփոխականների հավաքածու է, որոնց հասանելի է թվային ինդեքսը: Սա կուղարկվի էկրանին որպես սկզբնական կազմաձևում:
// comando para limpar toda a tela do displayconst char limparTela = {254, 1}; // comandos de configuração inicial/ * 254, 254 acende 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};
Քայլ 6: Ստեղնաշարի գործարկում
Ինչպես է աշխատում ստեղնաշարը: Նախ, այն տեղադրում է զանգված: Այս զանգվածը այն բնույթի է, որն իրականում կցուցադրվի այնտեղ: Այսպիսով, եթե ես դնում եմ X, երբ սեղմում եմ առաջին ձախ կոճակը վերևում, այն ցուցադրվում է: Սա ստեղնաշարի բովանդակությունն է, ինչին այն կհրամայի:
Այլ բաներ, որոնց համար մենք ունենք սահմանում, թիվ 4 տողն ու սյունակ 4 -ն են, այս ստեղնաշարի ARRAY- ի դեպքում: Մենք դեռ ունենք գծերի կապեր, որոնք Արդուինոյի կապումներն են և սյունակի կապերը: Մենք դեռ ունենք CustomKeypad Keypad կառուցող ՝ խորհրդանիշի, կապի, տողի և սյունակի պարամետրերով:
const բայթ LINHAS = 4; // número de linhas do tecladoconst byte COLUNAS = 4; // número de colunas do teclado // սահմանել 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 '}}; բայթ 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, պատասխանել կամ գրավել մի փորձարկում սեղմել ստեղնաշարի customKeypad = Keypad (makeKeymap (SIMBOLOS), PINOS_LINHA, PINOS_COLUNA, LINHAS, COLUNAS);
Քայլ 7: Գաղտնաբառի կարգավորում
Այս մասում մենք սահմանում ենք գաղտնաբառը, այնուհետև մենք պետք է մուտքագրենք գաղտնաբառ, որը դատարկ տող է: Ստորև մենք տեղադրում ենք ծրագրակազմի սերիալը:
// variáveis resposnsáveis por armazenar as senhasconst String SENHA_ESPERADA = "1234ABCD"; Լար SENHA_DIGITADA = ""; // instancia de SoftwareSerial para no no comunicar com o Displayուցադրել սերիական SoftwareSerial displaySerial = SoftwareSerial (RX_PIN, TX_PIN, INVERTED);
Քայլ 8: Կարգավորում
Ինչ վերաբերում է Setup- ին, ահա displaySerial.begin (2, 400), որը մոտավորապես արագության մասին է: Մեր դեպքում սա բավական է բայթ ուղարկելու համար: Դրանից հետո սպասվում է 700 միլիվայրկյան: Մենք ներառում ենք displaySerial.print (initialConfig) սկզբնական կազմաձևից ՝ 10 միլիվայրկյան նոր ուշացումով, և անցնում ենք մեկնարկի գործառույթին: Գործարկման սկզբում մենք դնում ենք displaySerial.print («գաղտնաբառ.»):
void setup () {Serial.begin (2400); // inicializando a serial de comunicação com o display // importante or baud rate ser de 2400 displaySerial.begin (2400); // tempo de espera pela inicialização do display delay (700); // seta a configuração inicial do display displaySerial.print (configInicial); ուշացում (10); inicio (); } // função responsá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: Օղակ
Օղակի մեջ մենք ստեղծում ենք customKey = customKeypad.getKey (), իսկ հաջորդականությամբ մուտքագրում ենք Switch հրաման:
// captura a tecla pressionada do teclado char customKey = customKeypad.getKey (); // caso alguma tecla foi pressionada if (customKey) {Serial.println (customKey); անջատիչ (customKey) { /… /}}
Loop Switch Մաս 1
Switch հրամանի ներսում. Այն ցույց է տալիս տպման ստեղների հնարավորությունների ցանկը, եթե սեղմված է, և ավելացնում է գաղտնաբառը. Վերցնում է customKey- ը և միավորում մուտքագրված գաղտնաբառը: Հաջորդը, displaySerial.print- ը (customKey) ցույց է տալիս հիմնական բովանդակությունը:
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'. Դեպք '4'. Դեպք '5'. Դեպք '6': դեպք '7': դեպք '8': դեպք '9': // concatena o novo símbolo a senha que estamos digitando SENHA_DIGITADA+= customKey; Serial.println (SENHA_DIGITADA); // imrpime na tela or símbolo pressionado displaySerial.print (customKey); ընդմիջում;
Loop Switch Մաս 2
Այս ծածկագրում մենք ցույց ենք տալիս CLEAR ստեղնը սեղմելու սցենարը: Եթե մուտքագրեք C տառը և մաքրեք այն փոփոխականը, որը պարունակում է ձեր մուտքագրած գաղտնաբառը, ապա այն կանչում է էկրանը մաքրելու հրաման և վերագործարկվում:
// 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 (); ընդմիջում;
Loop Switch Մաս 3
Մեկ այլ հնարավորություն է, եթե մուտքագրեք E. տառը: Այս դեպքում էկրանը կմաքրվի և կվերլուծվի, եթե մուտքագրված գաղտնաբառը ճիշտ է կամ սխալ: Հաջորդը, մենք կտանք նոր վայրկյան ՝ 2 վայրկյան, մաքրել էկրանը, վերականգնել գաղտնաբառի փոփոխականը և վերադառնալ սկզբին:
// caso a tecla ENTER seja pressionada, devemos comparer as senhas case 'e': // limpa a tela displaySerial.print (limparTela); // se 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 errada else {Serial.println ("Senha Incorreta!"); // imprime mensagem de senha correta displaySerial.print ("Senha Incorreta!"); } // aguarda 2 segundos para limpar a tela novamente e esperar uma nova senha ser digitada delay (2000); displaySerial.print (limparTela);
Խորհուրդ ենք տալիս:
STONE LCD էկրան մեքենայի վահանակի համար `5 քայլ
STONE LCD էկրան մեքենայի վահանակի համար. Տնտեսության արագ զարգացումով և մարդկանց սպառման հզորության աստիճանական բարելավմամբ, մեքենաները դարձել են սովորական ընտանիքների ամենօրյա կարիքները, և բոլորը ավելի մեծ ուշադրություն են դարձնում մեքենաների հարմարավետությանը և անվտանգությանը: Ավտոմոբիլային արդյունաբերություն
RFID Arduino Uno ռելեի անջատիչ, I2C էկրանով ՝ 4 քայլ
RFID Arduino Uno ռելե անջատիչ, I2C էկրանով
Խաղացեք PONG խաղ Arduino Uno- ով և OLED 0.96 SSD1306 էկրանով ՝ 6 քայլ
Խաղացեք PONG խաղ Arduino Uno- ով և OLED 0.96 SSD1306 էկրանով. Բարև տղերք, այսօր մենք PONG խաղ ենք պատրաստելու Arduino- ի հետ: Խաղը ցուցադրելու համար մենք կօգտագործենք adafruit- ի 0.96 oled էկրանը & սեղմել կոճակները ՝ խաղը վերահսկելու համար
Arduino Uno Into USB ստեղնաշար. 4 քայլ
Arduino Uno Into USB ստեղնաշար. Փոխեք arduino uno աշխատանքը որպես arduino leanardo, mico: որը աշխատում է որպես HID սարքեր Arduino uno- ն USB մկնիկի կամ ստեղնաշարի emulator- ի վերածեք չորս հեշտ քայլի: Պարզապես մենք պետք է փոխարինենք arduino զննարկիչը
Արագ և կեղտոտ Das ստեղնաշար (դատարկ ստեղնաշար) ՝ 3 քայլ
Արագ և կեղտոտ Das ստեղնաշար (դատարկ ստեղնաշար). A Das ստեղնաշարն ամենահայտնի ստեղնաշարի անունն է, որի վրա գրություններ չկան ստեղների վրա (դատարկ ստեղնաշար): Das ստեղնաշարը վաճառվում է 89,95 դոլարով: Այս հրահանգը ձեզ կառաջնորդի, չնայած որ ինքներդ պատրաստեք այն ցանկացած հին ստեղնաշարով, որի շուրջը պառկած եք