Материалы:
* Ардуино Uno или аналогичный контроллер
* Модуль реле (на 2 или более каналов)
* Водяной насос
* Трубки и фитинги для разбрызгивания воды
* Датчик влажности почвы (по желанию)
* Блок питания на 12 В
* Провода
Схема подключения:
1. Датчик влажности почвы (если используется):
* VCC датчика к 5 В на Arduino
* GND датчика к GND на Arduino
* Сигнальный контакт датчика к аналоговому пину A0 на Arduino
2. Модуль реле:
* VCC модуля к 5 В на Arduino
* GND модуля к GND на Arduino
* Сигнальный контакт IN1 на цифровой пин 2 на Arduino (контроль первого канала)
* Сигнальный контакт IN2 на цифровой пин 3 на Arduino (контроль второго канала)
* Выходные контакты NO1 и COM1 к водяному насосу
* Выходные контакты NO2 и COM2 к дополнительному устройству (например, к светодиоду для индикации)
3. Водяной насос:
* Положительный контакт (+) к COM на модуле реле
* Отрицательный контакт (-) к источнику питания на 12 В
Код программы:
«`cpp
// Включаем библиотеку для работы с датчиком влажности почвы
#include
// Устанавливаем пин датчика влажности почвы
const int dhtPin = A0;
// Создаем объект для датчика влажности
DHT dht(dhtPin, DHT11);
// Устанавливаем пины управления реле
const int relayPin1 = 2;
const int relayPin2 = 3;
// Инициализируем состояние реле
bool relay1State = false;
bool relay2State = false;
void setup() {
// Инициализируем последовательный порт
Serial.begin(9600);
// Инициализируем датчик влажности почвы
dht.begin();
// Устанавливаем пины управления реле как выходы
pinMode(relayPin1, OUTPUT);
pinMode(relayPin2, OUTPUT);
// Устанавливаем начальное состояние реле
digitalWrite(relayPin1, relay1State ? HIGH : LOW);
digitalWrite(relayPin2, relay2State ? HIGH : LOW);
}
void loop() {
// Получаем показания датчика влажности почвы
float humidity = dht.readHumidity();
// Печатаем показания на последовательный порт
Serial.print(«Влажность почвы: «);
Serial.println(humidity);
// Проверяем, нужно ли включать насос
if (humidity < 40) {
// Включаем насос
relay1State = true;
digitalWrite(relayPin1, HIGH);
} else {
// Выключаем насос
relay1State = false;
digitalWrite(relayPin1, LOW);
}
// Задержка между измерениями
delay(5000);
}
```
Инструкция по запуску:
1. Соедините все компоненты по схеме.
2. Загрузите код на Arduino.
3. Подайте питание на систему.
4. Датчик влажности почвы будет измерять уровень влажности и управлять водяным насосом в зависимости от показаний.
Дополнительные возможности:
* Можно добавить светодиод для индикации состояния реле.
* Можно добавить резервуар для воды с поплавковым выключателем для автоматической остановки насоса, когда резервуар пуст.
* Можно использовать датчик потока для контроля расхода воды и выключения насоса, если расход слишком низкий или слишком высокий.