#include #include #include Adafruit_SSD1306 myDisplay(128, 64, &Wire); const int Power = 11; const int button1Pin = D0; const int button2Pin = D1; const int button3Pin = D2; const int valve1Pin = D3; const int motor1Pin = D7; const int motor2Pin = D8; int button1State = LOW; int button2State = LOW; int button3State = LOW; void setup() { pinMode(button1Pin, INPUT); pinMode(button2Pin, INPUT); pinMode(button3Pin, INPUT); pinMode(valve1Pin, OUTPUT); pinMode(motor1Pin, OUTPUT); pinMode(motor2Pin, OUTPUT); myDisplay.begin(SSD1306_SWITCHCAPVCC, 0x3C); } void loop() { myDisplay.clearDisplay(); myDisplay.setTextSize(2); myDisplay.setTextColor(WHITE); myDisplay.setCursor(0,0); button1State = digitalRead(button1Pin); button2State = digitalRead(button2Pin); button3State = digitalRead(button3Pin); if (button1State == LOW) { if (button2State == LOW) { if (button3State == LOW) { digitalWrite(motor1Pin, LOW); digitalWrite(valve1Pin, LOW); digitalWrite(motor2Pin, LOW); } else { myDisplay.clearDisplay(); myDisplay.println("PROGRAM C"); myDisplay.println("RUNNING"); myDisplay.display(); for(int i = 0; i < 2; i ++) { digitalWrite(motor1Pin, HIGH); digitalWrite(valve1Pin, LOW); digitalWrite(motor2Pin, LOW); delay(1000); digitalWrite(motor1Pin, LOW); digitalWrite(valve1Pin, LOW); digitalWrite(motor2Pin, LOW); delay(500); digitalWrite(motor1Pin, LOW); digitalWrite(valve1Pin, HIGH); digitalWrite(motor2Pin, HIGH); delay(1000); digitalWrite(motor1Pin, LOW); digitalWrite(valve1Pin, LOW); digitalWrite(motor2Pin, LOW); delay(500); } myDisplay.clearDisplay(); myDisplay.println("PROGRAM C"); myDisplay.println("DONE"); myDisplay.display(); } } else { myDisplay.clearDisplay(); myDisplay.println("PROGRAM B"); myDisplay.println("RUNNING"); myDisplay.display(); for(int i = 0; i < 2; i ++) { digitalWrite(motor1Pin, HIGH); digitalWrite(valve1Pin, LOW); digitalWrite(motor2Pin, LOW); delay(1000); digitalWrite(motor1Pin, LOW); digitalWrite(valve1Pin, LOW); digitalWrite(motor2Pin, LOW); delay(500); digitalWrite(motor1Pin, LOW); digitalWrite(valve1Pin, HIGH); digitalWrite(motor2Pin, HIGH); delay(1000); digitalWrite(motor1Pin, LOW); digitalWrite(valve1Pin, LOW); digitalWrite(motor2Pin, LOW); delay(500); } myDisplay.clearDisplay(); myDisplay.println("PROGRAM B"); myDisplay.println("DONE"); myDisplay.display(); } } else { myDisplay.clearDisplay(); myDisplay.println("PROGRAM A"); myDisplay.println("RUNNING"); myDisplay.display(); for(int i = 0; i < 2; i ++) { digitalWrite(motor1Pin, HIGH); digitalWrite(valve1Pin, LOW); digitalWrite(motor2Pin, LOW); delay(1000); digitalWrite(motor1Pin, LOW); digitalWrite(valve1Pin, LOW); digitalWrite(motor2Pin, LOW); delay(500); digitalWrite(motor1Pin, LOW); digitalWrite(valve1Pin, HIGH); digitalWrite(motor2Pin, HIGH); delay(1000); digitalWrite(motor1Pin, LOW); digitalWrite(valve1Pin, LOW); digitalWrite(motor2Pin, LOW); delay(500); } myDisplay.clearDisplay(); myDisplay.println("PROGRAM A"); myDisplay.println("DONE"); myDisplay.display(); } }