- 29a Bùi Xuân Phái, P.Tây Thạnh, Quận Tân Phú, TPHCM
- linhkienduchuy2018@gmail.com
- TƯ VẤN, GIẢI ĐÁP, HƯỚNG DẪN, MUA HÀNG (ZALO): 0966515049 - 0942954739
Giao miễn phí chuyển phát nhanh trong nội thành TPHCM đối với đơn hàng trên 1 triệu đồng
Giảm 5k cho đơn hàng trên 300k đồng
Giảm 10k cho đơn hàng trên 500k đồng
Giảm 15k hoặc freeship chuyển phát nhanh cho đơn hàng trên 1tr đồng
Giảm 25.000đ hoặc freeship cho đơn hàng trên 2tr đồng.
Encoder module KY-040 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.
#include <Arduino.h>
const int dtPin = 2; // Data pin
const int clkPin = 3; // Clock pin
volatile int position = 0; // Store the current position
int lastDTState;
void setup() {
Serial.begin(9600);
pinMode(dtPin, INPUT);
pinMode(clkPin, INPUT);
attachInterrupt(digitalPinToInterrupt(dtPin), updatePosition, CHANGE);
lastDTState = digitalRead(dtPin);
}
void loop() {
Serial.println(position);
delay(1000);
}
void updatePosition() {
int dtState = digitalRead(dtPin);
int clkState = digitalRead(clkPin);
if (dtState != lastDTState) {
if (clkState == HIGH) {
position++;
} else {
position--;
}
}
lastDTState = dtState;
}
Bình luận