Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*
- Criado por: Rodrigo Martins Moraes, e-mail: rodrigo159951@gmail.com
- gtcursos.com
- */
- #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);
- 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);
- Serial.println("Aguardando acionamento das teclas...");
- Serial.println();
- }
- void loop()
- {
- //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);
- }
- 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);
- caracteres++;
- if (caracteres == 4) {
- 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);
- verifica_senha();
- }
- return;
- }
- void verifica_senha() {
- if (senha == "5A2B") {
- digitalWrite(LR, 0);
- digitalWrite(LG, 1);
- delay(2000);
- }
- caracteres = 0;
- senha = "";
- return;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement