#include <Servo.h>
// Pin Definitions
int motor1Enable = 33; // Linear Actuator Enable
int motor1Input1 = 34; // Linear Actuator Forward
int motor1Input2 = 35; // Linear Actuator Backward
int motor2Enable = 36; // Motor 2 Enable (not used for now)
int motor2Input3 = 37; // Motor 2 Input 3
int motor2Input4 = 38; // Motor 2 Input 4
int led1 = 10; // LED for Enable 1
int led2 = 11; // LED for Input 1
int led3 = 12; // LED for Input 2
int led4 = 13; // LED for Enable 2
int led5 = 14; // LED for Input 3
int led6 = 15; // LED for Input 4
int seedServoPin = 9; // Servo motor for seed dropping
Servo seedServo;
void setup() {
// Set motor pins as OUTPUT
pinMode(motor1Enable, OUTPUT);
pinMode(motor1Input1, OUTPUT);
pinMode(motor1Input2, OUTPUT);
pinMode(motor2Enable, OUTPUT);
pinMode(motor2Input3, OUTPUT);
pinMode(motor2Input4, OUTPUT);
pinMode(led1, OUTPUT);
pinMode(led2, OUTPUT);
pinMode(led3, OUTPUT);
pinMode(led4, OUTPUT);
pinMode(led5, OUTPUT);
pinMode(led6, OUTPUT);
// Attach servo motor
seedServo.attach(seedServoPin);
seedServo.write(0); // Initial position
}
void loop() {
// Move Linear Actuator Forward to Next Hole
digitalWrite(motor1Enable, HIGH);
digitalWrite(motor1Input1, HIGH);
digitalWrite(motor1Input2, LOW);
digitalWrite(led1, HIGH);
digitalWrite(led2, HIGH);
digitalWrite(led3, LOW);
delay(3000); // Adjust time for proper hole spacing
// Stop Actuator
digitalWrite(motor1Enable, LOW);
digitalWrite(led1, LOW);
delay(500); // Small delay before dropping seed
// Drop Seed using Servo
seedServo.write(90); // Rotate servo to drop seed
delay(500); // Seed dropping time
seedServo.write(0); // Reset servo position
delay(500); // Small delay
// Move Linear Actuator Backward (if needed)
digitalWrite(motor1Enable, HIGH);
digitalWrite(motor1Input1, LOW);
digitalWrite(motor1Input2, HIGH);
digitalWrite(led1, HIGH);
digitalWrite(led2, LOW);
digitalWrite(led3, HIGH);
delay(1000); // Adjust as needed
// Stop Actuator
digitalWrite(motor1Enable, LOW);
digitalWrite(led1, LOW);
delay(2000); // Wait before moving to the next hole
}