Arduino-контроллер GrowBox: открытое ПО и руководство по железу для умного выращивания
Компоненты и расходные материалы
- Arduino Mega 2560 — 1 шт.
- Arduino Ethernet Shield 2 — 1 шт.
- Датчик температуры/влажности DHT22 — 2 шт. (внутри и снаружи бокса)
- Водонепроницаемые датчики температуры DS18B20 (Adafruit) — 2 шт. (грунт и образец горшка)
- Arduino 4 Relays Shield — 1 шт.
- Seeed Grove RTC (часы реального времени) — 1 шт.
Необходимые инструменты
- Паяльник
Программное обеспечение и онлайн-сервисы
- EmonCMS (система мониторинга и логирования)
О проекте
Arduino GrowBox Controller — открытый прошивка (лицензия GPL3) для управления грядкой/посевным ящиком. Разработана за несколько лет, теперь опубликована на GitHub. На сайте автора описано строительство GrowBox, модификации и фото растений.
На базе Arduino Mega 2560 Rev.3 прошивка предоставляет:
- Малый веб-сервер для конфигурации
- Передачу данных в EmonCMS
- Логирование на SD-карту (CSV файлы скачиваются со страницы контроллера)
Используются DHT22 для температуры/влажности внутри и снаружи бокса. DS18B20 — для температуры грунта и образца горшка. Ethernet Shield даёт удалённую настройку, визуализацию и скачивание логов. 20x4 LCD дисплей избыточен, но полезен без телефона/планшета.
Интеграция с EmonCMS позволяет хранить историю и следить за трендами отовсюду. Если вы уже используете EmonCMS для энергомониторинга — легко добавите и это.
За годы выращивались: перцы (основное), помидоры, кабачки, баклажаны, арбузы, дыни — для раннего старта в коротком лете.
Реализованные функции
Управление экологическими параметрами
Температурный контроль GrowBox
- Мин. температура: ниже порога — включение обогревателя
- Макс. температура: выше порога — выключение обогревателя
Пороги влажности
- Мин. влажность (%RH): ниже — включение увлажнителя
- Макс. влажность (%RH): выше — выключение увлажнителя
Температура грунта/песка
- Мин. температура грунта: активация обогрева, если температура грунта ниже порога (и внутренняя температура тоже ниже минимума)
- Макс. температура грунта: отключение обогрева даже если внутренняя температура требует нагрева. Защита корней и горшка от перегрева.
Управление освещением
- Час/минута включения
- Час/минута выключения
Пример: включение 6:30, выключение 22:30 → Start Hour: 6, Start Minute: 30, Stop Hour: 22, Stop Minute: 30.
Сеть
- IP-адрес (статический)
- Маска подсети
- Шлюз
- DHCP (галочка — тогда вышеуказанные настройки игнорируются)
Вентиляторы
Лампы могут сильно нагревать бокс, поэтому разные программы для «дня» и «ночи».
Вентиляторы — Свет ВКЛ
- Длительность (мин)
- Интервал между включениями (часы)
Вентиляторы — Свет ВЫКЛ
- Длительность (мин)
- Интервал между включениями (часы)
Часы реального времени (RTC)
Установка локального времени для точных логов и корректного перезапуска после сбоя питания.
Частота измерений и логирования
Разделены намеренно: контроллер может реагировать быстро (высокая частота измерений), но не все данные нужны для логов. Быстрее логирование → больше CSV, больше трафика в EmonCMS, медленнее скачивание.
- Sample Rate (сек): частота опроса датчиков (быстрая реакция)
- Transmission and Log Rate (мин): интервал обновления CSV и отправки в EmonCMS
Плата расширения (Shield) для Arduino GrowBox Controller
Разработана собственная плата-шилд для Arduino Mega, объединяющая Ethernet Shield, реле и датчики. Проектировалась в Eagle, исходники на GitHub.
Планы на будущее (Next Steps)
- PID-регулятор нагрева через твердотельное реле (SSR) для энергоэффективности и точности
- MQTT для интеграции в системы умного дома / IoT платформы (ThingsBoard.io)
- NTP для автосинхронизации RTC
- Предварительный нагрев перед выключением света для стабильности температуры
- Автополив с датчиком влажности в образцовом горшке
Наслаждайтесь проектом! Делитесь урожаем!
Код
Прошивка Arduino GrowBox Controller на GitHub:
https://github.com/Yarosia/Arduino-GrowBox-Controller
Схемы
Eagle-схема и PCB для шилда (ещё не изготовлена):
GitHub репозиторий
Производственный процесс
- Профессиональное руководство по анимации битмапов на TFT-экране ILI9341 2.4" с Visuino
- Веб-управляемая DMX-система освещения: Arduino Mega как мастер-контроллер
- Сборка Bluetooth-робота-шпиона на Arduino с управлением с телефона
- DIY USB-геймпад на Arduino: собственный высокопроизводительный контроллер
- Unopad: Бесшовный Arduino MIDI-контроллер для Ableton Live
- Android-управляемая робот-платформа на Raspberry Pi и Motor Shield
- Контроллер вакуумно-люминесцентного дисплея (VFD) на Arduino — DIY набор
- Arduino Home Controller с Alexa: умный дом голосовым управлением
- Беспроводная прошивка Arduino через Bluetooth HC-05: щит без USB-кабеля
- Создание боевого робота с управлением от геймпада PS2 на базе Arduino