Cảm biến đo tốc độ bằng quang

10.000₫

1. Cảm biến đo tốc độ bằng quang là gì?

Cảm biến quang thường dùng hai loại phổ biến:

  • Cảm biến khe quang (Optical Slot/Photo Interrupter): Vật thể quay có gắn cánh hoặc đĩa chia khe đi qua khe cảm biến, làm thay đổi tín hiệu.
  • Cảm biến phản xạ hồng ngoại (IR Reflective Sensor): Bề mặt phản xạ (như miếng dán trắng/đen) quay ngang cảm biến, khi nhận được tia phản xạ sẽ phát hiện.

2. Sơ đồ kết nối phần cứng

Ví dụ với cảm biến khe quang (ví dụ: KY-010, hoặc TCRT5000):

Cảm biến Arduino
VCC 5V
GND GND
OUT D2

3. Nguyên lý hoạt động

Mỗi khi vật thể (cánh hoặc vạch phản xạ) đi qua cảm biến, cảm biến sẽ gửi một xung (HIGH hoặc LOW) về Arduino. Đếm số xung trong một khoảng thời gian → tính được tốc độ quay (RPM).


4. Code mẫu đo tốc độ quay (RPM)

cpp

const byte sensorPin = 2; // Chân OUT của cảm biến nối vào chân 2 (ngắt ngoài)
volatile unsigned int pulseCount = 0;
unsigned long lastMillis = 0;
int rpm = 0;
const int pulsesPerRevolution = 1; // Số xung cho 1 vòng (tùy bạn thiết kế)

void setup() {
  pinMode(sensorPin, INPUT);
  attachInterrupt(digitalPinToInterrupt(sensorPin), countPulse, FALLING);
  Serial.begin(9600);
}

void loop() {
  if (millis() - lastMillis >= 1000) { // Mỗi 1 giây tính tốc độ
    rpm = (pulseCount * 60) / pulsesPerRevolution; // Đổi ra vòng/phút
    Serial.print("Speed: ");
    Serial.print(rpm);
    Serial.println(" RPM");
    pulseCount = 0;
    lastMillis = millis();
  }
}

void countPulse() {
  pulseCount++;
}

Lưu ý:

  • Nếu đĩa chia nhiều khe hoặc có nhiều vạch phản xạ trên bánh xe, hãy chỉnh pulsesPerRevolution cho đúng số xung mỗi vòng.
  • Có thể dùng ngắt FALLING hoặc RISING tùy cảm biến.

5. Ứng dụng thực tế

  • Đo tốc độ động cơ DC, động cơ servo, quạt.
  • Đo tốc độ xe mô hình.
  • Làm đồng hồ đo tốc độ (tachometer).
Thông tin thêm
nội dung
Hotline 0938379351