You are on page 1of 3

int b1 = 7;

int b2 = 6;
int b3 = 5;

int led1 = 13;


int led2 = 12;
int led3 = 11;

int led_alarma = 10;

int buz = 4;

int tecla = 0;
int aviso = -1;
int clave[3];
int indice = 0;
int nivel= -1;
int tiempo1, tiempo2, duracion;
int ledrojo = -1;
char n1, n2, n3, n4;
int umbral = 1000 ;
int bt1 = 0, bt2 = 0, bt3 = 0;

void setup()
{
pinMode(b1, INPUT);
pinMode(b2, INPUT);
pinMode(b3, INPUT);
pinMode(led1, OUTPUT);
pinMode(led2, OUTPUT);
pinMode(led3, OUTPUT);
pinMode(led_alarma, OUTPUT);
pinMode(buz, OUTPUT);
pinMode(A0, INPUT);
Serial.begin(9600);
}

void loop() {
if (aviso == -1)
{
digitalWrite(led_alarma, LOW);
digitalWrite(buz, LOW);
nivel = -1;
} else{
digitalWrite(led_alarma ,HIGH);
int sensor = analogRead(A0);
Serial.print("Pot: ");
Serial.println(sensor);
if(sensor > 500){
if(nivel == -1){
tiempo1 = millis();
}
nivel = 1;
} else {
nivel = -1;
}
}

bt1 = 0; bt2 = 0, bt3 = 0;


bt1 = digitalRead(b1);
bt2 = digitalRead(b2);
bt3 = digitalRead(b3);
if (bt1 == 1 || bt2 == 1 || bt3 == 1)
{
tone(buz, 440, 50);
if (bt1 == 1){tecla = 1;}
if (bt2 == 1){tecla = 2;}
if (bt3 == 1){tecla = 3;}
Serial.println(tecla);
clave[indice] = tecla;
indice++;
if (indice > 2){
n1 = clave[0] == 1;
n2 = clave[1] == 3;
n3 = clave[2] == 2;
if (n1 && n2 && n3){
aviso *= -1;
Serial.println("Activado/Desactivado");
} else {
Serial.println("Intente nuevamente");
tone(buz, 440, 500);
delay(500);
tone(buz, 220, 500);
delay(500);
tone(buz, 20, 500);
delay(500);
}
clave[0] = 0;
clave[1] = 0;
clave[2] = 0;
indice = 0;
}
}

if (nivel == 1){
tiempo2 = millis();
duracion = tiempo2 - tiempo1;
if (duracion < 8000){
if (duracion > umbral){
tone(buz, 120, 50);
umbral += 1000;
int segundo = duracion/1000;
if (segundo == 1){
digitalWrite(led1, HIGH);
digitalWrite(led2, LOW);
digitalWrite(led3, LOW);
} else if (segundo == 2) {
digitalWrite(led1, LOW);
digitalWrite(led2, HIGH);
digitalWrite(led3, LOW);
} else if (segundo == 3) {
digitalWrite(led1, HIGH);
digitalWrite(led2, HIGH);
digitalWrite(led3, LOW);
} else if (segundo == 4) {
digitalWrite(led1, LOW);
digitalWrite(led2, LOW);
digitalWrite(led3, HIGH);
} else if (segundo == 5) {
digitalWrite(led1, HIGH);
digitalWrite(led2, LOW);
digitalWrite(led3, HIGH);
} else if (segundo == 6) {
digitalWrite(led1, LOW);
digitalWrite(led2, HIGH);
digitalWrite(led3, HIGH);
} else {
digitalWrite(led1, HIGH);
digitalWrite(led2, HIGH);
digitalWrite(led3, HIGH);
}
}
} else {
digitalWrite(buz, HIGH);
}
} else {
digitalWrite(buz, LOW);
digitalWrite(led1, LOW);
digitalWrite(led2, LOW);
digitalWrite(led3, LOW);
umbral = 1000;
}
delay (150);
}

You might also like