Trong bài viết hôm nay mình sẽ hướng dẫn các bạn làm thế nào để điều khiển góc của một động cơ Servo.
Để có thể hiểu một cách tốt nhất về động cơ RC Servo là gì? Cấu tạo và nguyên lý hoạt động ra làm sao. Các bạn xem bài viết bên dưới nhé.
Sơ đồ đấu nối
Arduino Uno | Động cơ Servo SG90 |
5V | Dây màu đỏ |
GND | Dây màu đen |
D9 | Dây màu vàng |
Code:
#include <Servo.h>
Servo myservo;
int pos = 0;
void setup() {
myservo.attach(9);
}
void loop() {
for(pos = 0; pos < 180; pos += 1){
myservo.write(pos);
delay(15);
}
for(pos = 180; pos>=1; pos-=1) {
myservo.write(pos);
delay(15);
}
}
Gải thích code
#include
#include <Servo.h>
Cho phép chương trình của bạn tải một thư viện đã được viết sẵn. Tức là bạn có thể truy xuất được những tài nguyên trong thư viện này từ chương trình của mình.
Servo myservo;
Khởi tạo đối tượng Servo và đặt tên là myservo.
Hàm attach()
Nếu các bạn theo dõi từ những bài trước và đã quen thuộc với hàm
pinMode() thì hàm
attach() ở đây cũng tương tự, dùng để khai báo chân kết nối.
Cú pháp
myservo.attach(pin);
Trong bài viết này mình dùng Pin D9 để điều khiển động cơ Servo. Các bạn có thể thay thế các chân Digital/Analog khác có trên Board mạch.
myservo.write(pos);
Dùng để ghi các dữ liệu ra và ở đây là xuất tọa độ ra cho servo.