112 lines
2.3 KiB
Plaintext
112 lines
2.3 KiB
Plaintext
|
|
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);
|
|
}
|
|
}
|
|
|