Датчик дощу, який не згниє за місяць: живлення від GPIO лише під час виміру
Дешеві датчики дощу FC-37 і YL-83 роз'їдаються за кілька тижнів, якщо на них постійно подано напругу. Живимо модуль від виводу ESP32 на 10 мс раз на кілька секунд, читаємо AO і DO і отримуємо датчик, що служить роками.
Про проєкт
Датчик дощу — це плата з двома гребінками доріжок і модуль-компаратор LM393. Вода замикає доріжки, опір падає, і напруга на виході змінюється. Проблема в тому, що постійний струм через мокру плату — це електроліз: мідь розчиняється, і через кілька тижнів на вулиці доріжки просто зникають. Рішення просте: подавати живлення лише на мить вимірювання.
Що потрібно
- ESP32 DevKit
- Датчик дощу FC-37 / YL-83 (пластина + модуль з AO і DO)
- Дроти; для вулиці — гермокоробка для модуля
Схема
| Модуль | ESP32 |
|---|---|
| VCC | GPIO26 — живлення від виводу |
| GND | GND |
| AO | GPIO34 (ADC1) |
| DO | GPIO27 |
Модуль споживає 5–8 мА — вивід ESP32 (до 20 мА) з цим легко впорається. Для датчиків, що беруть більше, використовуйте транзистор або MOSFET.
Виходи
- AO: суха пластина — майже VCC, що більше води, то нижче. Так можна відрізнити мряку від зливи.
- DO: LOW, коли мокро (рівень вище порогу, заданого підстроювальним резистором).
Код
// Датчик дощу, який служить роки: живимо його від GPIO лише на час виміру
const int RAIN_POWER = 26; // VCC модуля
const int RAIN_AO = 34;
const int RAIN_DO = 27; // LOW = мокро (поріг — підстроювальним резистором)
void setup() {
Serial.begin(115200);
pinMode(RAIN_POWER, OUTPUT);
digitalWrite(RAIN_POWER, LOW);
pinMode(RAIN_DO, INPUT);
}
void loop() {
digitalWrite(RAIN_POWER, HIGH);
delay(10); // даємо компаратору встановитися
int raw = analogRead(RAIN_AO);
bool wet = digitalRead(RAIN_DO) == LOW;
digitalWrite(RAIN_POWER, LOW); // між вимірами струм через пластину не тече
int water = map(raw, 4095, 0, 0, 100);
Serial.printf("Вода %3d %% %s\n", water, wet ? "ДОЩ" : "сухо");
delay(2000);
}
У симуляторі змінюйте «Воду на пластині». Спробуйте й навпаки: під'єднайте VCC модуля до 3V3 і залиште пластину мокрою — через пів хвилини симулятор нагадає про корозію.
Корисно знати
- Пластину — на вулицю, модуль — у коробку. Компаратор боїться вологи більше, ніж доріжки. Між ними — кабель довжиною хоч 5 м.
- Нахил 30–45°. На горизонтальній пластині вода застоюється, і «дощ» триває ще годину після того, як він закінчився.
- Змінний струм — ще кращий захист: деякі проєкти по черзі міняють полярність двома GPIO. Для більшості задач вистачає й короткого живлення.
- Та сама схема підходить для датчиків вологості ґрунту з резистивними щупами — у них та сама проблема з корозією.