Программа

Гроубокс своими руками

Несколько раз пробовал что-нибудь вырастить на подоконнике, но ничего не получалось. Блуждая по интернету наткнулся на статью о гроубоксе. Гроубокс — это специальное помещение или пространство, в котором создаются условия близкие к идеальным, для выращивания растений. В гроубоксе контролируется температура, влажность и освещение.

Рассмотрим внутреннее устройство гроубокса. Все внутренние стенки гроубокса светоотражающие. Стенки можно покрыть светоотражающей краской или покрыть светоотражающим материалом, например утеплителем, у которого одна сторона покрыта фольгой.

Гроубокс можно разделить на три части: нижняя, средняя и верхняя. В нижней части располагается само растение и вентилятор для притока прохладного воздуха. В средней, датчик температуры и влажности воздуха и иногда размещают вентилятор для обдува растения. В верхней, лампа для подсветки растения и вентилятор для отвода теплого воздуха. Всем этим управляет микроконтроллер, который расположен на внешней стенке гроубокса.

Я сначала хотел купить в магазине гроубокс, но когда увидел цену, то сразу передумал. В магазине цена на гроубокс размером 50х50х120 см начиналась от 20000 рублей. Я был не готов заплатить такие деньги и решил собрать гроубокс самому.

Компоненты:

  1. деревянный брус 20х40мм
  2. металлический уголок 20х20мм
  3. саморезы разной длины
  4. МДФ панель
  5. ДСП панель
  6. фанера шириной 8 мм
  7. 4 дверные петли
  8. утеплитель с фольгой
  9. 4 небольших шпингалета
  10. широкий прозрачный скотч
  11. широкий двухсторонний скотч
  12. 2 компьютерных вентилятора 120х120мм с решеткой
  13. 2 дверные ручки
  14. фитолампа для подсветки растений (я использовал Apollo 1 COB 70W)
  15. любой небольшой увлажнитель воздуха (я использовал DEXP HW-220)
  16. Arduino UNO
  17. датчик AM2301
  18. часы DS1302
  19. LCD дисплей 1602А
  20. резистор 10кОм
  21. переменный резистор 10кОм
  22. резистор 125 Ом
  23. диод 1N5818
  24. транзистор КТ805АМ с радиатором
  25. блок питания 5В 1А
  26. блок питания 5В 2,5А
  27. 2 DC-DC преобразователя на базе MT3608
  28. Если найдете блок питания на 9В для Arduino и блок на 12В для вентиляторов, то DC-DC преобразователи не нужны.
  29. 2 модуля реле 220В
  30. соединительные провода
  31. клеммы для соединения проводов
#include <DS1302.h> //Библиотека часов
#include <LiquidCrystal.h>//Библиотека для работы с дисплеем
#include <DHT.h> //Бибилиотека датчика
#define DHTPIN 8 //Определение пина для получения данных
#define DHTTYPE DHT21 //Определение типа датчика

DS1302 rtc(10, 9, 7); //Часы
Time ti;//Переменная даты
LiquidCrystal lcd(12, 11, 2, 3, 4, 5); //Инициализация дисплея с номерами пинов

