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

Select any filter and click on Apply to see results

Các bài viết cùng tác giả

Chạy hàm song song với delay

Xin chào các bạn! Trong cuộc sống, đôi khi chúng ta đang làm một việc gì đó và sẽ có lúc chúng ta phải đợi một khoảng thời gian rồi mới làm tiếp công việc ấy, và khi ấy ta sẽ tận dụng khoảng thời gian ấy để làm một việc khác. Vậy trong arduino ta có thể làm tương tự không, trong khi ta cho chương trình delay thì ta lại cho nó thực hiện một việc gì đó. Đáp án là được, bài viết này sẽ chia sẻ thủ thuật khá hay này.

lên
22 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
12 thành viên đã đánh giá bài viết này hữu ích.