ESP8266 Cảm biến ánh sáng
Hướng dẫn này chỉ cho bạn cách sử dụng cảm biến ánh sáng với ESP8266. Cụ thể:
- Cách cảm biến ánh sáng hoạt động
- Cách kết nối cảm biến ánh sáng với ESP8266
- Cách lập trình ESP8266 để đọc giá trị từ cảm biến ánh sáng
Phần cứng cần chuẩn bị
| 1 | × | ESP8266 NodeMCU ESP-12E | ||
| 1 | × | Recommended: ESP8266 NodeMCU ESP-12E (Uno-form) | ||
| 1 | × | USB Cable Type-A to Type-C (for USB-A PC) | ||
| 1 | × | USB Cable Type-C to Type-C (for USB-C PC) | ||
| 1 | × | cảm biến ánh sáng | ||
| 1 | × | 10 kΩ Resistor | ||
| 1 | × | breadboard | ||
| 1 | × | dây jumper | ||
| 1 | × | (Khuyến nghị) Screw Terminal Expansion Board for ESP8266 | ||
| 1 | × | (Khuyến nghị) Power Splitter for ESP8266 Type-C |
Or you can buy the following kits:
| 1 | × | DIYables Sensor Kit (30 sensors/displays) | ||
| 1 | × | DIYables Sensor Kit (18 sensors/displays) |
Cảm biến ánh sáng LDR (LDR light sensor) có giá thành rất phải chăng, nhưng nó yêu cầu một điện trở để kết nối dây, điều này có thể làm cho việc lắp đặt trở nên phức tạp. Để đơn giản hóa việc kết nối dây, bạn có thể sử dụng một mô-đun cảm biến ánh sáng LDR (LDR light sensor module) như một lựa chọn thay thế.
Về cảm biến ánh sáng
Cảm biến được sử dụng trong bài hướng dẫn này là một điện trở quang, còn được biết đến như điện trở phụ thuộc ánh sáng (LDR) hoặc tế bào quang điện.
Nó không chỉ được sử dụng để phát hiện ánh sáng mà còn để đo cường độ ánh sáng xung quanh.
Bố trí chân cảm biến ánh sáng
Một điện trở quang có hai chân mà không cần phân biệt, vì nó là một loại điện trở và do đó hai chân của nó đối xứng.

Cách thức hoạt động
Lượng ánh sáng mà mặt của điện trở quang tiếp xúc ảnh hưởng đến điện trở của nó. Bằng cách đo điện trở này, ta có thể xác định độ sáng của ánh sáng môi trường.

WARNING
Giá trị từ cảm biến ánh sáng chỉ cho biết ước tính xấp xỉ về cường độ ánh sáng, không phải là một phép đo lưu lượng sáng chính xác. Do đó, nó không nên được sử dụng cho các ứng dụng đòi hỏi độ chính xác cao.
ESP8266 - Cảm biến ánh sáng
Các chân analog của ESP8266 có thể được sử dụng làm đầu vào analog. Các chân đầu vào analog này chuyển đổi điện áp (từ 0 vôn đến VCC) thành các giá trị số nguyên (từ 0 đến 1023), được gọi là giá trị ADC hoặc giá trị analog.
Kết nối một chân của cảm biến quang (photoresistor) với một chân đầu vào analog. Sử dụng hàm analogRead() để đọc giá trị analog từ chân đó. Điều này sẽ cho phép chúng ta xác định mức độ sáng một cách tương đối.
Sơ đồ đấu dây

This image is created using Fritzing. Click to enlarge image
Xem thêm Sơ đồ chân ESP8266 và Cách cấp nguồn cho ESP8266.
Mã nguồn ESP8266
Mã dưới đây đọc giá trị từ cảm biến quang và xác định mức độ sáng một cách định tính.
Hướng dẫn từng bước
Để bắt đầu với ESP8266 trên Arduino IDE, hãy làm theo các bước sau:
- Xem ESP8266 - Cài đặt phần mềm nếu đây là lần đầu bạn sử dụng ESP8266.
- Đấu dây các linh kiện như trong sơ đồ.
- Kết nối bo mạch ESP8266 với máy tính bằng cáp USB.
- Mở Arduino IDE trên máy tính của bạn.
- Chọn bo mạch ESP8266 phù hợp, ví dụ (NodeMCU 1.0 (ESP-12E Module)), và cổng COM tương ứng của nó.
- Sao chép mã và mở nó bằng Arduino IDE.
- Nhấp vào nút Upload trên Arduino IDE để biên dịch và tải mã lên ESP8266.
- Mở Serial Monitor.
- Chiếu sáng lên cảm biến.
- Xem kết quả trên Serial Monitor.
Cảm biến ánh sáng và đèn LED
- Khi môi trường tối, mã sẽ kích hoạt đèn LED, ngược lại nó sẽ tắt.
- Sơ đồ mạch điện cho mã ở trên.

This image is created using Fritzing. Click to enlarge image
※ Lưu ý:
Hướng dẫn này sử dụng hàm analogRead() để lấy dữ liệu từ một ADC (Bộ chuyển đổi tín hiệu từ analog sang số) được kết nối với một cảm biến hoặc một phần khác. Bộ ADC của ESP8266 hoạt động tốt cho các dự án mà bạn không cần độ chính xác cao. Nhưng hãy nhớ, bộ ADC của ESP8266 không quá chính xác cho các phép đo chi tiết. Nếu dự án của bạn cần độ chính xác rất cao, bạn có thể muốn sử dụng một ADC riêng biệt như ADS1115 với ESP8266, hoặc sử dụng một board Arduino như Arduino Uno R4 WiFi, có ADC đáng tin cậy hơn.
Video Tutorial
Việc sản xuất video tốn rất nhiều thời gian. Nếu video hướng dẫn hữu ích cho việc học của bạn, hãy đăng ký kênh YouTube để ủng hộ. Nếu nhu cầu đủ cao, chúng tôi sẽ cố gắng làm thêm nhiều video.
Thách thức bản thân
- Khi ánh sáng trong phòng bạn tối, hãy tự động bật nó.
- Tham khảo ESP8266 - rơ-le để biết cách thực hiện điều này.