Lab_interaccio/2010/E_SHOE/E_SHOE.pde

112 lines
2.3 KiB
Plaintext
Raw Permalink Normal View History

2025-02-25 21:29:42 +01:00
int id = 10;
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;
digitalWrite(sleep,LOW);
while(digitalRead(CTS));
Serial.print(0x90,BYTE);
while(digitalRead(CTS));
Serial.print(31+id*3,BYTE);
while(digitalRead(CTS));
Serial.print(0x7F,BYTE);
}
else if((!digitalRead(19))&&(flag1==1))
{
flag1=0;
digitalWrite(sleep,LOW);
while(digitalRead(CTS));
Serial.print(0x90,BYTE);
while(digitalRead(CTS));
Serial.print(31+id*3,BYTE);
while(digitalRead(CTS));
Serial.print(0x00,BYTE);
}
if ((digitalRead(18))&&(flag2==0))
{
flag2=1;
digitalWrite(sleep,LOW);
while(digitalRead(CTS));
Serial.print(0x90,BYTE);
while(digitalRead(CTS));
Serial.print(32+id*3,BYTE);
while(digitalRead(CTS));
Serial.print(0x7F,BYTE);
}
else if((!digitalRead(18))&&(flag2==1))
{
flag2=0;
digitalWrite(sleep,LOW);
while(digitalRead(CTS));
Serial.print(0x90,BYTE);
while(digitalRead(CTS));
Serial.print(32+id*3,BYTE);
while(digitalRead(CTS));
Serial.print(0x00,BYTE);
}
if ((digitalRead(17))&&(flag3==0))
{
flag3=1;
digitalWrite(sleep,LOW);
while(digitalRead(CTS));
Serial.print(0x90,BYTE);
while(digitalRead(CTS));
Serial.print(33+id*3,BYTE);
while(digitalRead(CTS));
Serial.print(0x7F,BYTE);
}
else if((!digitalRead(17))&&(flag3==1))
{
flag3=0;
digitalWrite(sleep,LOW);
while(digitalRead(CTS));
Serial.print(0x90,BYTE);
while(digitalRead(CTS));
Serial.print(33+id*3,BYTE);
while(digitalRead(CTS));
Serial.print(0x00,BYTE);
}
}