Giới thiệu cảm biến quay
Cảm biến quay (Rotation sensor), hay còn gọi là rotary encoder, là một loại cảm biến dùng để phát hiện chuyển động quay của trục. Nó tạo ra tín hiệu xung số khi quay và cho biết cả hướng lẫn số bước quay. Cảm biến thường đi kèm nút nhấn tích hợp, giúp mở rộng khả năng điều khiển. Với thiết kế nhỏ gọn và độ chính xác cao, rotation sensor được sử dụng phổ biến trong các ứng dụng như điều khiển menu, điều chỉnh âm lượng, robot, và các hệ thống tự động hóa.
Thông số kỹ thuật
- Số xung một vòng: 20
- Điện áp hoạt động: 3.0V ~ 5.3V
- Kích thước: 32.1mm * 15.4mm
- Đường kính lỗ gá: 2.0mm
Sản phẩm được sử dụng trong bài viết
Sơ đồ kết nối chân

Raspberry Pi 4 | Rotation Sensor |
5V | VCC |
GND | GND |
GPIO 27 | SW |
GPIO 17 | SIA |
GPIO18 | SIB |
Sử dụng cảm biến quay (Rotation sensor) với Raspberry Pi 4 để phát hiện chuyển động quay của trục
Mở IDE bất kỳ trên Raspberry Pi. Trong hướng dẫn này, chúng ta sẽ sử dụng Thonny IDE – một môi trường lập trình Python thân thiện với người mới bắt đầu.
Nhập và chạy đoạn code dưới đây:
import RPi.GPIO as GPIO import time CLK = 17 # Clock (SIA) DT = 18 # Data (SIB) SW = 27 # Switch button GPIO.setmode(GPIO.BCM) GPIO.setup(CLK, GPIO.IN, pull_up_down=GPIO.PUD_UP) GPIO.setup(DT, GPIO.IN, pull_up_down=GPIO.PUD_UP) GPIO.setup(SW, GPIO.IN, pull_up_down=GPIO.PUD_UP) counter = 0 last_clk_state = GPIO.input(CLK) print("Start rotating... Press Ctrl+C to exit.") try: while True: clk_state = GPIO.input(CLK) dt_state = GPIO.input(DT) if clk_state != last_clk_state: if dt_state == clk_state: counter += 1 print("Rotated clockwise ", counter) else: counter -= 1 print("Rotated counterclockwise ", counter) last_clk_state = clk_state # Reset counter when button is pressed if GPIO.input(SW) == 0: counter = 0 print("Button pressed! Counter reset to 0.") time.sleep(0.3) time.sleep(0.01) except KeyboardInterrupt: print("Stopped.") GPIO.cleanup()

Cảm biến quay tạo ra các xung điện khi trục quay. Hai tín hiệu A và B sẽ lệch pha nhau, giúp vi điều khiển xác định được hướng quay và số bước quay. Khi nhấn nút trên trục, cảm biến sẽ gửi thêm một tín hiệu để thực hiện chức năng phụ như đặt lại giá trị hoặc chọn menu.
Kết luận
Cảm biến quay – Rotation sensor là một thiết bị đơn giản nhưng hiệu quả để đo hướng và số vòng quay của trục. Khi kết hợp với Raspberry Pi, cảm biến này cho phép điều khiển các chức năng như thay đổi giá trị, điều hướng menu, hoặc điều chỉnh thiết bị theo thời gian thực. Nhờ độ bền cao và dễ sử dụng, nó được ứng dụng rộng rãi trong tự động hóa, điện tử tiêu dùng và các dự án nhúng.