ESP8266 Cảm biến mưa
Cảm biến mưa phát hiện và đo mức mưa hoặc tuyết, cung cấp cả đầu ra kỹ thuật số (LOW/HIGH) và đầu ra tương tự. Hướng dẫn này trình bày cách sử dụng ESP8266 để kết nối và tận dụng cảm biến mưa, bao gồm:
- Kết nối cảm biến mưa với ESP8266.
- Lập trình ESP8266 để phát hiện mưa thông qua tín hiệu số.
- Lập trình ESP8266 để đo lượng mưa bằng tín hiệu tương tự.
Sau đó, bạn có thể tùy chỉnh mã để kích hoạt động cơ hoặc cảnh báo khi phát hiện mưa hoặc tuyết.
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 mưa | ||
| 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) |
Về cảm biến mưa
Cảm biến mưa có thể nhận diện sự có mặt của mưa hoặc đo mức nước. Nó cung cấp hai tùy chọn thông qua một chân đầu ra số và một chân đầu ra tương tự.
Cảm biến bao gồm hai thành phần: tấm cảm biến và mô-đun điện tử.

Bề mặt cảm ứng
Tấm cảm biến được đặt ngoài trời để tiếp xúc với mưa và tuyết (ví dụ trên mái nhà), có các đường dẫn bằng đồng lộ diện được phân thành hai nhóm: đường dẫn nguồn và đường dẫn cảm biến. Những đường dẫn này vẫn không được nối với nhau cho đến khi nước hoặc tuyết tạo cầu nối giữa chúng. Cả hai loại đường dẫn nguồn và đường dẫn cảm biến đều giống nhau, cho phép linh hoạt trong việc chỉ định một đường dẫn làm đường dẫn nguồn và đường dẫn kia làm đường dẫn cảm biến.
Mô-đun điện tử
Module điện tử của cảm biến mưa chuyển đổi tín hiệu từ bề mặt cảm biến thành các giá trị tương tự hoặc số có thể đọc được bởi ESP8266 NodeMCU. Nó bao gồm bốn chân:
- VCC pin: Kết nối với VCC (3.3V đến 5V).
- GND pin: Kết nối với GND (0V).
- DO pin: Chân đầu ra số, cho HIGH khi không có mưa và LOW khi có mưa. Ngưỡng phát hiện mưa có thể điều chỉnh bằng một potentiometer tích hợp.
- AO pin: Chân đầu ra analog, giá trị giảm khi có nhiều nước trên mặt cảm biến và tăng khi nước giảm.
Hơn nữa, nó có hai đèn LED chỉ báo:
- Chỉ báo LED PWR cho nguồn.
- Chỉ báo LED DO cho trạng thái mưa trên chân DO, sáng lên khi có mưa.
Cách hoạt động
Về chân DO:
- Module được trang bị một biến trở tích hợp để thiết lập ngưỡng cảm biến.
- Khi cường độ vượt quá ngưỡng, mưa được phát hiện, và đầu ra của cảm biến ở mức LOW, kích hoạt đèn DO-LED sáng.
- Ngược lại, khi cường độ giảm xuống dưới ngưỡng, mưa không được phát hiện, đầu ra ở mức HIGH, và đèn DO-LED tắt.
Về chân AO:
- Giá́ trị của chân AO giảm khi có nhiều nước hơn trên pad cảm biến.
- Ngược lại, giá trị của chân AO tăng khi trên pad cảm biến có ít nước hơn.
Cần lưu ý rằng biến trở không ảnh hưởng đến giá trị trên chân AO.
Sơ đồ đấu dây
Như đã đề cập trước đây, việc kết nối chân VCC của cảm biến trực tiếp với các pin 3.3V hoặc 5V trên ESP8266 có thể rút ngắn tuổi thọ của cảm biến do ăn mòn điện hóa. Phương pháp được khuyến nghị là kết nối chân VCC của cảm biến mưa với một chân ra trên ESP8266. Bằng cách lập trình chân đó, cảm biến mưa có thể được cấp nguồn chỉ trong quá trình đo, từ đó giảm thiểu tác động của ăn mòn điện hóa.
Vì cảm biến mưa có hai đầu ra, bạn có thể chọn sử dụng một hoặc cả hai, tùy thuộc vào nhu cầu của bạn.
- Sơ đồ nối dây giữa ESP8266 và cảm biến mưa khi chỉ sử dụng DO.

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.
- Sơ đồ kết nối giữa ESP8266 và cảm biến mưa khi chỉ sử dụng AO.

This image is created using Fritzing. Click to enlarge image
- Sơ đồ đấu nối giữa ESP8266 và cảm biến mưa khi sử dụng cả AO và DO.

This image is created using Fritzing. Click to enlarge image
Mã ESP8266 - Đọc giá trị từ chân DO
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 bài hướng dẫn ESP8266 - Cài đặt phần mềm nếu đây là lần đầu bạn sử dụng ESP8266.
- Nối các linh kiện như được thể hiện trong sơ đồ.
- Kết nối bo mạch ESP8266 với máy tính của bạn 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ụ như NodeMCU 1.0 (ESP-12E Module), và cổng COM tương ứng của nó.
- Sao chép mã ở trên và mở bằng Arduino IDE.
- Nhấn nút Tải lên trên Arduino IDE để tải mã lên ESP8266.
- Nhỏ vài giọt nước lên cảm biến mưa.
- Xem kết quả trên Serial Monitor.
Hãy lưu ý rằng nếu bạn nhận thấy đèn LED luôn sáng hoặc tắt ngay cả khi cảm biến đang hướng về mưa, bạn có thể điều chỉnh biến trở để tinh chỉnh độ nhạy của cảm biến.
Mã nguồn ESP8266 - Đọc giá trị từ chân A0
Hướng dẫn từng bước
- Nối các thành phần như được hiển thị trong sơ đồ.
- Kết nối bo mạch ESP8266 với máy tính của bạn bằng cáp USB.
- Mở Arduino IDE trên máy tính của bạn.
- Chọn board ESP8266 đúng, ví dụ NodeMCU 1.0 (ESP-12E Module), và cổng COM tương ứng.
- Sao chép mã ở trên và mở bằng Arduino IDE.
- Nhấp vào nút Tải lên trên Arduino IDE để tải mã lên ESP8266.
- Nhỏ vài giọt nước lên cảm biến mưa.
- Kiểm tra kết quả trên Serial Monitor.
※ Lưu ý:
Tutorial này sử dụng hàm analogRead() để lấy dữ liệu từ một ADC (Analog-to-Digital Converter) được kết nối với cảm biến hoặc một bộ phận khác. 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. Tuy nhiên, hãy nhớ rằng 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 đòi hỏi độ chính xác rất cao, bạn có thể muốn sử dụng một ADC riêng như ADS1115 với ESP8266, hoặc dùng 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.