Arduino Cảm biến mưa
Cảm biến mưa có khả năng nhận diện và đo mức độ mưa hoặc tuyết. Cảm biến mưa cung cấp hai đầu ra: một đầu ra kỹ thuật số (LOW/HIGH) và một đầu ra tương tự.
Trong hướng dẫn này, chúng ta sẽ học cách sử dụng Arduino và một cảm biến mưa để phát hiện và đo lượng mưa. Cụ thể, chúng ta sẽ đề cập đến những nội dung sau:
- Cách kết nối cảm biến mưa với Arduino.
- Cách lập trình Arduino để phát hiện mưa bằng cách đọc tín hiệu số từ cảm biến mưa.
- Cách lập trình Arduino để đo mức mưa bằng cách đọc tín hiệu analog từ cảm biến mưa.

Sau đó, bạn có thể sửa đổi mã để kích hoạt động cơ hoặc cảnh báo khi nó phát hiện mưa hoặc tuyết.
Phần cứng cần chuẩn bị
| 1 | × | Arduino Uno R3 | ||
| 1 | × | USB 2.0 cable type A/B (for USB-A PC) | ||
| 1 | × | USB 2.0 cable type C/B (for USB-C PC) | ||
| 1 | × | cảm biến mưa | ||
| 1 | × | dây jumper | ||
| 1 | × | (Khuyến nghị) Screw Terminal Block Shield for Arduino Uno | ||
| 1 | × | (Khuyến nghị) Breadboard Shield for Arduino Uno | ||
| 1 | × | (Khuyến nghị) Enclosure for Arduino Uno | ||
| 1 | × | (Khuyến nghị) Prototyping Base Plate & Breadboard Kit for Arduino UNO |
Or you can buy the following kits:
| 1 | × | DIYables STEM V3 Starter Kit (Arduino included) | ||
| 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ể được sử dụng để phát hiện sự có mặt của mưa hoặc đo mức nước do mưa rơi xuống. Cảm biến mưa cung cấp hai tùy chọn thông qua chân đầu ra số và chân đầu ra tương tự.
Cảm biến mưa gồm hai phần:
- Bàn cảm biến
- Mô-đun điện tử

Bề mặt cảm biến
Pad cảm biến được đặt ở ngoài trời, có thể đối mặt với mưa và tuyết (ví dụ như mái nhà). Pad cảm biến có một chuỗi các đường mạch đồng trần, được chia thành hai nhóm: đường mạch nguồn và đường mạch cảm biến. Các đường mạch nguồn và đường mạch cảm biến không được nối với nhau trừ khi chúng được nước hoặc tuyết làm cầu nối. Không có sự khác biệt giữa đường mạch nguồn và đường mạch cảm biến. Bạn có thể chọn một đường làm đường mạch nguồn và đường còn lại sẽ trở thành đường mạch cảm biến.
Mô-đun điện tử
Mô-đun đ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 giá trị tương tự (analog) hoặc số (digital) có thể đọc được bởi Arduino. Nó có bốn chân.
- Chân VCC: Cần được kết nối với VCC (3.3V đến 5V).
- Chân GND: Cần được kết nối với GND (0V).
- Chân DO: Đây là một chân đầu ra số. Nó ở mức HIGH khi mưa không được phát hiện và ở mức LOW khi mưa được phát hiện. Giá trị ngưỡng để phát hiện mưa có thể điều chỉnh bằng một potentiometer tích hợp.
- Chân AO: Đây là một chân đầu ra analog. Giá trị đầu ra giảm khi lượng nước ở trên miếng cảm biến tăng lên, và tăng khi lượng nước ở trên miếng cảm biến giảm xuống.
Hơn nữa, nó có hai đèn LED chỉ báo:
- Một đèn LED PWR cho nguồn.
- Một đèn LED DO cho trạng thái mưa trên chân DO: nó sáng khi có mưa.
Cách hoạt động
Đối với chân DO:
- Module có một biến trở tích hợp để thiết lập ngưỡng (độ nhạy).
- Khi cường độ vượt quá ngưỡng đã cho, mưa được phát hiện, chân đầu ra của cảm biến ở mức LOW, và đèn DO-LED sáng.
- Khi cường độ dưới ngưỡng đã cho, mưa KHÔNG được phát hiện, chân đầu ra của cảm biến ở mức HIGH, và đèn DO-LED tắt.
Đối với chân AO:
- Nhiều nước hơn trên miếng cảm biến, giá trị đọc được từ chân AO sẽ thấp hơn.
- Ít nước hơn trên miếng cảm biến, giá trị đọc được từ chân AO sẽ cao hơ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ên, chân VCC của cảm biến nên được kết nối với nguồn 3.3V hoặc 5V. Nếu ta kết nối chân này trực tiếp với chân 3.3V hoặc 5V của Arduino, tuổi thọ của cảm biến sẽ bị giảm do ăn mòn điện hóa. Cách tối ưu là kết nối chân VCC của cảm biến mưa với một chân xuất ra của Arduino; chúng ta có thể lập trình để chân đó cấp nguồn cho cảm biến mưa chỉ khi đang đọc dữ liệu. Điều này có thể giảm thiểu tác động của ăn mòn điện hóa.
Vì mô-đun cảm biến mưa có hai đầu ra, bạn có thể chọn sử dụng một trong số chúng hoặc cả hai, tùy thuộc vào nhu cầu của bạn.
- Sơ đồ đấu dây giữa Arduino và cảm biến mưa khi chỉ dùng DO.

This image is created using Fritzing. Click to enlarge image
- Sơ đồ đấu dây giữa Arduino 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 Arduino 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ã Arduino - Đọc giá trị từ chân DO
Hướng dẫn từng bước
- 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 Arduino
- Nhỏ vài giọt nước lên cảm biến mưa
- Xem kết quả trên Serial Monitor.
Xin lưu ý rằng nếu bạn nhận thấy đèn LED luôn sáng hoặc bị tắt ngay cả khi cảm biến đối mặt với 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ã Arduino - Đọc giá trị từ chân AO
Hướng dẫn từng bước
- Sao chép mã ở trên và mở bằng Arduino IDE
- Nhấp vào Tải lên trên Arduino IDE để tải mã lên Arduino
- Nhỏ vài giọt nước lên cảm biến mưa
- Xem kết quả trên Serial Monitor.
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.