Hướng dẫn sử dụng rotary encoder
(1) x Arduino Uno R3
(1) x Mạch Volume Xoay Rotary Encoder 360 Độ
(5) x Dây cắm đực - cái
Mạch Volume xoay Rotary Encoder 360 độ không giới hạn số vòng quay, encoder đưa ra 2 xung vuông 90 độ gọi là 2 phase A và B, xung từ encoder đưa ra có thể dùng để nhận biết chiều quay, tốc độ quay, vị trí, module cung cấp 2 ngõ ra cho 2 phase và 1 ngõ ra dạng nút nhấn.
Encoder module KY-040 trông giống 1 module biến trở nhưng có ngõ ra dạng xung số. Bằng việc xoay núm vặn, ngõ ra xung của 2 kênh sẽ thay đổi với 1 độ lệch pha xác định (90 độ) giúp phân biệt được chiều xoay.
Đếm số lượng xung ngõ ra sẽ cho biết vị trí góc xoay, vị trí này là không giới hạn. Đồng thời module cũng cung cấp 1 nút nhấn có thể được lập trình để trở thành 1 nút reset giá trị đếm.
Sử dụng trong nhiều ứng dụng bao gồm robot, máy CNC và máy in.
Bên trong bộ mã hóa là một đĩa có rãnh được kết nối với chân nối đất chung C và hai chân tiếp xúc A và B, như minh họa bên dưới.
Khi bạn xoay núm, A và B tiếp xúc với chân nối đất chung C, theo thứ tự cụ thể theo hướng mà bạn đang xoay núm.
Khi chúng tiếp xúc với điểm chung, chúng tạo ra tín hiệu. Các tín hiệu này lệch pha với nhau 90 ° khi một chân tiếp xúc trước chân kia. Đây được gọi là mã hóa cầu phương.
Khi bạn xoay núm theo chiều kim đồng hồ, chân A kết nối đầu tiên, tiếp theo là chân B. Khi bạn xoay núm ngược chiều kim đồng hồ, chốt B kết nối đầu tiên, tiếp theo là chốt A.
Bằng cách theo dõi thời điểm mỗi chân kết nối và ngắt kết nối với đất, chúng ta có thể sử dụng những thay đổi tín hiệu này để xác định núm xoay đang được xoay theo hướng nào. Bạn có thể làm điều này bằng cách đơn giản quan sát trạng thái của B khi A thay đổi trạng thái.
Khi A thay đổi trạng thái:
Nếu B! = A, thì núm xoay đã được xoay theo chiều kim đồng hồ.
Nếu B = A thì núm xoay ngược chiều kim đồng hồ.
Kết nối cảm biến Encoder với mạch Arduino:
Encoder -- Arduino
GND GND
+ 5V
SW D2
DT D3
CLK D4
Đoạn code này xuất ra màn hình Serial Monitor giá trị số đếm khi xoay encoder và trạng thái nút nhấn SW