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
23 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

Bộ điều khiển PID - ứng dụng phần 2 - xe dò line dùng thuật toán PID

Tiép nối bài viết về xe dò line cảm ơn Đỗ Hữu Toàn đã viết hộ mình phần 4. hôm nay mình sẽ làm cho chiếc xe dò line đi mượt và có hồn hơn 

lên
34 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 10: Tạo âm thanh với buzzer

Đây là phần 10 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 9 tại đây

Xin chào các bạn, hôm nay chúng ta sẽ cùng tìm hiểu về cách phát âm thanh với buzzer. Qua phần này, bạn hoàn toàn có thể tự tạo cho mình một bản nhạc theo phong cách Arduino :)).

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

iNut cảm biến - Bài 1: Bước đầu tiến vào thế giới IoT

Xin chào mọi người, cùng với AI thì IoT cũng là một xu thế chắc chắn sẽ phát triển trong cuộc cách mạng công nghiệp 4.0. Ngày trước, khi mới làm quen với các dự án liên quan đến IoT, mọi người thường gặp nhiều khó khăn do phải chuẩn bị gần như mọi thứ từ server tới client và tính ổn định, bảo mật của mô hình cũng khó được đảm bảo. Kể từ khi các nền tảng IoT ra đời thì mọi thứ đã trở nên dễ dàng hơn. Sự đơn giản và tiện lợi khi làm các dự án IoT cũng ngày càng tăng theo dòng phát triển của các nền tảng ấy. Inut Platform chính là một trong những nền tảng như vậy, đây là một nền tảng do người Việt sáng lập nên chắc chắn việc hỗ trợ khi làm dự án sẽ dễ dàng hơn rất nhiều. Chính vì vậy, hôm nay mình xin giới thiệu với các bạn seri bài viết hướng dẫn sử dụng iNut Cảm Biến - Một sản phẩm đa năng của nền tảng iNut.

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