#include <Servo.h>
// Define the servo objects
Servo servo1;
Servo servo2;
// Define the motor control pins
const int motorPin1 = 3; // Motor direction pin
const int motorPin2 = 4; // Motor speed pin (PWM)
void setup() {
// Attach the servos to their respective pins
servo1.attach(9);
servo2.attach(10);
// Set the motor pins as outputs
pinMode(motorPin1, OUTPUT);
pinMode(motorPin2, OUTPUT);
}
void loop() {
// Move servo1 back and forth 90 degrees
for (int pos = 0; pos <= 90; pos++) {
servo1.write(pos);
delay(15); // Adjust delay for speed control
}
for (int pos = 90; pos >= 0; pos--) {
servo1.write(pos);
delay(15); // Adjust delay for speed control
}
// Run the motor in one direction for 5 seconds
digitalWrite(motorPin1, HIGH); // Set direction
analogWrite(motorPin2, 255); // Set speed (0-255)
delay(5000); // Wait for 5 seconds
// Reverse the motor direction
digitalWrite(motorPin1, LOW); // Change direction
delay(5000); // Wait for 5 seconds
// Move servo2 back and forth 180 degrees at a different speed
for (int pos = 0; pos <= 180; pos++) {
servo2.write(pos);
delay(30); // Adjust delay for different speed control
}
for (int pos = 180; pos >= 0; pos--) {
servo2.write(pos);
delay(30); // Adjust delay for different speed control
}
// Add a short delay before starting the loop again
delay(1000);
}