DANH MỤC
DANH MỤC
Giỏ hàng của bạn

Mạch volume xoay rotary encoder 360 độ EC11

Mạch volume xoay rotary encoder 360 độ EC11
  • Hàng trong kho: 99
  • Nhà sản xuất: Nhập khẩu
  • Khối lượng: 0.10kg
  • Mã kho: 2274
  • Vị trí: 1A14
Số lượng đã bán: 1
Lượt xem: 52
25.000đ
30 sản phẩm trở lên giá: 20.000đ
Thêm vào giỏ

Giới thiệu:

 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 HW-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.

Thông số kỹ thuật:

  • Điện áp sử dụng: 3~5VDC
  • Độ phân giải 20 xung/vòng.
  • + : 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

Code tham khảo :

#define CLK 2 // Pin cho tín hiệu CLK của encoder
#define DT 3  // Pin cho tín hiệu DT của encoder
#define SW 4  // Pin cho nút nhấn (nếu có)

int counter = 0;  
int currentStateCLK;
int previousStateCLK;

unsigned long lastDebounceTime = 0; // Lưu thời gian lần đọc cuối
unsigned long debounceDelay = 50;   // Thời gian chống nhiễu (50ms)

void setup() {
  pinMode(CLK, INPUT);
  pinMode(DT, INPUT);
  pinMode(SW, INPUT_PULLUP);

  Serial.begin(9600);

  previousStateCLK = digitalRead(CLK); // Đọc trạng thái ban đầu của CLK
}

void loop() {
  unsigned long currentTime = millis();
  currentStateCLK = digitalRead(CLK);

  if ((currentTime - lastDebounceTime) > debounceDelay) {
    if (currentStateCLK != previousStateCLK) {
      if (digitalRead(DT) != currentStateCLK) {
        counter++; // Quay theo chiều kim đồng hồ
      } else {
        counter--; // Quay ngược chiều kim đồng hồ
      }
      Serial.print("Position: ");
      Serial.println(counter);

      lastDebounceTime = currentTime; // Cập nhật thời gian lần đọc cuối
    }
  }

  previousStateCLK = currentStateCLK;

  if (digitalRead(SW) == LOW) {
    Serial.println("Button pressed!");
    delay(300); // Chống nhiễu nút nhấn
  }
}

 mach volume xoay rotary encoder 360 do ky-040

 

Viết đánh giá

Lưu ý: không hỗ trợ HTML!
Bình chọn
Không tốt Tốt
Hàng trong kho: 99
Giới thiệu: 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, xu..
25.000đ
Thêm vào giỏ