acesso_teclado_lcd
Never
#include <Wire.h> #include <LiquidCrystal_I2C.h> LiquidCrystal_I2C lcd(0x27, 2, 1, 0, 4, 5, 6, 7, 3, POSITIVE); // Endereço I2C do display LCD String LINHA1; char linha1[18]; String LINHA2; char linha2[18]; #define LG 2 #define LR 12 String senha; int caracteres = 0; int tempo = 0; void setup() { //Pinos ligados aos pinos 1, 2, 3 e 4 do teclado - Linhas pinMode(3, 1); //1 é saida, 0 é entrada pinMode(4, 1); pinMode(5, 1); pinMode(6, 1); //Pinos ligados aos pinos 5, 6, 7 e 8 do teclado - Colunas pinMode(8, 0); pinMode(9, 0); pinMode(10, 0); pinMode(11, 0); //LED Vermelho pinMode(LR, 1); //LED Verde pinMode(LG, 1); Serial.begin(115200); lcd.begin(16, 2); for (int i = 0; i < 3; i++) { lcd.backlight(); delay(250); lcd.noBacklight(); delay(250); } lcd.backlight(); Serial.println("Aguardando acionamento das teclas..."); Serial.println(); } void loop() { if (caracteres == 0) { lcd.setCursor(0, 1); lcd.write("SENHA: "); } //Serial.println(tempo); if (caracteres > 0) { tempo++; if (tempo > 1000) { Serial.println("Tempo esgotado, apagando senha digitada..."); senha = ""; caracteres = 0; tempo = 0; digitalWrite(LR, 1); digitalWrite(LG, 1); delay(300); digitalWrite(LR, 0); digitalWrite(LG, 0); delay(300); digitalWrite(LR, 1); digitalWrite(LG, 1); delay(300); digitalWrite(LR, 0); digitalWrite(LG, 0); delay(300); digitalWrite(LR, 1); digitalWrite(LG, 1); delay(300); digitalWrite(LR, 0); digitalWrite(LG, 0); delay(300); Serial.println(senha); } } digitalWrite(LR, 1); digitalWrite(LG, 0); for (int ti = 3; ti < 7; ti++) { //Alterna o estado dos pinos das linhas digitalWrite(3, 0); digitalWrite(4, 0); digitalWrite(5, 0); digitalWrite(6, 0); digitalWrite(ti, 1); //Verifica se alguma tecla da coluna 1 foi pressionada if (digitalRead(8) == 1) { imprime_linha_coluna(ti - 2, 1); while (digitalRead(8) == 1) {} } //Verifica se alguma tecla da coluna 2 foi pressionada if (digitalRead(9) == 1) { imprime_linha_coluna(ti - 2, 2); while (digitalRead(9) == 1) {}; } //Verifica se alguma tecla da coluna 3 foi pressionada if (digitalRead(10) == 1) { imprime_linha_coluna(ti - 2, 3); while (digitalRead(10) == 1) {} } //Verifica se alguma tecla da coluna 4 foi pressionada if (digitalRead(11) == 1) { imprime_linha_coluna(ti - 2, 4); while (digitalRead(11) == 1) {} } } delay(10); lcd.setCursor(0, 0); lcd.write("STATUS: "); lcd.setCursor(7, 0); lcd.write("TRANCADO "); } void imprime_linha_coluna(int x, int y) { tempo = 0; Serial.print("Linha : "); Serial.print(x); Serial.print(" x Coluna : "); Serial.print(y); delay(10); Serial.println(); if (x == 1) { if (y == 1) { senha = senha + '1'; } else if (y == 2) { senha = senha + '2'; } else if (y == 3) { senha = senha + '3'; } else if (y == 4) { senha = senha + 'A'; } } else if (x == 2) { if (y == 1) { senha = senha + '4'; } else if (y == 2) { senha = senha + '5'; } else if (y == 3) { senha = senha + '6'; } else if (y == 4) { senha = senha + 'B'; } } else if (x == 3) { if (y == 1) { senha = senha + '7'; } else if (y == 2) { senha = senha + '8'; } else if (y == 3) { senha = senha + '9'; } else if (y == 4) { senha = senha + 'C'; } } else if (x == 4) { if (y == 1) { senha = senha + 'X'; } else if (y == 2) { senha = senha + '0'; } else if (y == 3) { senha = senha + 'H'; } else if (y == 4) { senha = senha + 'D'; } } Serial.println(senha); lcd.setCursor(0, 1); lcd.write("SENHA:"); lcd.setCursor(6, 1); LINHA2 = senha; LINHA2.toCharArray(linha2, 5); lcd.write(linha2); caracteres++; if (caracteres == 4) { digitalWrite(LR, 1); digitalWrite(LG, 1); delay(300); digitalWrite(LR, 0); digitalWrite(LG, 0); delay(300); lcd.setCursor(0, 1); lcd.write("SENHA: "); digitalWrite(LR, 1); digitalWrite(LG, 1); delay(300); digitalWrite(LR, 0); digitalWrite(LG, 0); delay(300); digitalWrite(LR, 1); digitalWrite(LG, 1); delay(300); digitalWrite(LR, 0); digitalWrite(LG, 0); delay(300); verifica_senha(); } return; } void verifica_senha() { if (senha == "5A2B") { lcd.setCursor(7,0); lcd.write("LIBERADO!"); digitalWrite(LR, 0); digitalWrite(LG, 1); delay(2000); } else { lcd.setCursor(0, 1); lcd.write("SENHA INVALIDA "); delay(2000); } caracteres = 0; senha = ""; return; }
Raw Text
-
gyftdr sesdfg cdfgghj dxf
21 min ago
-
Licking Her Sweet Pussy And Put Thick Cock Inside! 4K
21 min ago
-
CP๐ FOLDER ๐ฏ๐ R@PED๐๐ LITTLE GIRL๐๐ง๐ฆ๐ฆ
25 min ago
-
MenoPhix FAKE Hype Busted [Consumer Reports] Is MenoPhix afe?
36 min ago
-
What Can The Music Industry Teach You About Bloom Cbd Gummies
44 min ago
-
Less Reading More Sucking & Fucking feat. The Nerd Harley King - Exxxtra Small
51 min ago
-
Adult Telegram Channels
1 hour ago
-
5 FitsPresso Tips for Swift Weight Loss
1 hour ago
-
What to anticipate with the consumption of Bloom CBD Gummies?
1 hour ago
-
I’m obsessed with anal, that's what makes me happy
1 hour ago