Điều khiển động cơ Servo
1. Mục tiêu bài học #
Sau bài này, bạn sẽ:
- Hiểu servo SG90 hoạt động như thế nào
- Điều khiển servo quay đến các góc khác nhau
- Tạo hiệu ứng quét qua lại
- Kết hợp servo với robot Arduino
2. Giới thiệu động cơ Servo SG90 #
Servo SG90 là loại động cơ mini có thể:
- Quay chính xác theo góc
- Giữ nguyên vị trí
- Điều khiển dễ dàng bằng Arduino
Thông thường servo SG90 quay được khoảng:
- 0°
- 90°
- 180°
Servo thường dùng để:
- Xoay camera
- Gắp đồ vật
- Điều khiển tay robot
- Quét cảm biến siêu âm
3. Sơ đồ kết nối #
Nhận biết dây Servo SG90
| Màu dây | Chức năng |
| Nâu/Đen | GND |
| Đỏ | 5V |
| Cam/Vàng | Signal |
Kết nối với Arduino
| Servo | Arduino |
| GND | GND |
| 5V | 5V |
| Signal | A5 |
4. Code quay Servo đến các góc #
#include <Servo.h>
Servo myServo;
void setup() {
myServo.attach(A5);
}
void loop() {
// Quay về 0 độ
myServo.write(0);
delay(1000);
// Quay đến 90 độ
myServo.write(90);
delay(1000);
// Quay đến 180 độ
myServo.write(180);
delay(1000);
}5. Giải thích code #
Khai báo thư viện
#include <Servo.h>
Dùng thư viện điều khiển Servo.
Tạo đối tượng Servo
Servo myServo;
Gắn Servo vào chân A5
myServo.attach(A5);
Điều khiển góc quay
myServo.write(90);
Servo sẽ quay đến góc 90 độ.
6. Hiệu ứng quét qua lại #
Code dưới đây giúp servo quay từ trái sang phải liên tục.
#include <Servo.h>
Servo myServo;
void setup() {
myServo.attach(A5);
}
void loop() {
// Quay từ 0 -> 180
for(int angle = 0; angle <= 180; angle++) {
myServo.write(angle);
delay(10);
}
// Quay từ 180 -> 0
for(int angle = 180; angle >= 0; angle--) {
myServo.write(angle);
delay(10);
}
}8. Điều chỉnh tốc độ Servo #
Servo càng delay lớn → quay càng chậm.
Ví dụ:
delay(5);
Quay nhanh hơn.
delay(20);
Quay chậm hơn.
9. Ứng dụng thực tế trên robot #
Servo thường dùng để:
- Xoay cảm biến HC-SR04
- Làm tay gắp
- Xoay camera ESP32-CAM
- Điều khiển cơ cấu robot
Ví dụ:
- Servo quay trái → đo khoảng cách
- Servo quay phải → đo khoảng cách
- Robot chọn hướng tránh vật cản
10. Một số biến thể khác #
11. Tổng kết #
Trong bài này bạn đã học:
- Cách dùng servo SG90
- Điều khiển góc quay
- Tạo chuyển động quét
- Ứng dụng servo trên robot Arduino
Cập nhật vào Tháng 5 29, 2026