senha seis botoes para abertura de portas eletrônicas
//senha seis botoes para abertura de portas eletrônicas
//senha: 5-6-9-10-11-12
//para trocar a senha faça inversao da ordem dos fios do teclado
//04-08-2019
//revisao 07-08-2019
//incluido armazenamento das tentativas na eeprom interna
//incluido desarme (iniciar com d5 pressionado)
//pedroluand@gmail.com
#include <EEPROM.h>
#define beep tone(7,600,50)
#define erro tone(7,400,1000)
#define alerta tone(7,600,300000)
int a; //registro da senha
int b; //contador de erro
int c; //contador de tentativas
int memoria = 0; //memoria na eeprom
void setup()
{
pinMode(5,INPUT_PULLUP);
pinMode(6,INPUT_PULLUP);
pinMode(7,OUTPUT); //buzzer
pinMode(8,OUTPUT); //relé
pinMode(9,INPUT_PULLUP);
pinMode(10,INPUT_PULLUP);
pinMode(11,INPUT_PULLUP);
pinMode(12,INPUT_PULLUP);
Serial.begin(9600);
//se iniciado com d5 pressionado
if (digitalRead(5) == LOW) //zera o numero de tentativas na eeprom e desarma o alarme
{
c=0;
EEPROM.write(memoria,c);
beep;
delay(2000);
beep;
}
c = EEPROM.read(memoria); // c inicia com o valor da eeprom
}
void loop()
{
if (digitalRead(5) == LOW && a == 0)
{
a+=1;
b+=1;
delay(200);
beep;
Serial.print("a: ");
Serial.println(a);
Serial.print("b: ");
Serial.println(b);
Serial.print("c: ");
Serial.println(c);
}
if (digitalRead(5) == LOW && a != 0)
{
a=0;
b+=1;
delay(200);
beep;
Serial.print("a: ");
Serial.println(a);
Serial.print("b: ");
Serial.println(b);
Serial.print("c: ");
Serial.println(c);
}
if (digitalRead(6) == LOW && a == 1)
{
a+=1;
b+=1;
delay(200);
beep;
Serial.print("a: ");
Serial.println(a);
Serial.print("b: ");
Serial.println(b);
Serial.print("c: ");
Serial.println(c);
}
if (digitalRead(6) == LOW && a != 1)
{
a=0;
b+=1;
delay(200);
beep;
Serial.print("a: ");
Serial.println(a);
Serial.print("b: ");
Serial.println(b);
Serial.print("c: ");
Serial.println(c);
}
if (digitalRead(9) == LOW && a == 2)
{
a+=1;
b+=1;
delay(200);
beep;
Serial.print("a: ");
Serial.println(a);
Serial.print("b: ");
Serial.println(b);
Serial.print("c: ");
Serial.println(c);
}
if (digitalRead(9) == LOW && a != 2)
{
a=0;
b+=1;
delay(200);
beep;
Serial.print("a: ");
Serial.println(a);
Serial.print("b: ");
Serial.println(b);
Serial.print("c: ");
Serial.println(c);
}
if (digitalRead(10) == LOW && a == 3)
{
a+=1;
b+=1;
delay(200);
beep;
Serial.print("a: ");
Serial.println(a);
Serial.print("b: ");
Serial.println(b);
Serial.print("c: ");
Serial.println(c);
}
if (digitalRead(10) == LOW && a != 3)
{
a=0;
b+=1;
delay(200);
beep;
Serial.print("a: ");
Serial.println(a);
Serial.print("b: ");
Serial.println(b);
Serial.print("c: ");
Serial.println(c);
}
if (digitalRead(11) == LOW && a == 4)
{
a+=1;
b+=1;
delay(200);
beep;
Serial.print("a: ");
Serial.println(a);
Serial.print("b: ");
Serial.println(b);
Serial.print("c: ");
Serial.println(c);
}
if (digitalRead(11) == LOW && a != 4)
{
a=0;
b+=1;
delay(200);
beep;
Serial.print("a: ");
Serial.println(a);
Serial.print("b: ");
Serial.println(b);
Serial.print("c: ");
Serial.println(c);
}
if (digitalRead(12) == LOW && a == 5)
{
a+=1;
b+=1;
delay(200);
beep;
Serial.print("a: ");
Serial.println(a);
Serial.print("b: ");
Serial.println(b);
Serial.print("c: ");
Serial.println(c);
}
if (digitalRead(12) == LOW && a != 5)
{
a=0;
b+=1;
delay(200);
beep;
Serial.print("a: ");
Serial.println(a);
Serial.print("b: ");
Serial.println(b);
Serial.print("c: ");
Serial.println(c);
}
if(a==6)
{
digitalWrite(8,HIGH);
delay(1000);
digitalWrite(8,LOW);
a=0;
b=0;
c=0;
}
if(b>=6 && a!=6)
{
erro;
delay(3000);
a=0;
b=0;
c+=1;
}
if(c>=3)
{
alerta;
EEPROM.write(memoria,c);
delay(300000);
}
}
//senha: 5-6-9-10-11-12
//para trocar a senha faça inversao da ordem dos fios do teclado
//04-08-2019
//revisao 07-08-2019
//incluido armazenamento das tentativas na eeprom interna
//incluido desarme (iniciar com d5 pressionado)
//pedroluand@gmail.com
#include <EEPROM.h>
#define beep tone(7,600,50)
#define erro tone(7,400,1000)
#define alerta tone(7,600,300000)
int a; //registro da senha
int b; //contador de erro
int c; //contador de tentativas
int memoria = 0; //memoria na eeprom
void setup()
{
pinMode(5,INPUT_PULLUP);
pinMode(6,INPUT_PULLUP);
pinMode(7,OUTPUT); //buzzer
pinMode(8,OUTPUT); //relé
pinMode(9,INPUT_PULLUP);
pinMode(10,INPUT_PULLUP);
pinMode(11,INPUT_PULLUP);
pinMode(12,INPUT_PULLUP);
Serial.begin(9600);
//se iniciado com d5 pressionado
if (digitalRead(5) == LOW) //zera o numero de tentativas na eeprom e desarma o alarme
{
c=0;
EEPROM.write(memoria,c);
beep;
delay(2000);
beep;
}
c = EEPROM.read(memoria); // c inicia com o valor da eeprom
}
void loop()
{
if (digitalRead(5) == LOW && a == 0)
{
a+=1;
b+=1;
delay(200);
beep;
Serial.print("a: ");
Serial.println(a);
Serial.print("b: ");
Serial.println(b);
Serial.print("c: ");
Serial.println(c);
}
if (digitalRead(5) == LOW && a != 0)
{
a=0;
b+=1;
delay(200);
beep;
Serial.print("a: ");
Serial.println(a);
Serial.print("b: ");
Serial.println(b);
Serial.print("c: ");
Serial.println(c);
}
if (digitalRead(6) == LOW && a == 1)
{
a+=1;
b+=1;
delay(200);
beep;
Serial.print("a: ");
Serial.println(a);
Serial.print("b: ");
Serial.println(b);
Serial.print("c: ");
Serial.println(c);
}
if (digitalRead(6) == LOW && a != 1)
{
a=0;
b+=1;
delay(200);
beep;
Serial.print("a: ");
Serial.println(a);
Serial.print("b: ");
Serial.println(b);
Serial.print("c: ");
Serial.println(c);
}
if (digitalRead(9) == LOW && a == 2)
{
a+=1;
b+=1;
delay(200);
beep;
Serial.print("a: ");
Serial.println(a);
Serial.print("b: ");
Serial.println(b);
Serial.print("c: ");
Serial.println(c);
}
if (digitalRead(9) == LOW && a != 2)
{
a=0;
b+=1;
delay(200);
beep;
Serial.print("a: ");
Serial.println(a);
Serial.print("b: ");
Serial.println(b);
Serial.print("c: ");
Serial.println(c);
}
if (digitalRead(10) == LOW && a == 3)
{
a+=1;
b+=1;
delay(200);
beep;
Serial.print("a: ");
Serial.println(a);
Serial.print("b: ");
Serial.println(b);
Serial.print("c: ");
Serial.println(c);
}
if (digitalRead(10) == LOW && a != 3)
{
a=0;
b+=1;
delay(200);
beep;
Serial.print("a: ");
Serial.println(a);
Serial.print("b: ");
Serial.println(b);
Serial.print("c: ");
Serial.println(c);
}
if (digitalRead(11) == LOW && a == 4)
{
a+=1;
b+=1;
delay(200);
beep;
Serial.print("a: ");
Serial.println(a);
Serial.print("b: ");
Serial.println(b);
Serial.print("c: ");
Serial.println(c);
}
if (digitalRead(11) == LOW && a != 4)
{
a=0;
b+=1;
delay(200);
beep;
Serial.print("a: ");
Serial.println(a);
Serial.print("b: ");
Serial.println(b);
Serial.print("c: ");
Serial.println(c);
}
if (digitalRead(12) == LOW && a == 5)
{
a+=1;
b+=1;
delay(200);
beep;
Serial.print("a: ");
Serial.println(a);
Serial.print("b: ");
Serial.println(b);
Serial.print("c: ");
Serial.println(c);
}
if (digitalRead(12) == LOW && a != 5)
{
a=0;
b+=1;
delay(200);
beep;
Serial.print("a: ");
Serial.println(a);
Serial.print("b: ");
Serial.println(b);
Serial.print("c: ");
Serial.println(c);
}
if(a==6)
{
digitalWrite(8,HIGH);
delay(1000);
digitalWrite(8,LOW);
a=0;
b=0;
c=0;
}
if(b>=6 && a!=6)
{
erro;
delay(3000);
a=0;
b=0;
c+=1;
}
if(c>=3)
{
alerta;
EEPROM.write(memoria,c);
delay(300000);
}
}
Comentários
Postar um comentário