#define on 18 #define off 19 #define power_on 13 #define MINUTE 62609 //#define MINUTE 1000 #define temp 20 unsigned long time=0; unsigned long time_off=0; byte flag=0; byte flag_off=0; //int i=1; int i=1; int time1=2; int time2=4.7; int time3=10.6; int time4=5; int time5=5; int TIME=time1; int e; void setup() { Serial.begin(19200); // set up Serial library at 9600 bps //Serial.println("Empezamos"); pinMode(on, INPUT); pinMode(off, INPUT); pinMode(power_on, OUTPUT); digitalWrite(on,HIGH); digitalWrite(off,HIGH); digitalWrite(power_on,HIGH); } void loop() { if (!digitalRead(on)) { //delay(200); flag_off=1; if (flag==0) { flag=1; for (e=0; e<5; e++) { Serial.print(i,BYTE); delay(temp); } TIME=time1; i=i+2; } //else if (flag==1) flag=0; time=millis(); } else if(!digitalRead(off)) { if (flag_off==0) { time_off=millis(); flag_off=1; } else if ((millis()-time_off)>=10*1000) { for (e=0; e<5; e++) { Serial.print(0x00,BYTE); delay(temp); } flag=0; i=1; } } else flag_off=0; if (flag==1) { if ((millis()-time)>=MINUTE*TIME) //if ((millis()-time)>=5000) { time=millis(); for (e=0; e<5; e++) { Serial.print(i-1,BYTE); delay(temp); } for (e=0; e<5; e++) { if (i<0x0B) Serial.print(i,BYTE); else Serial.print(0x00,BYTE); delay(temp); } if (i==3) TIME=time2; else if (i==5) TIME=time3; else if (i==7) TIME=time4; else if (i==9) TIME=time5; i=i+2; if (i==13) { i=1; flag=0; } } } }