Giới thiệu Volume xoay rotary encoder 360 độ
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ơ đồ nguyên lý và chức năng chân
- Chân cấp nguồn 3~5VDC
- GND: chân cấp nguồn âm 0VDC
- CLK: phase A
- DT: phase B
- SW: button

Sơ đồ dạng sóng volume xoay rotary encoder

Thông số kỹ thuật
- Điện áp hoạt động : 5V
- Dòng điện hoạt động : 20mA
- Công suất hoạt động : 100mW
- Chuẩn truyền : dạng xung vuông
- Độ phân giải : 20xung/vòng
- Nhiệt độ hoạt động : -40°C – 150°C
- Số chân : 5
- Số nút : 1
- Loại : Module
- Quét tích cực : Do người thiết kế
- Kích thước : 87mm*70mm*20mm
Chương trình Test
Nguyên lý kết nối

Chương trình
Thư viện : Tại đây ButtonFever.h hoặc tải trực tiếp từ Arduino IDE
#include <BfButton.h>
int btnPin=3; //GPIO #3-Push button on encoder
int DT=4; //GPIO #4-DT on encoder (Output B)
int CLK=5; //GPIO #5-CLK on encoder (Output A)
BfButton btn(BfButton::STANDALONE_DIGITAL, btnPin, true, LOW);
int counter = 0;
int angle = 0;
int aState;
int aLastState;
//Button press hanlding function
void pressHandler (BfButton *btn, BfButton::press_pattern_t pattern) {
switch (pattern) {
case BfButton::SINGLE_PRESS:
Serial.println("Single push");
break;
case BfButton::DOUBLE_PRESS:
Serial.println("Double push");
break;
case BfButton::LONG_PRESS:
Serial.println("Long push");
break;
}
}
void setup() {
// put your setup code here, to run once:
Serial.begin(9600);
Serial.println(angle);
pinMode(CLK,INPUT_PULLUP);
pinMode(DT,INPUT_PULLUP);
aLastState = digitalRead(CLK);
//Button settings
btn.onPress(pressHandler)
.onDoublePress(pressHandler) // default timeout
.onPressFor(pressHandler, 1000); // custom timeout for 1 second
}
void loop() {
// put your main code here, to run repeatedly:
//Wait for button press to execute commands
btn.read();
aState = digitalRead(CLK);
//Encoder rotation tracking
if (aState != aLastState){
if (digitalRead(DT) != aState) {
counter ++;
angle ++;
}
else {
counter--;
angle --;
}
if (counter >=100 ) {
counter =100;
}
if (counter <=-100 ) {
counter =-100;
}
Serial.println(counter);
}
aLastState = aState;
}
Liên hệ làm mạch
- Phone: 0967.551.477
- Zalo: 0967.551.477
- Email: dientunhattung@gmail.com
- Chi tiết : Nhận làm mạch và hướng dẫn đồ án sinh viên
Tham khảo chương trình mẫu và thông tin linh kiện chi tiết tại:

CẢM BIẾN LỬA 4 CHÂN, FLAME SENSOR PHÁT HIỆN LỬA
CẢM BIẾN LỬA 3 CHÂN, FLAME SENSOR PHÁT HIỆN LỬA
Đế kẹp ic 16 chân, Đế khóa ic 16 pin
Đế kẹp ic 20 chân, Đế khóa ic 20 pin
PIC18F4520 DIP, VI ĐIỀU KHIỂN HỌ PIC CỦA MICROCHIP
CẢM BIẾN LOADCELL 5KG, ĐO KHỐI LƯỢNG CÂN NẶNG
DIODE CHỈNH LƯU RL207 2A 700V, DIODE CHỈNH LƯU BÁN KỲ
DIODE CHỈNH LƯU 1N4007 1A 1000V, DIODE CHỈNH LƯU BÁN KỲ - 10 CON
CẢM BIẾN LOADCELL 20KG, ĐO KHỐI LƯỢNG CÂN NẶNG
BỘ CÂN LOADCELL 5KG, CẢM BIẾN KHỐI LƯỢNG
IC SỐ SN74HC14 CỔNG NOT, IC CỔNG LOGIC 14 CHÂN DIP
Module thu phát Bluetooth HC05 - Mạch thu phát Bluetooth HC-05
Kẹp gắp IC dán và cắm chữ U 11cm, Nhíp kéo IC chữ U dài 10.5cm
Module cảm biến Lửa relay 5V, Relay công suất 250V - 10A
Đế pin 4 viên AA có nắp nối tiếp, Hộp 4 pin 2A có nắp và công tắc
CẢM BIẾN KHỐI LƯỢNG LOADCELL 5KG, ĐO KHỐI LƯỢNG
MODULE CẢM ỨNG TTP226 ,TÁM CHẠM ĐIỆN DUNG
IC SỐ SN74HC04 CỔNG NOT, IC CỔNG LOGIC 14 CHÂN DIP
MODULE CẢM BIẾN MƯA, CẢM BIẾN ĐO LƯỢNG MƯA
Dây bus 10pin 40cm 24AWG cùng hướng XH2.54mm, Kích thước chân 2.54mm
MODULE CẢM BIẾN RUNG SW18010P, CẢM BIẾN LÒ XO
IC SỐ SN74HC21 CỔNG AND, IC CỔNG LOGIC 4-INPUT DIP
MODULE CẢM ỨNG TTP224 ,BỐN CHẠM ĐIỆN DUNG
QUANG TRỞ TRUNG, CẢM BIẾN ÁNH SÁNG 5mm 
















Đánh giá
Chưa có đánh giá nào.