// Arduino Code // Pin assignments const int switchPin = 2; // Start switch // Door motors (Motor 1 & 2 on H-bridge) const int leftPin = 7; // H-bridge left side const int rightPin = 8; // H-bridge right side // Motor 3 – Water Pump const int pumpPin = 9; // Motor 4 – Object Rotator const int rotatePin = 10; void setup() { pinMode(switchPin, INPUT_PULLUP); pinMode(leftPin, OUTPUT); pinMode(rightPin, OUTPUT); pinMode(pumpPin, OUTPUT); pinMode(rotatePin, OUTPUT); // All motors off initially stopDoor(); digitalWrite(pumpPin, LOW); digitalWrite(rotatePin, LOW); } void loop() { // Wait until switch is pressed if (digitalRead(switchPin) == LOW) { delay(50); // debounce //------------------------------- // SEQUENCE 1: Door Opening (1 second) //------------------------------- doorOpen(); delay(1000); stopDoor(); delay(5000); //------------------------------- // SEQUENCE 2: Water Pump (1 minute) //------------------------------- digitalWrite(pumpPin, HIGH); delay(60000); digitalWrite(pumpPin, LOW); delay(5000); //------------------------------- // SEQUENCE 3: Door Closing (1 second) //------------------------------- doorClose(); delay(1000); stopDoor(); delay(5000); //------------------------------- // SEQUENCE 4: Motor 4 rotation (360 degrees) //------------------------------- digitalWrite(rotatePin, HIGH); delay(2000); // Adjust for 360 degree turn digitalWrite(rotatePin, LOW); delay(5000); //------------------------------- // SEQUENCE 5: Door Open (stay open 5 minutes) //------------------------------- doorOpen(); delay(1000); stopDoor(); delay(300000); // 5 minutes delay(5000); //------------------------------- // SEQUENCE 6: Door Close (1 second) //------------------------------- doorClose(); delay(1000); stopDoor(); delay(5000); //------------------------------- // SEQUENCE 7: Motor 4 rotation again //------------------------------- digitalWrite(rotatePin, HIGH); delay(2000); digitalWrite(rotatePin, LOW); delay(5000); } } // Door control functions void doorOpen() { digitalWrite(leftPin, HIGH); digitalWrite(rightPin, LOW); } void doorClose() { digitalWrite(leftPin, LOW); digitalWrite(rightPin, HIGH); } void stopDoor() { digitalWrite(leftPin, LOW); digitalWrite(rightPin, LOW); }