автоматический полив цветов на ардуино - НАУКА О БЛАГОУСТРОЙСТВЕ

автоматический полив цветов на ардуино

Материалы:

* Ардуино 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. Датчик влажности почвы будет измерять уровень влажности и управлять водяным насосом в зависимости от показаний. Дополнительные возможности: * Можно добавить светодиод для индикации состояния реле. * Можно добавить резервуар для воды с поплавковым выключателем для автоматической остановки насоса, когда резервуар пуст. * Можно использовать датчик потока для контроля расхода воды и выключения насоса, если расход слишком низкий или слишком высокий.