Muko

Гроубокс из совкового ящика. Arduino|LED|54/125/43

13 сообщений в этой теме

Доброго всем времени суток! В этом репорте я хотел бы поведать вам замечательную историю о постройке и модернизации гроубокса. ny_icon_spin3.gif 
К сожалению часть фотографий была утеряна, но что осталось - тому и рады ny_icon_clever.gif 

Очередной раз читая форум и просматривая просто-таки эпические ny_icon_pray.gif репорты – захотелось мне попробовать себя в качестве изобретателя и гровера ny_icon_elk.gif .
В качестве материала выбрал семки от небезызвестного сидбанка и тут стал вопрос, а где же растить сие дивное растение? После бессонной ночи было принято решение строить гроу-бокс, но размеры и частично оснастка для меня оставались непонятными… 

Как-то раз возвращаясь с работы, заметил возле мусорного бака некое подобие книжной полки с дверцей и прикинув размеры ny_icon_hmm.gif , закинул эту фигню в машину (авось подойдет). ny_icon_ylflower.gif 

Прошла неделя. 
Добрались мои очумелые ручки до этого творения неизвестного столяра за 2р. 50коп. Выломал внутренние полки, открутил фортепианную петлю. Сгонял на поиски старого куска ЛДСП, после того как добыл его – вырезал боковуху и лицевую дверь. Поискал на полках старые дверные петли, еще случайно наткнулся на дверную ручку и замок под трехгранный ключ (который потом выступил замком для моего бокса).


IMG_20160414_210912.jpgIMG_20160414_210839.jpgIMG_20160414_223723.jpg

После пары вечеров с дрелью и шуруповертом в руках - ящик начал обретать очертания гроу-бокса.
1)Врезал замок.
2)Установил дверь на петли.
3)Пропитал стенки бокса льнянкой(которые не из ЛДСП ny_icon_wink.gif )
4)Нашел ножки от мебели и бокс внезапно вырос на 10см ny_icon_pray.gif 
5)Проклеил периметр двери - резинкой уплотнителем.
6)Врезал вент фурнитуру на приток воздуха и установил вентилятор Домовент 100с на вятыжку в крышке бокса (наверное самый дешевый, но какой был ny_icon_hmm.gif ).
7)Насверлил еще дырок через которые завел питание на LED/вентилятор/датчик температуры и даже компрессор ny_icon_brow.gif 
ny_icon_cool.gifПокрасил изнутри в два слоя водоэмульсионкой белой матовой.
Собрал! Запустил! Работает!

IMG_20160428_211751.jpgIMG_20160428_211828.jpg

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


После многих бессонных ночей всё-же кое-что удалось сделать. 
В проэкте приняли участие:
1) Модуль на 4 синих реле. 12V 4 Channel Relay Module with Optocoupler PIC/AVR/51/ARM for Arduino Single Chip
2) Arduino Nano
3) Макетная плата.
4) Пучок проводов для макетки.
5) Часы реального времени. RTC DS3231 AT24C32 IIC
6) Двострочный дисплей LCD module Blue screen IIC/I2C for arduino 1602
7) Датчик температуры и влажности DHT11.

hm6zJDIFvmI.jpg
Разумеется назвать это автоматизацией очень сложно, но можно сказать, что это небольшой шажек в ее сторону ny_icon_smoke.gif 
В целом я получил желаемое. Но есть минусы:
1) Для перенастройки светового режима/включения выключения разных модулей нужно было каждый раз снимать дуину и заливать в неё новый скетч.
2) Громоздкость конструкции и не лаконичный дизайн ny_icon_rasta.gif 
3) Провода со всех сторон, всё торчит, капец ny_icon_facepalm.gif 

IMG_20160502_231539.jpg

UPD 23.12.2016
Освещение:

