Lập trình Arduino không cần viết code - Phần 4: Điều khiển Servo

Đây là phần 4 của chuỗi bài "Lập trình Arduino không cần viết code"

Xem lại phần 3 tại đây

Xin chào mọi người! Trước tiên mình xin cảm ơn ý kiến đóng góp của bạn Tran Thanh ở phần 1 , nhờ ý kiến của bạn mà mình đã nghĩ ra cách viết bài mới. rất mong những ý kiến đóng góp từ các bạn để mình cải tiến bài viết hơn. Còn bây giờ chúng ta hãy bắt đầu phần 4 của chuỗi bài.

Mục tiêu: Giúp các bạn newbie làm quen với servo và cách điều khiển nó.

Servo là gì

Servo là một dạng động cơ điện đặc biệt. Không giống như động cơ thông thường cứ cắm điện vàolà quay liên tục, servo chỉ quay khi được điều khiển (bằng xung PWM) với góc quay nằm trong khoảng bất kì từ 0 độ - 180 độ. Mỗi loại servo có kích thước, khối lượng và cấu tạo khác nhau.

Trích: Giới thiệu Servo và cách điều khiển bằng biến trở 

Nó có 3 chân gồm: Chân 5V, chân GND, chân điều khiển (nối với chân PWM arduino). Chúng ta sẽ điều khiển nó bằng thư viện Servo có sẵn trong arduino, nên không cần cài đặt.

Thực hành

Chuẩn bị

  • Arduino
  • Servo bất kì
  • Dây nối đực-đực để nối servo với arduino.

Sơ đồ nối:

Các bạn nối servo như mình đã nói ở phần "Servo là gì".

Lập trình bằng bằng mBlock

Trước tiên ta chọn board, chọn COM và chọn Chế độ arduino mode nha, chưa biết thì xem lại phần 3 nha.

Sau đó ta tạo một biến để lưu trữ góc của servo. Bằng cách nhấn vào tab Data&Blocks, chọn Make a Variable, nhập tên biến và chọn Ok.

Sau đó bạn lập trình kéo thả theo sơ đồ sau, để tìm các đối tượng lệnh thì bạn chỉ cần nhìn màu của nó và tìm trong tab có màu giống màu đấy.

Tuy nhiên phần mềm mBlock không tự động thêm thư viện cho ta, nên phải tự thêm bằng cách nhấn vào Edit with Arduino IDE

Thêm dòng code "#include <Servo.h>" (không có dấu "" đâu nhé :3)

Lập trình bằng Arduino IDE

Đây chính là điểm mới trong cách viết của mình, với cách này sẽ giúp các bạn newbie dần dần tiếp cận với arduino chuyên nghiệp.

Code đây:

#include <Servo.h>
int pos;
Servo servo_9;

void setup(){
  servo_9.attach(9);
}

void loop(){
  pos=0;
  servo_9.write(pos);
  pos=90;
  servo_9.write(pos);
  pos=180;
  servo_9.write(pos);
}

Kết luận

Chúng ta vừa tìm hiểu xong servo và cách điều khiển nó bằng cả 2 môi trường lập trình đó là mBlock và Arduino IDE. Mình hi vọng rằng bài viết này nói riêng và chuỗi bài này nói chung sẽ mang lại nhiều kiến mới cho các bạn newbie. Chúc các bạn thành công. Xin cảm ơn

lên
22 thành viên đã đánh giá bài viết này hữu ích.
Các dự án được truyền cảm hứng

Cảm biến nhiệt độ TTL - Độ nhạy cao

Mình thấy bài viết của Đỗ Hữu Toàn rất hay, nay mình có cơ hội dùng cái cảm biến nhiệt độ TTL này nên giới thiệu với mọi người luôn. Do hướng dẫn sử dụng cũng giống cái của Toàn nên mình viết dưới dạng bài viết truyền cảm hứng để gom nhóm với Toàn.

lên
12 thành viên đã đánh giá bài viết này hữu ích.

Quy đổi độ ẩm đất thành phần trăm (%) với Arduino

Bài viết về cảm biến độ ẩm đất của bạn Đỗ Hữu Toàn rất hay. Tuy nhiên, bạn ý không nhắc đến phương pháp quy đổi độ ẩm từ analog sang tỉ lệ phần trăm. Qua bài viết này, mình sẽ hướng dẫn các bạn làm được điều đó.

lên
16 thành viên đã đánh giá bài viết này hữu ích.
Các bài viết cùng tác giả

Lập trình Arduino không cần viết code - Phần 6: Điều khiển led bằng nút nhấn kiểu 2

Đây là phần 6 của chuỗi bài viết "Lập trình arduino không cần viết code".

- Xem lại phần 5 tại đây

​Ở phần trước, mình đã hướng dẫn lập trình điều khiển led bằng nút nhấn kiểu 1, tuy nhiên kiểu này có 1 điểm yếu là giữ nút thì mới sáng led. Và ở phần này, mình sẽ nói đến kiểu 2 khắc phục nhược điểm trên. Tuy nhiên có thể nó cũng không phải là nhược điểm nếu như bạn cần nó vào 1 việc gì đó.

lên
26 thành viên đã đánh giá bài viết này hữu ích.

Lập trình Arduino không cần viết code - Phần 11: Tạo hàm riêng

Đây là phần 11 của chuỗi bài viết "Lập trình Arduino không cần viết code"

- Xem lại phần 10 tại đây

[UPDATE] Tải phiên bản mới của mBlock tại đây

Hôm nay, chúng ta sẽ cùng tìm hiểu về hàm và cách tạo, gọi hàm trong mBlock và Arduino.

lên
10 thành viên đã đánh giá bài viết này hữu ích.