Bài 10: Điều khiển động cơ RC Servo sử dụng Arduino

15 Tháng 05 2019 | Đăng bởi: Lực Nguyễn

 

Tiếp tục trong chuỗi bài viết Khóa học lập trình Arduino Miễn Phí dành cho người nhập môn.

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

 

 

arduino-uno-servo-sg90

Các linh kiện cần thiết cho dự án

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.

Lời kết

Tham gia cộng đồng Arduino KIT

  • Để nhận được nhiều kiến thức bổ ích, các bạn Đăng ký để nhận thông báo khi có bài viết mới nhé.

  • Tham gia Cộng đồng Arduino KIT để cùng nhau thảo luận và chia sẽ kiến thức về lập trình Arduino.

Nếu các bạn thấy bài viết bổ ích nhớ LikeShare cho mọi người cùng học nhé.

Bài viết liên quan

Bình luận
2 bình luận:
binh-luan

Admin

02/06/2019

Cảm ơn Hoan Nguyen . E có thể xem bài 12 trong Khóa học để có thêm ý tưởng e nhé. Cần hỗ trợ gì th��m e để comment bên dưới mình sẽ trả lời trong thời gian sớm nhất. Thân ái.

binh-luan

Hoan Nguyễn

02/06/2019

Cảm ơn bài viết rất hay và chi tiết. Nhưng mình muốn điều khiển nhiều servo bằng các nút nhấn trên arduino thì làm sao ạ? Ví dụ: nhấn s1 thì servo 1 quay 45 độ. Nhấn s2 servo 2 quay 90 độ. Nhả các nút nhấn thì các servo về 0. Rất mong tác giả hồi âm cho ý tưởng. Cảm ơn nhiều...

Viết bình luận: