int id = 0; int CTS = 2; int sleep = 3; int flag1 = 0; int flag2 = 0; int flag3 = 0; int flag4 = 0; unsigned long time=0; unsigned long time_sleep=5000; void setup() // run once, when the sketch starts { Serial.begin(19200); pinMode(16, INPUT); pinMode(17, INPUT); pinMode(18, INPUT); pinMode(19, INPUT); pinMode(CTS, INPUT); pinMode(sleep, OUTPUT); Serial.print("RESET"); time=millis(); digitalWrite(sleep,LOW); } void loop() // run over and over again { /*if (((millis()-time)>=time_sleep)&&(!flag1)&&(!flag2)&&(!flag3)) { digitalWrite(sleep,HIGH); } else if (flag1||flag2||flag3) { digitalWrite(sleep,LOW); time=millis(); }*/ if ((digitalRead(19))&&(flag1==0)) { flag1=1; Serial.println("S5 ON"); } else if((!digitalRead(19))&&(flag1==1)) { flag1=0; Serial.println("S5 OFF"); } if ((digitalRead(18))&&(flag2==0)) { flag2=1; Serial.println("S4 ON"); } else if((!digitalRead(18))&&(flag2==1)) { flag2=0; Serial.println("S4 OFF"); } if ((digitalRead(16))&&(flag3==0)) { flag3=1; Serial.println("S2 ON"); } else if((!digitalRead(16))&&(flag3==1)) { flag3=0; Serial.println("S2 OFF"); } if ((digitalRead(17))&&(flag4==0)) { flag4=1; Serial.println("S3 ON"); } else if((!digitalRead(17))&&(flag4==1)) { flag4=0; Serial.println("S3 OFF"); } }