#include <Servo.h>
#define NUM_SERVOS 5 // Số lượng servo
#define DELAY_BETWEEN_SERVOS 1000 // Thời gian chờ giữa mỗi servo (milliseconds)
Servo servos[NUM_SERVOS]; // Mảng chứa các đối tượng Servo
int servoPins[NUM_SERVOS] = {3, 5, 6, 9, 10}; // Chân tín hiệu của các servo
int servoAngles[NUM_SERVOS] = {0}; // Góc của mỗi servo
void setup() {
// Gắn các servo vào các chân khác nhau
for (int i = 0; i < NUM_SERVOS; i++) {
servos[i].attach(servoPins[i]); // Gắn servo vào chân tín hiệu tương ứng
}
}
void loop() {
// Điều khiển các servo một cách độc lập
controlServos();
// Chờ một khoảng thời gian
delay(DELAY_BETWEEN_SERVOS);
}
// Hàm điều khiển các servo
void controlServos() {
// Điều khiển từng servo một cách độc lập
for (int i = 0; i < NUM_SERVOS; i++) {
// Di chuyển servo từ góc 0 đến 180 độ
for (servoAngles[i] = 0; servoAngles[i] <= 180; servoAngles[i] += 1) {
servos[i].write(servoAngles[i]);
delay(15);
}
// Di chuyển servo từ 180 đến 0 độ
for (servoAngles[i] = 180; servoAngles[i] >= 0; servoAngles[i] -= 1) {
servos[i].write(servoAngles[i]);
delay(15);
}
}
}