Изначально для освещения из китайчика была заказана ЛЕД фуллспектр матрица 50W с галимейшим драйвером(по сей день реальную мощность не проверял)
Покопавшись в ящиках нашел радиатор с кулером от проца, засверлил в нем дырки и усадил туда матрицу через термопасту. Потом еще установил рассеиватель с линзой.
По бокам к радиатору прикрутил по куску алюм. уголка с двумя дырочками, через которые проходит трос в силиконовой оплетке(для регулировки высоты лампы).
При первом же попытке грова, сжег растихи светом... Они аж фиалетовые стали  С тех пор рассеиватель с линзой не использую  
_77I11-8cnU.jpg

В целом первый удачный гров и с ней прошел хорошо, но начитавшись литературы решено было на досвет поставить обычные LED лампы LED ЛАМПА MAXUS A65 12W ТЕПЛЫЙ СВЕТ E27.
Через неопределенное время были приобретены 7 ламп из них было установлено всего 4 и этого мне показалось более чем достаточно+одна из целей которых я хотел бы достичь это энергоэффиктивность и экономичность.
Лампы себя более чем оправдали и следущий гров прошел только на них (фоток увы нет). На тот момент была гидра и выполнял рекомендации по теме "удобное ведро" и подрезку тоже выполнил по теме. Основную колу удалил, оставил 4 которые растянул и потом они так тянулись к свету, а я их так поворачивал - что ветки зигой закрутились, но сейчас не об этом  

Всего 2 линии освещения:
1) Fullspectr 50w
2) 4xLED MAXUS A65 12W=48w


Бокс
По гроубоксу доработок практически никаких, немного подправил и доработал код ардуины:
1) Если температура в боксе больше 26, то включается вытяжной вентилятор и работает до тех пор пока температура не станет 24 или меньше градусов.
2) Каждый час включается вытяжной вентилятор на 3 минуты, для смены воздуха в боксе(по моим расчетам этого должно быть достаточно).
3) Установлен 12В кулер на внутренний обдув.
4) Избавился от мелких блоков питания и подключил питание бокса через БП от компа(с моей точки зрения они довольно надежны, тк есть защита от перегрева/короткого и тд.)
5) Установил ИБП от компа( хватит не надолго но хватит), что дало некую автономность, хотя перебоев с электроэнергией не бывает.

На текущий момент бокс выглядит как-то так:
MPDOUhZuvZI.jpgb0m_JvZHJiw.jpg

Затраты:
Ящик - 0$
LED FS 50W+driver - 17.50$
LED Maxus 12W 2600K - 4x2.80=11.2$
Вентилятор вытяжной - 0$
Радиатор+кулер для LED - 0$
Трос в силиконовой оплетке - 2$
Arduino Nano+модули ~ 15$
БП от компа - 0$
Удлинитель 1.6м 5 разьемов - 2$
Ручка+ножки+замок+петли - 0$
Некая фурнитура для организации притока/оттока воздуха 8$

Итого: 55.7$ Что довольно таки бюджетно


Планы на будущее:
1) Запихнуть начинку и максимум проводов в красивый ящик для автоматов.
2) Собрать эту же схему только на твердотельных реле и с дисплеем побольше.
3) В идеале сделать управление настройками бокса динамическими, с помощью веб-интерфейса или на худой конец с помощью энкодера (но от этого всего я довольно далек...)

 

Эту же тему веду на олк

Продолжение следует... Или нет... До конца еще сам не знаю) Спасибо за внимание! По мере доработок, тема будет обновляться.

Мой текущий скетч(переход через сутки выполнен своеобразно, но по другому не смог))

Last_scetch14.12.16.ino

 

 

#include <Wire.h>
#include <SPI.h>
#include <LiquidCrystal_I2C.h>
#include <DHT.h>
#include <RTC.h>
#include <dht11.h>
#include <config.h>
#include <ds3231.h>


RTC  time;

#define DHT11_PIN1 2 // Внутр. датчик влажности/температуры 2