int Ventil = 6;//Определение пина для управления вентиляторами
int Lampa220 = 13;//Определение пина для управления реле 220 В для лампы
String temp = ""; //Переменная для вывода температуры
String hum = ""; //Переменная для вывода влажности
DHT dht(DHTPIN, DHTTYPE); //Инициализация датчика
int Water220 = A0;// Увлажнитель воздуха
void setup()
{
Serial.begin(9600);// подключаемся к порту
lcd.begin(16, 2); //Установка количества колонок и строк на дисплее
dht.begin(); //Запуск датчика
pinMode(Ventil, OUTPUT);//вентиляторы
pinMode(Lampa220, OUTPUT);//подсветка
pinMode(Water220, OUTPUT);//увлажнитель воздуха
rtc.halt(false); //Запуск часов
//Установим время, и отключим защиту от записи
rtc.writeProtect(false);
// Если у вас в DS1302 уже сохранено установленное время, то нужно за комментировать
//rtc.setDOW(SATURDAY); // Устанавливаем день недели SATURDAY
//rtc.setTime(15, 02, 00); // Устанавливаем время 20:30:10 (24часа формат времени)
//rtc.setDate(20, 01, 2019); // Устанавливаем число месяц и год
}
void loop()
{
delay(1000); //Задержка 1 секунды
ti = rtc.getTime(); //Заносим время в переменную ti
float h = dht.readHumidity(); //Чтение данных влажности
float t = dht.readTemperature();//Чтение температуры в градусах по Цельсию
if (isnan(h) || isnan(t)) // Проверка, все ли данные корректны
return; //Возврат, если данные некорректно считались
temp = "T" + String(t) + "C"; //Строка температуры
hum = "H" + String(h) + "%"; //Строка влажности
//(Помним, что нумерация колонок и строк начинается с 0)
lcd.setCursor(0, 0); //Установим курсор в первую строку
lcd.print(temp); //Вывод температуры
lcd.setCursor(0, 1); //Ставим курсор на вторую строку
lcd.print(hum);//Вывод влажности
lcd.setCursor(8, 0); //Установим курсор в первую строку на 8 символ
lcd.print(rtc.getTimeStr()); //Печатаем время
lcd.setCursor(8, 1); //Ставим курсор на вторую строку на 8 символ
lcd.print(ti.date); //Печатаем дату
lcd.print( "." ); //Печатаем точку
lcd.print(ti.mon); //Печатаем месяц числом
//Управление гроубоксом
if (ti.hour>=9) {digitalWrite(Lampa220, HIGH);} //Если время 9-00, то включаем лампу посредством реле
if (ti.hour>=21) {digitalWrite(Lampa220, LOW);} //Если время 21-00, то выключаем лампу посредством реле
if (t>=29) {digitalWrite(Ventil, HIGH);} //Если температура больше 29 гр, то включаем вентиляторы
if (t<28) {digitalWrite(Ventil, LOW);} //Если температура меньше 28 гр, то выключаем вентиляторы
if (h<57) {digitalWrite(Water220, HIGH);} //Если влажность меньше 57%, то включаем увлажнитель посредством реле
if (h>=62) {digitalWrite(Water220, LOW);} //Если влажность больше 62%, то выключаем увлажнитель посредством реле
if (ti.min==59 && ti.sec>=40) {digitalWrite(Ventil, HIGH);} //Раз в час включаем вентиляторы на 20 секунд
}

Программа контролирует уровень влажности в гроубоксе в пределах от 57 до 62%. Включает лампу в 9-00 и выключает в 21-00. Если температура повышается выше 29 градусов, то включает вентиляторы и выключает, если температура падает ниже 28 градусов. Раз в час включаются вентиляторы на 20 секунд, для проветривания гроубокса.

Для сборки каркаса гроубокса выпиливаем бруски длиной 4 по 120см, 4 по 75см и 4 по 46см.

Соединяем бруски длиной 120 и 75см при помощи уголков и саморезов.

Унас должны получиться две рамки.

Далее в каждом углу обеих рамок просверливаем 2 отверстия, вставляем в отверстия саморезы и соединяем рамки при помощи саморезов и брусков длиной 46см.

Выпиливаем бруски 3 по 120см и 5 по 46см.

3 бруска длиной 46см, на равном расстоянии друг от друга, прикручиваем в нижней части каркаса и 2 бруска длиной 46см в верхней. Бруски в верхней части необходимо расположить на таком расстоянии друг от друга, чтобы между ними проходил корпус фитолампы.

Далее, таким же способом, крепим 2 бруска длиной 120см в левой и правой части каркаса. Третий брусок длиной 120см, крепим в дальней части. С одной стороны крепим на саморезы, а с другой при помощи уголков и саморезов.

Выпиливаем из фанеры два листа размером 120х37,4см. Это будут у нас двери гроубокса. Также выпиливаем из МДФ панели два листа размером 120х37,4см. Прикручиваем МДФ панель к фанере при помощи саморезов.

