Nội Dung Bài Viết
Giới thiệu cảm biến mưa
Cảm biến mưa (Rain sensor) là loại cảm biến được dùng để phát hiện mưa hoặc nước.
Module cảm biến mưa gồm có 2 phần: Mạch cảm biến mưa và mạch điều chỉnh độ nhạy. Trên mạch điều chỉnh độ nhạy có chiết áp dùng để điều chỉnh độ nhạy đầu ra kỹ thuật số D0. Nó có một đèn led nguồn, sáng lên mỗi khi module cảm biến được bật và một led đầu ra kỹ thuật số D0.
Mô tả hoạt động
Module cảm biến mưa hoạt động bằng cách so sánh hiệu điện thế của mạch cảm biến nằm ngoài trời với giá trị định trước (giá trị này thay đổi được thông qua 1 chiếc áp màu xanh) từ đó phát ra tín hiệu đóng / ngắt rơ le qua chân D0.
Về cơ bản, điện trở của mạch cảm biến mưa thay đổi theo lượng nước trên bề mặt của nó.
Khi trên bề mặt mạch cảm biến:
- Ướt: điện trở tăng và điện áp đầu ra giảm.
- Khô: điện trở giảm và điện áp đầu ra tăng.
Thông số kỹ thuật cần quan tâm
- Điện áp: 5V
- Led báo nguồn ( Màu xanh)
- Led cảnh báo mưa ( Màu đỏ)
- Có 2 dạng tín hiệu: Analog( AO) và Digital (DO)
- Dạng tín hiệu : TTL, đầu ra 100mA ( Có thể sử dụng trực tiếp Relay, Còi công suất nhỏ…)
- Điều chỉnh độ nhạy bằng biến trở.
- Sử dụng LM358 để chuyển AO –> DOM
Cách sử dụng module cảm biến mưa
- VCC nối nguồn 5V
- GND nối vào chân GND
- DO: Đầu ra ở mức cao (1), khi có nước đèn đỏ sáng, đồng thời đầu ra về mức thấp (0). Có thể xử dụng để ĐK relay, Còi..Hoặc đưa vào chân I/O của VĐK.
- AO: Dùng để xác định độ lớn của giọt nước, bằng cách đưa vào ADC của VĐK.
- Điều chỉnh độ nhạy bằng biến trở.
Module cảm biến mưa với Arduino
Sơ đồ kết nối chân
Module cảm biến mưa | Arduino |
VCC | 5V |
GND | GND |
D0 | D8 |
Sơ đồ lắp mạch
Chương trình Arduino
Viết chương trình Arduino đọc tín hiệu cảm biến mưa ở chân digital 6, và in ra màn hình serial “Khong mua” và “Dang mua” tùy thuộc vào giá trị đọc được. Nếu trời đang mưa thì bật đèn led trên chân số 13.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | int led = 13; int rainSensor = 6; // Chân tín hiệu cảm biến mưa ở chân digital 6 (arduino) void setup() { pinMode(led,OUTPUT); pinMode(rainSensor,INPUT);// Đặt chân cảm biến mưa là INPUT, vì tín hiệu sẽ được truyền đến cho Arduino Serial.begin(9600);// Khởi động Serial ở baudrate 9600 Serial.println("Da khoi dong xong"); } void loop() { int value = digitalRead(rainSensor);//Đọc tín hiệu cảm biến mưa if (value == HIGH) { // Cảm biến đang không mưa digitalWrite(led,LOW); Serial.println("Dang khong mua"); } else { digitalWrite(led,HIGH); Serial.println("Dang mua"); } delay(1000); // Đợi 1 tí cho lần kiểm tra tiếp theo. Bạn hãy tham khảo bài "Viết chương trình không dùng làm delay" trên Arduino.VN để kết hợp đoạn code này và cả chương trình của bạn } |
Download file
Bài viết các bạn có thể tham khảo:
- Cảm biến ánh sáng quang điện trở (LDR)
- Module cảm biến âm thanh
- Cảm biến phát hiện lửa