Buscar

FECHADURA V1.1

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; 
 } 
 }
}

Teste o Premium para desbloquear

Aproveite todos os benefícios por 3 dias sem pagar! 😉
Já tem cadastro?

Outros materiais