102 lines
2.9 KiB
C++
102 lines
2.9 KiB
C++
#define start 2;
|
|
#define fill 3;
|
|
#define soak 4;
|
|
#define spin_wash 5;
|
|
#define rinse 6;
|
|
#define drain 7;
|
|
#define spin_dry 8;
|
|
#define mode 9;
|
|
|
|
int status;
|
|
|
|
//start,fill,soak,dry
|
|
void setup() {
|
|
// put your setup code here, to run once:
|
|
Serial.begin(9600);
|
|
|
|
digitalWrite(2,LOW);
|
|
digitalWrite(3,LOW);
|
|
digitalWrite(4,LOW);
|
|
digitalWrite(5,LOW);
|
|
digitalWrite(6,LOW);
|
|
digitalWrite(7,LOW);
|
|
digitalWrite(8,LOW);
|
|
|
|
}
|
|
|
|
void loop() {
|
|
// put your main code here, to run repeatedly:
|
|
|
|
status = 2;
|
|
|
|
switch(status){
|
|
/*normal*/case 1: digitalWrite(2,HIGH); //start
|
|
delay(1000);
|
|
digitalWrite(2,LOW); //start
|
|
digitalWrite(3,HIGH); //fill
|
|
delay(4000);
|
|
digitalWrite(3,LOW);
|
|
digitalWrite(4,HIGH); //soak
|
|
delay(2000);
|
|
digitalWrite(4,LOW);
|
|
digitalWrite(5,HIGH); //wash
|
|
delay(5000);
|
|
digitalWrite(5,LOW);
|
|
digitalWrite(6,HIGH); //rinse
|
|
delay(3000);
|
|
digitalWrite(6,LOW);
|
|
digitalWrite(7,HIGH); //drain
|
|
delay(1000);
|
|
digitalWrite(7,LOW);
|
|
digitalWrite(8,HIGH); //dry
|
|
delay(4000);
|
|
digitalWrite(8,LOW);
|
|
break;
|
|
/*fast*/case 2: digitalWrite(2,HIGH); //start
|
|
delay(1000);
|
|
digitalWrite(3,HIGH); //fill
|
|
delay(2000);
|
|
digitalWrite(3,LOW); //fill
|
|
digitalWrite(2,LOW); //start -> stop
|
|
digitalWrite(4,HIGH); //soak
|
|
delay(4000);
|
|
digitalWrite(4,LOW); //soak
|
|
digitalWrite(5,HIGH); //wash
|
|
delay(4000);
|
|
digitalWrite(5,LOW); //wash
|
|
digitalWrite(6,HIGH); //rinse
|
|
delay(2000);
|
|
digitalWrite(6,LOW); //rinse
|
|
digitalWrite(7,HIGH); //drain
|
|
digitalWrite(8,HIGH); //dry
|
|
delay(4000);
|
|
digitalWrite(8,LOW); //dry
|
|
digitalWrite(7,LOW); //drain
|
|
break;
|
|
/*abnormal*/case 3:
|
|
digitalWrite(2,HIGH); //start
|
|
digitalWrite(3,HIGH); //fill
|
|
delay(4000);
|
|
digitalWrite(3,LOW);
|
|
digitalWrite(4,HIGH); //soak
|
|
delay(2000);
|
|
digitalWrite(4,LOW);
|
|
digitalWrite(5,HIGH); //wash
|
|
delay(5000);
|
|
digitalWrite(5,LOW);
|
|
digitalWrite(6,HIGH); //rinse
|
|
delay(3000);
|
|
digitalWrite(6,LOW);
|
|
digitalWrite(7,HIGH); //drain
|
|
delay(1000);
|
|
digitalWrite(7,LOW);
|
|
digitalWrite(8,HIGH); //dry
|
|
delay(4000);
|
|
digitalWrite(8,LOW);
|
|
break;
|
|
|
|
}
|
|
|
|
|
|
}
|