Cảm biến ánh sáng có nhiều loại trong đó loại dùng quang trở là phổ biến nhất. Quang trở là một loại điện trở mà giá trị thay đổi theo cường độ ánh sáng nó thu được. Nếu đặt ở môi trường có ít ánh sáng, có bóng râm hoặc tối thì điện trở của quang trở sẽ tăng cao còn nếu đặt ở ngoài nắng, hoặc nơi có ánh sáng thì điện trở sẽ giảm. Ta có thể sử dụng cảm biến ánh sáng trong các ứng dụng bật tắt đèn tự động khi trời tối.
1 x Node Wifi.
1 x Module cảm biến ánh sáng quang trở.
Cảm biến ánh sáng quang trở sử dụng chân analog nên bạn phải sử dụng cổng analog duy nhất trên board Node Wifi là A0 để kết nối.
Đoạn code thực hiện công việc:
void setup() { Serial.begin(9600); } void loop() { int value = analogRead(A0); // read sensor value int percent = map(value, 0, 1023, 0, 100); // convert to % Serial.print(percent); Serial.println('%'); delay(500); }
Dòng 8: ta đọc giá trị trả về bởi cảm biến bằng câu lệnh analogRead(A0). A0 là pin analog duy nhất có trên board Node Wifi và tất cả các dòng ESP8266 khác.
Giá trị cảm biến trả về nằm trong khoảng từ 0 và 1023. Ta có thể đổi sang % bằng lệnh map() có sẵn trong Arduino tương tự như trong bài trước khi làm việc với cảm biến độ ẩm đất và cảm biến mưa.
Sau đó ta in giá trị đã tính toán ra cửa sổ Serial monitor. Bạn upload code và lấy tay che cảm biến lại và quan sát sự thay đổi giá trị trả về bởi cảm biến trong cửa sổ Serial monitor.
Bạn hãy lập trình cho Arduino tự động bật đèn led khi phát hiện ánh sáng môi trường xuống dưới 30%.