Baixe o app para aproveitar ainda mais
Esta é uma pré-visualização de arquivo. Entre para ver o arquivo original
#include <LiquidCrystal.h> int correta1[4]={1,2,4,3}; int correta2[4]={2,2,4,3}; int a = 0; int b = 0; int ast = 0; int senha[4]; long previousMillis = 0; // Variável de controle do tempo long intervalo = 6500; // Tempo em ms do intervalo a ser executado const int buzzer = 15; //Constante armazenando o número do pino que vamos utilizar LiquidCrystal lcd(12,11,13,10,7,6); void setup(){ lcd.begin(16,2); pinMode(5, INPUT_PULLUP); pinMode(2, INPUT_PULLUP); pinMode(3, INPUT_PULLUP); pinMode(4, INPUT_PULLUP); pinMode(8, OUTPUT); //LED VERDE pinMode(9, OUTPUT); //LED VERMELHOR digitalWrite(8, LOW); pinMode(buzzer,OUTPUT); //Declara o que sera feito no pino 15 Serial.begin(9600); a=0; } void loop(){ digitalWrite(9, HIGH); lcd.setCursor(0,0); lcd.print("DIGITE A SENHA:"); b = 0; if (digitalRead (5)==1) b = 1; if (digitalRead (2)==1) b = 2; if (digitalRead (3)==1) b = 3; if (digitalRead (4)==1) b = 4; if (b) { lcd.setCursor(ast,1); lcd.print("*"); ast++; senha[a] = b; a++; if (a==4) { ast = 0; if (((correta1[0] == senha[0]) & (correta1[1] == senha[1]) & (correta1[2] == senha[2]) & (correta1[3] == senha[3])) | ((correta2[0] == senha[0]) & (correta2[1] == senha[1]) & (correta2[2] == senha[2]) & (correta2[3] == senha[3]))){ lcd.setCursor(0,1); lcd.print("SENHA CORRETA"); tone(buzzer,1500); //Ligamos o buzzer com uma frequencia de 1500hz delay(1000); //Em delay esperamos um segundo para avançar para a próxima linha noTone(buzzer); //Desligamos o Buzzer lcd.setCursor(0,1); lcd.print(" "); digitalWrite(9, LOW); digitalWrite(8, HIGH); delay(800); noTone(8); if(((correta1[0] == senha[0]) & (correta1[1] == senha[1]) & (correta1[2] == senha[2]) & (correta1[3] == senha[3]))){ lcd.setCursor(0,0); lcd.print(" Bem-vindo a NTI"); lcd.setCursor(0,1); lcd.print(" Alisson!"); delay(1000); lcd.clear(); } if (((correta2[0] == senha[0]) & (correta2[1] == senha[1]) & (correta2[2] == senha[2]) & (correta2[3] == senha[3]))){ lcd.setCursor(0,0); lcd.print(" Bem-vindo a NTI"); lcd.setCursor(0,1); lcd.print(" Jeferson!"); delay(1000); lcd.clear(); } a = 0; b = 0; } else { lcd.setCursor(0,1); lcd.print("SENHA INCORRETA"); tone(buzzer,1500); //Ligamos o buzzer com uma frequencia de 1500hz delay(500); //Em delay esperamos um segundo para avançar para a próxima linha noTone(buzzer); //Desligamos o Buzzer delay(200); tone(buzzer,1500); //Ligamos o buzzer com uma frequencia de 1500hz delay(500); //Em delay esperamos um segundo para avançar para a próxima linha noTone(buzzer); //Desligamos o Buzzer lcd.setCursor(0,1); lcd.print(" "); digitalWrite(9, HIGH); delay(500); digitalWrite(9, LOW); delay(500); digitalWrite(9, HIGH); delay(500); digitalWrite(9, LOW); delay(500); digitalWrite(9, HIGH); delay(500); digitalWrite(9, LOW); delay(500); a = 0; b = 0; } } delay(500); } unsigned long currentMillis = millis(); //Tempo atual em ms //Lógica de verificação do tempo if (currentMillis - previousMillis > intervalo) { previousMillis = currentMillis; // Salva o tempo atual //E aqui muda o estado if ((a>=1)&&(a<=3)){ ast = 0; lcd.setCursor(0,1); lcd.print("SENHA INCORRETA"); tone(buzzer,1500); //Ligamos o buzzer com uma frequencia de 1500hz delay(500); //Em delay esperamos um segundo para avançar para a próxima linha noTone(buzzer); //Desligamos o Buzzer delay(200); tone(buzzer,1500); //Ligamos o buzzer com uma frequencia de 1500hz delay(500); //Em delay esperamos um segundo para avançar para a próxima linha noTone(buzzer); //Desligamos o Buzzer lcd.setCursor(0,1); lcd.print(" "); digitalWrite(9, HIGH); delay(500); digitalWrite(9, LOW); delay(500); digitalWrite(9, HIGH); delay(500); digitalWrite(9, LOW); delay(500); digitalWrite(9, HIGH); delay(500); digitalWrite(9, LOW); delay(500); a = 0; b = 0; } } }
Compartilhar