Этот проект превращает Arduino в интеллектуальную систему управления парником с:
Автоматическим поливом по таймеру и влажности почвы
Контролем микроклимата (температура, влажность, CO2)
Управлением освещением (фитолампа)
Мониторингом через веб-интерфейс
Аварийными уведомлениями в Telegram
Необходимые компоненты:
Arduino Mega (много пинов)
Датчик влажности почвы Capacitive Soil Moisture
Датчик DHT22 (температура/влажность воздуха)
Датчик CO2 MH-Z19
Фотодиод GY-302 (освещенность)
Релейный модуль (4 канала)
Водяная помпа 12V + соленоидный клапан
Фитолампа 24V
Модуль ESP8266 для Wi-Fi
LCD дисплей 20x4 + I2C
Код (основные функции):
#include <Wire.h> #include <LiquidCrystal_I2C.h> #include <DHT.h> #include <SoftwareSerial.h> // Датчики #define DHTPIN 2 #define DHTTYPE DHT22 DHT dht(DHTPIN, DHTTYPE); SoftwareSerial co2Serial(10, 11); // Для MH-Z19 // LCD LiquidCrystal_I2C lcd(0x27, 20, 4); // Пины const int soilPin = A0; const int lightSensorPin = A1; const int waterPumpPin = 6; const int lampPin = 7; const int fanPin = 8; // Настройки const int drySoil = 2500; // Калибровка под почву! const int minLight = 200; // Люкс void setup() { Serial.begin(9600); co2Serial.begin(9600); dht.begin(); lcd.init(); lcd.backlight(); pinMode(waterPumpPin, OUTPUT); pinMode(lampPin, OUTPUT); pinMode(fanPin, OUTPUT); } void loop() { // Чтение данных int soilMoisture = analogRead(soilPin); float temp = dht.readTemperature(); float humidity = dht.readHumidity(); int co2 = readCO2(); int lightLevel = analogRead(lightSensorPin); // Вывод на LCD updateDisplay(soilMoisture, temp, humidity, co2, lightLevel); // Логика управления controlWatering(soilMoisture); controlClimate(temp, humidity, co2); controlLighting(lightLevel); delay(10000); // Проверка каждые 10 сек } void controlWatering(int moisture) { if (moisture > drySoil) { digitalWrite(waterPumpPin, HIGH); delay(3000); // Полив 3 секунды digitalWrite(waterPumpPin, LOW); } } void controlClimate(float temp, float hum, int co2) { if (temp > 28 || hum > 80% || co2 > 1200) { digitalWrite(fanPin, HIGH); } else { digitalWrite(fanPin, LOW); } } void controlLighting(int light) { if (light < minLight) { digitalWrite(lampPin, HIGH); } else { digitalWrite(lampPin, LOW); } }
Ключевые функции:
Умный полив:
Помпа включается при влажности почвы <30%
Защита от перелива (таймер 3 сек)
Климат-контроль:
Вентилятор включается при:
Температуре >28°C
Влажности >80%
CO2 >1200 ppm
Освещение:
Фитолампа работает при освещенности <200 люкс
Веб-интерфейс:
Данные передаются через ESP8266 на ThingSpeak или Blynk
Схема подключения:
Компонент | Arduino |
---|---|
Датчик почвы | A0 |
DHT22 | Pin 2 |
MH-Z19 (CO2) | RX-10, TX-11 |
Фотодиод | A1 |
Помпа | Pin 6 |
Фитолампа | Pin 7 |
Вентилятор | Pin 8 |
LCD I2C | SDA (20), SCL (21) |
Доработки:
Резервное питание от солнечной панели + аккумулятора
Капельный полив с электромагнитными клапанами
Ночной режим с УФ-лампой для грибов
Готов к сборке! Для промышленных теплиц добавьте датчик pH воды и камеру для мониторинга роста. 🌱💧