
Интернет-магазин «Неглупый Дом»
Датчик дождя показывает, идёт ли на улице дождь прямо сейчас — Arduino блокирует включение насоса полива, пока капли есть на пластине датчика, экономя воду и не переливая грядки.
Датчик дождя — это плата с дорожками проводящего материала на поверхности. Когда на неё попадают капли воды, сопротивление между дорожками падает (вода проводит электричество лучше воздуха), и это изменение можно считать как аналоговое напряжение через `analogRead()`. Чем больше воды на пластине — тем ниже сопротивление и тем ниже итоговое значение на аналоговом входе.
Логика проекта простая, но полезная: обычный таймер полива включает насос по расписанию независимо от погоды, что приводит к перерасходу воды и переливу грядок в дождливые дни. Этот проект добавляет "умную" проверку перед каждым запланированным поливом — если пластина датчика мокрая (идёт или недавно прошёл дождь), полив пропускается, экономя воду и защищая растения от переувлажнения.
Так как реализации данного модуля бывают разные, если у вас на плате нет тех контактов, которые указаны ниже — сориентируйтесь по названиям контактов на своей плате.
// ВНИМАНИЕ: рекомендую отладить код через монитор порта, так как я языковая
// модель, а не специализированный кодер, и могу что-то упустить. Основу
// и идею я накидал, но проверьте под свою схему.
const int rainPin = A0; // аналоговый выход датчика дождя
const int relayPin = 7; // реле насоса полива
const int rainThreshold = 500; // ниже этого значения считаем, что идёт дождь
void setup() {
Serial.begin(9600);
pinMode(relayPin, OUTPUT);
}
void loop() {
int value = analogRead(rainPin);
bool isRaining = (value < rainThreshold);
Serial.print("Показание датчика: ");
Serial.print(value);
Serial.println(isRaining ? " (идёт дождь, полив пропущен)" : " (сухо)");
if (!isRaining) {
digitalWrite(relayPin, HIGH);
delay(5000); // длительность полива
digitalWrite(relayPin, LOW);
}
delay(3600000UL); // проверка раз в час
}
Значение `rainThreshold` калибруется под конкретный экземпляр датчика — капните воды на пластину и посмотрите показания через Serial-монитор. Полив запускается только если дождя нет.
Ещё модули для Arduino: Электронные модули.
🎁 Купить весь комплект со скидкой 10%
Все 2 товара сразу в корзину: 181 ₽ 163 ₽ (экономия 18 ₽)
Скидка применяется автоматически при оформлении заказа, если в корзине именно этот комплект.
Остались вопросы? Проконсультируйтесь с ИИ-инженером — он уже в курсе темы статьи и сразу ответит, ничего вводить не нужно.