Thông dụng nhất là module sử dụng quang trở (LDR) kèm mạch so sánh (IC LM393) để tạo ra cả ngõ ra analog (AO) và digital (DO).
Một số module phổ biến: KY-018 (chỉ analog), KY-029, hoặc module LDR có 4 chân (VCC, GND, AO, DO).
Module | Arduino |
---|---|
VCC | 5V |
GND | GND |
AO | A0 |
DO | D2 (hoặc bất kỳ chân digital nào) |
const int analogPin = A0; // Chân AO module
const int digitalPin = 2; // Chân DO module
void setup() {
Serial.begin(9600);
pinMode(digitalPin, INPUT);
}
void loop() {
int analogValue = analogRead(analogPin); // 0 ~ 1023
int digitalValue = digitalRead(digitalPin); // 0 hoặc 1
Serial.print("Analog Value: ");
Serial.print(analogValue);
Serial.print(" | Digital Value: ");
Serial.println(digitalValue);
// Ví dụ: tự động bật đèn khi trời tối
if (digitalValue == LOW) { // Tùy module, LOW thường là trời tối
Serial.println("It's DARK! Turn ON the light!");
// digitalWrite(ledPin, HIGH);
} else {
Serial.println("It's BRIGHT! Turn OFF the light!");
// digitalWrite(ledPin, LOW);
}
delay(500);
}