String incoming;
int Buzzer;
int LedPin=2;
int Regresa=0;
int Alerta;
int Switch_y=0;
int Switching=0;
void setup() {
// put your setup code here, to run once:
Serial.begin(9600);
for(int x = 2; x <= 13; x++){
pinMode(x, OUTPUT);
digitalWrite(x,HIGH);
}
}
void loop() {// put your main code here, to run repeatedly:
if (Serial.available() > 0)
{
Switch_y=0;
incoming = Serial.readString();
if(incoming.substring(2,8) == "000000"){
Switch_y=0;
for(int y = 2; y < 7; y++)
digitalWrite(y,HIGH);
digitalWrite(8,HIGH);
if (incoming.substring(10,11) == "0"){
digitalWrite(2,LOW);
if (incoming.substring(8,9) == "1")
Buzzer=1;
else
Buzzer=0;
}
else {
for(int y = 2; y <= 13; y++)
digitalWrite(y,LOW);
}
}
else{
if (incoming.substring(7,8) == "1"){
Buzzer=0;
Switch_y=0;
digitalWrite(8,HIGH);
for(int y = 2; y < 7; y++)
digitalWrite(y,LOW);}
else{
digitalWrite(2,HIGH);
for(int y = 2; y <= 13; y++){
if(incoming.substring(y,y+1) == "1"){
if (y>=2 && y<=7){
digitalWrite(8,LOW);
Buzzer=0;
Switch_y=y;}
else
digitalWrite(y,LOW);
}
}
/*else
Buzzer=0;*/
if (incoming.substring(9,10) == "1")
digitalWrite(8,HIGH);
else
digitalWrite(8,LOW);
}
}
}
else{
if (Buzzer==1 || analogRead(A0)>=1023){
digitalWrite(LedPin, LOW);
delay(100);
digitalWrite(LedPin, HIGH);
delay(100);
if (!Regresa) LedPin ++;
else LedPin --;
if (LedPin > 6) {Regresa = 1; LedPin=6;}
if (LedPin < 2) {Regresa = 0; LedPin=2;}}
else if(Switch_y>0){
delay(300);
if (Switching==0){
Switching=1;
digitalWrite(Switch_y,LOW);}
else{
Switching=0;
digitalWrite(Switch_y,HIGH);}
}
}
}