Выпиливаем из МДФ панели листы размером 2 по 46х120см, 75х120см и 2 по 46х75см. При помощи саморезов прикручиваем панели размером 46х120см к каркасу с внешней стороны.

Из ДСП вырезаем лист размером примерно 46х75см. Подгоняем его размер таким образом, чтобы он смог лечь внутри каркаса и крепим его саморезвами.

В МДФ листах размером 46х75см верезаем отверстия под вентилятор и фитолампу. Крепим листы саморезами с внешней и внутренней стороны корпуса.

Вырезаем из ДСП 2 листа размером 46х116см. Крепим их саморезами с внутренней стороны каркаса. Далее выпиливаем бруски 10 штук длиной 10см и 4 штуки длиной 20см. На саморезы крепим бруски с краю от задней стенки каркаса.

Из ДСП вырезаем лист размером примерно 71х116см и крепим его внутри каркаса. Также вырезаем в нем отверстие для вентилятора.

Вырезаем лист МФД панели размером 75х120см и крепим его с внешней стороны каркаса и незабываем вырезать отверстие для вентилятора.

Берем дверные петли. Крепим их сначала к створке двери, отступим с низу и с верху по 15см. После этого крепим створки к каркасу.

Для вентиляторов вырезаем на глаз 4 полоски к крепим их к вентилятору. Один вентилятор устанавливаем в верхней части каркаса таким образом, чтобы он выдувал воздух из гроубокса. К фитолампе необходимо прикрепить 4 уголка, по 2 с двух сторон, НО таким образом, чтобы при установки фитолампы в корпус, отверстия в лампе были за пределами корпуса. Иначе лампа будет греться и выйдет из строя.

На внутренней части корпуса приклеиваем утеплитель с фольгой при помощи двухстороннего скотча и устанавливаем вентилятор таким образом, чтобы он вдувал воздух в гроубокс.

Далее необходимо зафиксировать правую створку при помощи двух шпингалетов. Петли крепим на небольшой брусок и прикручиваем к корпусу. Потом вставляем шпингалет в петлю и прикручиваем шпингалет к створке. Так необходимо сделать в нижней и в верхней части створки. С внешней стороны на левую створку крепим шпингалет, а на правую петлю.

По бокам корпуса прикручиваем ручку для удобной транспортировки гроубокса.

Далее подключаем всю электронику по схеме. Загружаем программу в микроконтроллер и производим первый запуск гроубокса.

Гроубокс готов!

1+

Изменено:

Гроубокс своими руками: 2 комментария

  1. Дешево, «сердито», просто. Отличный «гайд» для самосборки!
    Только вот двух вентиляторов (по моему опыту), будет недостаточно при добавлении дополнительного освещения, поэтому для желающих повторить, совет:
    Ставьте по 3 вентилятора на вдув/выдув (если компьютерные) — при средних оборотах, почти не шумят, а воздуха прогоняют больше. Можно поставить пару недорогих канальных вентиляторов, запитав их через регуляторы оборотов (недорогие китайские или SSD с управлением по ШИМ).
    Андрей, скажите пожалуйста, где Вы купили крепления для подвесов на лампу? Скажите хотя бы, как они называются. Уже давно ищу!

    0
  2. Двух компьютерных вентиляторов в моем проекте хватает. Я подбирал вентиляторы, а не взял первые попавшиеся. Я бы привел расчеты выбора, но на данный момент нет расчетов под рукой. Вентиляторы были Xilence XF039. Могу только сказать, что благодаря этим вентиляторам, воздух обновляется примерно за 16 секунд. Ночью вентиляторы не доставляют дискомфорта.

    У лампы уже были крепления для подвеса. Но для крепления в гроубоксе я использовал обычные металлические уголки, купленные в магазине крепежа.

    1+

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Этот сайт использует Akismet для борьбы со спамом. Узнайте как обрабатываются ваши данные комментариев.