Lab_interaccio/2009/STROBE_09/STROBE_09.pde
2025-02-25 21:21:58 +01:00

105 lines
2 KiB
Plaintext

#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;
}
}
}
}