Thợ điện vô duyên học điện: Tự học vi điều khiển Bài 14

Vô Duyên - Hỏi Đáp Về Smart Home: Bài 14 lập trình điều khiển động cơ servo với Arduino, mở ra khả năng làm cánh tay robot và các dự án tự động hóa.

Tác giả: Thợ điện vô duyên - Phạm minh liêm

Hé lô anh em, Vô Duyên lại lên đây!

Bữa nay anh em mình lại tỉ tê chuyện nghề ha. 

Anh em muốn tui viết bài thứ mười bốn trong chuyên mục "Vô Duyên - Hỏi Đáp Về Smart Home" với chủ đề "Tự học vi điều khiển" đúng không? 

Vụ này thì tui khoái nè, vì nó là cái "cần câu cơm" của tui mà.

Ở mấy bài trước, anh em mình đã biết cách đo nhiệt độ và độ ẩm rồi. 

Giờ mình học thêm một cái nữa, đó là cách điều khiển động cơ servo

Cái này giống như anh em mình có thể điều khiển một cánh tay robot, hoặc một cái cửa tự động.

Thôi, không nói nhiều nữa, anh em mình bắt đầu thôi.

Bài 14: Điều khiển động cơ servo trong các dự án tự động hóa

1. Động cơ Servo là gì?

Nói thẳng luôn, động cơ servo giống như một cái bắp tay robot vậy đó. 

Nó có thể quay tới một góc mà anh em mình muốn, từ 0 độ đến 180 độ. 

Cái này hay hơn mấy cái động cơ khác, vì anh em mình có thể điều khiển nó đi tới một vị trí chính xác.

  • Mặt tốt: Điều khiển góc quay chính xác, dễ sử dụng.
  • Mặt xấu: Chỉ quay được trong một góc nhất định (thường là 0-180 độ), không quay tròn 360 độ liên tục được.

2. Chuẩn bị "đồ nghề"

Để làm bài này, anh em mình cần có:

  • Một bo Arduino Uno.
  • Một cái động cơ servo (loại nhỏ, ví dụ: SG90).
  • Vài sợi dây nối.

3. Đấu dây (Mạch điện)

Nói thiệt, cái này quan trọng lắm, anh em nhìn hình rồi làm theo cho kỹ.

Động cơ servo thường có ba dây:

  • Dây màu nâu (GND): 
    • Nối vào chân GND của Arduino.
  • Dây màu đỏ (VCC): 
    • Nối vào chân 5V của Arduino.
  • Dây màu cam (Tín hiệu): 
    • Nối vào một chân PWM trên Arduino 
    • (những chân có dấu "\~" ở trước), ví dụ như chân số 9.

4. Lập trình và giải thích

Để thằng Arduino nó hiểu được tín hiệu từ động cơ, anh em mình phải gọi thêm một cái "từ điển" cho nó. 

Cái "từ điển" này trong lập trình gọi là thư viện (library).

  • Bước 1: Cài đặt thư viện
    • Thư viện Servo đã được cài sẵn trong Arduino IDE, anh em không cần cài thêm.
  • Bước 2: Viết chương trình. 
    • Giờ, anh em mình mở phần mềm lên, rồi copy cái đoạn code dưới đây vào:

// Khai báo thư viện để sử dụng động cơ servo

#include <Servo.h>

// Khai báo đối tượng servo

Servo myServo;

// Khai báo chân tín hiệu

const int chanServo = 9;

void setup() {

  // Đặt chân tín hiệu cho servo

  myServo.attach(chanServo);

}

void loop() {

  // Cho servo quay từ 0 đến 180 độ

  for (int goc = 0; goc <= 180; goc += 1) {

    myServo.write(goc);

    delay(15);

  }

  // Cho servo quay ngược lại từ 180 về 0 độ

  for (int goc = 180; goc >= 0; goc -= 1) {

    myServo.write(goc);

    delay(15);

  }

}

Giải thích:

  • "#include <Servo.h>": 
    • Dòng này để gọi cái "từ điển" mình vừa cài vào.
  • "Servo myServo;": 
    • Giống như anh em mình đặt tên cho cái động cơ servo là "myServo".
  • "myServo.attach(chanServo);": 
    • Câu này giống như anh em mình dặn dò Arduino là "Mày nhớ điều khiển cái servo qua chân số 9 đó nha!".
  • "myServo.write(goc);": 
    • Câu lệnh này giống như anh em mình ra lệnh cho cái bắp tay robot là "Mày quay tới góc goc đi!".

Tổng kết

Tóm lại, bài này anh em mình đã biết cách điều khiển động cơ servo. 

Cái này rất hay, nó sẽ giúp anh em mình làm mấy cái cánh tay robot đơn giản, hay là một cái cửa tự động, hoặc một hệ thống van nước tự động. 

Tất cả đều có thể ứng dụng trong các dự án smart home.

Nói nhiêu đó đủ rồi. 

Hẹn anh em ở bài viết tiếp theo, mình sẽ học cách xài module hồng ngoại để làm điều khiển từ xa!

Nếu cần tư vấn về tư vấn thiết kế, lắp đặt thi công hay bảo trì sửa chữa các thiết bị và hệ thống smart home, cứ liên hệ tui qua số điện thoại 0902633999 (có Zalo và WhatsApp) để được giải đáp nhé!

Đăng nhận xét

Lưu ý: Chỉ thành viên của blog này mới được đăng nhận xét.

[facebook]

MKRdezign

{facebook#https://facebook.com/smarthomeminhliem} {twitter#http://twitter.com} {google-plus#http://google.com} {pinterest#http://pinterest.com} {youtube#https://youtube.com/smarthomeminhliem} {instagram#http://instagram.com/smarthomeminhliem}

Biểu mẫu liên hệ

Tên

Email *

Thông báo *

Được tạo bởi Blogger.
Javascript DisablePlease Enable Javascript To See All Widget