int water = 2;
int spinF = 3;
int spinR = 4; //OUTPUTS
int drain = 5;
int dry = 6;
int startB = 7;
int washFinished = 8;
int waterFull = 9; //INPUTS
int drainSensor = 10;
int drySensor = 11;
bool started = HIGH;
bool start = HIGH;
bool watered = HIGH;
bool washed = HIGH;
bool drained = HIGH;
bool dried = HIGH; //variable storage for event status recording
void setup()
{
pinMode(water, OUTPUT);
pinMode(spinF, OUTPUT);
pinMode(spinR, OUTPUT);
pinMode(drain, OUTPUT);
pinMode(dry, OUTPUT);
pinMode(startB, INPUT_PULLUP);
pinMode(washFinished, INPUT_PULLUP);
pinMode(waterFull, INPUT_PULLUP);
pinMode(drainSensor, INPUT_PULLUP);
pinMode(drySensor, INPUT_PULLUP);
Serial.begin(115200);
}
void loop()
{
if (digitalRead(startB) == LOW && digitalRead(start) == HIGH)
{
start = LOW;
}
if (start == LOW && watered == HIGH)
{
digitalWrite (water, HIGH);
Serial.println ("Loading Water");
}
if (start == LOW && digitalRead(waterFull) == LOW)
{
watered = LOW;
}
if (start == LOW && watered == LOW && washed == HIGH)
{
digitalWrite (water, LOW);
digitalWrite (spinF, HIGH);
digitalWrite (spinR, LOW);
Serial.println ("Spinning Clockwise");
delay(300);
digitalWrite (spinF, LOW);
digitalWrite (spinR, HIGH);
Serial.println ("Spinning Counter-Clockwise");
delay(300);
}
if (start == LOW && digitalRead(washFinished) == LOW)
{
washed = LOW;
}
if (start == LOW && washed == LOW && drained == HIGH)
{
digitalWrite(spinF, LOW);
digitalWrite(spinR, LOW);
digitalWrite(drain, HIGH);
Serial.println ("The washing stopped, and now the water is Draining");
delay(300);
}
if (start == LOW && digitalRead(drainSensor) == LOW)
{
digitalWrite(drain, LOW);
drained = LOW;
}
if (start == LOW && drained == LOW)
{
digitalWrite(dry, HIGH);
Serial.println("Clothes are drying!");
delay(300);
}
if (start == LOW && digitalRead(drySensor) == LOW)
{
digitalWrite(dry, LOW);
dried = LOW;
}
if (dried == LOW && start == LOW)
{
start = HIGH;
watered = HIGH;
washed = HIGH;
drained = HIGH;
dried = HIGH;
Serial.println("DONE NA: ");
}
}