DHT dht(2, DHT11);
LiquidCrystal_I2C lcd(0x27,16,2);   // Задаем адрес и размерность дисплея
///////////////////////////////////////////////////////////
int h; //Установленное время часы
int m;//Установленное время минуты
int s;//Установленное время секунды
int tmp_h;
int tmp_m;
int tmp_s;
int maxT=27; //Максимальная температура до ВКЛ. вытяжки
int minT=25; //Температура ВЫКЛ. вытяжки
int ventOnMin=0; //Время ВКЛ. вытяжки
int ventOffMin=4; //Время ВЫКЛ. вытяжки
int TimeOnHour=17;  //Время ВКЛ. LED
int TimeOffHour=9; //Время ВЫКЛ. LED
int TimeOnMin=0;
int TimeOffMin=0;
/////////////////////////Пины реле//////////////////////////////////
int FS = 6; //реле 1
int vent = 5; //реле 2
int led = 4; //реле 3
///////////////////////////////////////////////////////////
byte degree[8] =         // Битовая маска символа градуса
{
  B00111,
  B00101,
  B00111,
  B00000,
  B00000,
  B00000,
  B00000,
};
////////////////////////////////////////////////////////////
void setup() {
  // Start the I2C interface
Wire.begin();
Serial.begin(9600); // Start the serial interface
  while (!Serial) ; // wait for serial
  time.begin(RTC_DS3231);
  lcd.init();                       // Инициализация lcd            
  lcd.backlight();                  // Включаем подсветку
  lcd.createChar(1, degree);        // Создаем символ под номером 1
  pinMode(FS, OUTPUT); 
  digitalWrite(FS, HIGH);
//  pinMode(led, OUTPUT); 
//  digitalWrite(led, HIGH);
  pinMode(vent, OUTPUT); 
  digitalWrite(vent, HIGH);
  
//time.settime(30,3,23,7,12,16,3); // 30  сек, 3 мин, 23 час, 7, декабря, 2016 года, среда
}

void loop() {
  delay(1000);
  // Reading temperature or humidity takes about 250 milliseconds!
  // Sensor readings may also be up to 2 seconds 'old' (its a very slow sensor)
  // Read temperature as Celsius
   int t = dht.readTemperature();
   int h = dht.readHumidity();
  tmp_h=time.Hours;
  tmp_m=time.minutes;
  tmp_s=time.seconds;
///////////////////////////
  lcd.setCursor(0, 0);              // Устанавливаем курсор в начало 2 строки
  lcd.print(time.gettime("H:i:s  D"));
  lcd.setCursor(0, 1);              // Устанавливаем курсор в начало 2 строки
  lcd.print("Temp=  \1");    // Выводим текст, \1 - значок градуса
  lcd.setCursor(5, 1);            
  lcd.print(t);  
  lcd.setCursor(9, 1);
  lcd.print("Hum=  %");
  lcd.setCursor(13, 1);
  lcd.print(h);
 
//  lcd.clear();                      // Очистка экрана
////////////////////////////
 
    Serial.println(t);
    Serial.println(time.gettime("d-m-Y, H:i:s, D")); // выводим время
  if ((tmp_h >= TimeOnHour && tmp_h <= 23)||(tmp_h >= 0 && tmp_h < TimeOffHour))
        {digitalWrite(FS, LOW);}
    //     digitalWrite(led, LOW);}
  else 
        {digitalWrite(FS, HIGH);}
    //     digitalWrite(led, HIGH);}; //В другом случае - всегда выключено
 
  if (t >= maxT or (tmp_m >= ventOnMin and tmp_m < ventOffMin))  //Если Т>МаксТ включаем
   {digitalWrite(vent, LOW);}  //Включаем по расписанию
  else if (t <= minT and tmp_m >= ventOffMin)  //Если Т<МинТ выключаем
    {digitalWrite(vent, HIGH);}
  
delay(1);
}

 

2

Поделиться этим сообщением


Ссылка на сообщение
Поделиться на других сайтах

Бро,  давай фотки крепи нормально,  а то так весь интерес пропадает. 

У самого головняк, хочу второй маленький бокс для месяца веги хотя-бы. 

 

0

Поделиться этим сообщением


