22. Cảm biến góc xoay - Rotary Encoder

Rotary Encoder (hoặc gọi tắt là Encoder) là loại cảm biến có khả năng biến đổi chuyển động (chuyển động tịnh tiến, chuyển động quay của trục, …) thành tín hiệu đầu ra thành xung hoặc tín hiệu số
Ta cần phân biệt Rotary Encoder và Analog Rotary có sự khác nhau như sau:
Rotary Encoder:
Không giới hạn góc xoay, xoay được 360 độ vô hạn
Có thể xoay được 1 khoảng chính xác theo từng nấc
Giá trị đọc được là số nấc đã xoay qua trái hoặc qua phải
Rotary Analog:
Góc xoay bị giới hạn trong 1 khoảng nhất định
Không thể xoay được 1 khoảng chính xác
Giá trị đọc được là dạng analog (từ 0 đến 4095 đối với Yolo:Bit)
Rotary Encoder thường ứng dụng vào những dự án như: điều khiển tốc độ quạt, điều khiển tốc độ xe, điều khiển độ sáng đèn, điều khiển âm lượng, …
Trong hướng dẫn này, OhStem sẽ hướng dẫn bạn lập trình điều khiển tốc độ quạt bằng module Rotary Encoder.
1. Mua sản phẩm

2. Thông số kỹ thuật
Thông số kỹ thuật:
Điện áp sử dụng: 3.3V
Độ phân giải 20 xung/vòng
Tín hiệu cảm biến: 2 pha
Kích thước của mạch: 24mm x 48mm x 16mm
Pinout của cảm biến:
Cảm biến có 4 chân, mỗi chân có chức năng như sau:
STT |
Chân |
Chức năng |
---|---|---|
1 |
GND |
Nối đất |
2 |
VCC |
Cấp nguồn (3.3V) |
3 |
SIGA (CLK) |
Pha A |
4 |
SIGB (DT) |
Pha B |
3. Kết nối
Bước 1: Chuẩn bị các thiết bị như sau:
![]() |
![]() |
![]() |
![]() |
---|---|---|---|
Máy tính lập trình Yolo:Bit |
Mạch mở rộng cho Yolo:Bit |
Module Rotary Encoder (kèm dây Grove) |
Quạt mini (kèm dây Grove) |
Bước 2: Cắm Yolo:Bit vào mạch mở rộng
Bước 3: Sử dụng dây Grove cắm vào cảm biến
Bước 4: Kết nối Rotary Encoder và quạt mini với mạch mở rộng như sau:

Vì module Rotary Encoder có 2 chân tín hiệu là chân CLK và chân DT do đó ta phải kết nối module Rotary Encoder vào các port có 2 chân tín hiệu của mạch mở rộng Yolo:Bit , không được kết nối module Rotary Encoder vào các port có 1 chân tín hiệu như port P0, port P1 hoặc port P2.
4. Hướng dẫn lập trình
Bước 1: Tải thư viện Rotary Encoder, bằng cách dán đường link sau vào phần tìm kiếm thư viện: https://github.com/AITT-VN/yolobit_rotary_encoder.git
Xem hướng dẫn tải thư viện tại đây
Sau khi tải thư viện, trong danh mục khối lệnh sẽ xuất hiện các khối lệnh tương ứng:
Bước 2: Để làm việc với quạt mini bạn hãy tải thư viện AIOT KIT , xem hướng dẫn tại đây
Bước 3: Lập trình điều khiển quạt bằng Rotary Encoder
Trước tiên chúng ta sẽ khởi tạo các chân, chế độ xoay và khoảng giá trị cho Rotary, như sau:
Tiếp theo, gửi chương trình sau xuống Yolo:Bit:
Câu lệnh bật quạt chân P14 với tốc độ (0 -100) nằm trong danh mục khối lệnh AIOT KIT
Note
Giải thích chương trình: Chúng ta sẽ lập trình các mức độ của quạt khi xoay Encoder:
Đặt điều kiện “nếu đọc giá trị của rotary = 3” thì quạt sẽ quay ở mức độ cao nhất tương ứng với tốc độ 100% và hiển thị ra màn hình LED Yolo:Bit mức độ quạt đang hoạt động.
Tương tự như vậy ta sẽ tạo ra thêm các điều kiện để quạt quay ở mức độ 2 và mức độ 1 và mức 0 tương ứng với 50% và 25% và 0%.
5. Chương trình mẫu:
Xem chương trình: Tại đây