Ссылка на сообщение
Поделиться на других сайтах
12 часов назад, Goanick сказал:

Бро,  давай фотки крепи нормально,  а то так весь интерес пропадает. 

У самого головняк, хочу второй маленький бокс для месяца веги хотя-бы. 

 

Исправил) Вчера не успевал, сегодня закончил.

0

Поделиться этим сообщением


Ссылка на сообщение
Поделиться на других сайтах

Искренне завидую людям с прямыми руками. 

Ровного грова! 

0

Поделиться этим сообщением


Ссылка на сообщение
Поделиться на других сайтах

Спасибо бро!

0

Поделиться этим сообщением


Ссылка на сообщение
Поделиться на других сайтах
В 23.12.2016 в 02:44, Muko сказал:

Arduino Nano+модули ~ 15$

всё же цифровой таймер Feron за 8-9$ был бы получше и удобнее в разы, а ещё он готов к работе как только ты достал его из упаковки, перенастраивается за секунды буквально с помощью 2-3 кнопок.

0

Поделиться этим сообщением


Ссылка на сообщение
Поделиться на других сайтах
51 минуту назад, crossroad90 сказал:

 

В 12/23/2016 в 00:44, Muko сказал:

Arduino Nano+модули ~ 15$

всё же цифровой таймер Feron за 8-9$ был бы получше и удобнее в разы, а ещё он готов к работе как только ты достал его из упаковки, перенастраивается за секунды буквально с помощью 2-3 кнопок.

 

бро так с Arduino не только свет включается, там Влажность воздуха Температура до полива растении можно.

давно интересуюсь но как-то руки не доходят

 

0

Поделиться этим сообщением


Ссылка на сообщение
Поделиться на других сайтах

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

0

Поделиться этим сообщением


Ссылка на сообщение
Поделиться на других сайтах
1 минуту назад, crossroad90 сказал:

вижу только что показывает влажность и темпу, а вот контролирует ли... 

про темпу пишет

 

В 12/23/2016 в 00:44, Muko сказал:

1) Если температура в боксе больше 26, то включается вытяжной вентилятор и работает до тех пор пока температура не станет 24 или меньше градусов.

 

0

Поделиться этим сообщением


Ссылка на сообщение
Поделиться на других сайтах

@crossroad90 и прочитв,Насколько я понял,все в будущем

В 12/23/2016 в 00:44, Muko сказал:

Планы на будущее:
1) Запихнуть начинку и максимум проводов в красивый ящик для автоматов.
2) Собрать эту же схему только на твердотельных реле и с дисплеем побольше.
3) В идеале сделать управление настройками бокса динамическими, с помощью веб-интерфейса или на худой конец с помощью энкодера (но от этого всего я довольно далек...)

 

0

Поделиться этим сообщением


Ссылка на сообщение
Поделиться на других сайтах
59 минут назад, crossroad90 сказал:

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

Влажность не вижу смысла контролировать, так как и так всё норм растет) А в самом начале веги под стаканчиками парничек. По сути сейчас это часы, термо-временное реле. Еще одно время ардуина вела лог температур/влажности каждый час с записью на карту памяти, но отпала всяческая надобность.

0

Поделиться этим сообщением


Ссылка на сообщение
Поделиться на других сайтах
53 минуты назад, Muko сказал:

Еще одно время ардуина вела лог температур/влажности каждый час с записью на карту памяти, но отпала всяческая надобность.

 

55 минут назад, Muko сказал:

По сути сейчас это часы

Ну тогда и я не вижу смысла  Arduino если ты использоваеш его только как таймер .нафиг

Другое дело, если ты хотел бы бокс автоматизировать .а так :facepalm:

0

Поделиться этим сообщением


Ссылка на сообщение
Поделиться на других сайтах

Так и хочу) Но пока всё собрано на таком этапе и жду компоненты для сборки v2.0 )) То жители бокса не обрадуются отсутствию освещения на пару недель))

0

Поделиться этим сообщением


Ссылка на сообщение
Поделиться на других сайтах