Polecane Sklepy

HEMP.pl - growboxy, lampy, nawozy do uprawy roślin

nasiona marihuany

 
 
 
 

TEMAT: Arduino + Grow Box = spokojna głowa gdy nie ma cię na miejscu.

Arduino + Grow Box = spokojna głowa gdy nie ma cię na miejscu. 9 lata 4 miesiąc temu #1

  • leszczu
  • leszczu Avatar
  • Offline
  • ... na wacie
  • Posty: 14
  • Zebranych lumenów: 24
Chciałbym podzielić się z wami moim projektem kontrolera do grow boxa zrealizowanym na bazie platformy Arduino Yun ( arduino.cc/en/Main/ArduinoBoardYun ).
Na wstępie zaznaczę że nie polecam brania się za bary z Arduino Yun osobom które nie mają chociaż podstawowej wiedzy z zakresu elektroniki, linuxa oraz programowania.
Jednak ja sam nie uważam się ani za elektronika ani za programistę, a udało mi się w miarę bezboleśnie zmontować projekt o którym wam piszę.
Podstawowym założeniem jakie mi przyświecało było po pierwsze maksymalne zautomatyzowanie uprawy, a po drugie możliwość zdalnego monitorowania co się dzieje w boxie gdy nie ma mnie na miejscu dłuższy czas.
Zaprogramowana logika działania urządzeń jest dość specyficzna i być może nie u wszystkich się sprawdzi.
Ale do rzeczy. Do budowy użyłem Arduino Yun, które jest połączeniem zwykłego arduino (bazuje na modelu Leonardo) oraz osobnego chipa na którym działa dystrybucja linuxa openwrt. Posiada ono wbudowane wifi, czytnik kart microSD oraz port USB host.
Czujniki użyte w projekcie:
DHT22 - cyfrowy czujnik temperatury i wilgotności, mierzy warunki panujące wewnątrz boxa (tańszy model DHT11 też się dobrze sprawdzi)
LM35 - analogowy czujnik temperatury na zewnątrz boxa. Na dobrą sprawę jest to element opcjonalny ale miałem pod ręką więc użyłem
Sonda wilgotności gleby ( botland.com.pl/czujniki-wilgotnosci/1588-czujnik-wilgotnosci-gleby.html ) - wtykasz toto na stałe do doniczki i wiesz kiedy roślinkę trzeba podlać bez brudzenia paluchów ;) I tu odrazu zaznaczę, że oryginalne elektrody uległy bardzo szybko utlenieniu,
więc musiałem wstawić jakieś blaszki w ich miejsce. Ale wtedy jeszcze sonda pracowała w trybie ciągłym, teraz włączam ją tylko na moment wykonania pomiaru, więc żywotność elektrod powinna być dużo dłuższa.
fotorezystor GL5537-1 - dzięki niemu automatyka wie czy w boxie jest dzień czy noc.
I tu odrazu zaznaczę iż z pewnych względów nie powierzyłem funkcji sterowania światłem mojemu układowi. Wolałem aby osobny dedykowany włącznik czasowy się tym zajął.
Oczywiście nie byłoby najmniejszego problemu z zaimplementowaniem tego w Arduino, ale skoro miałem już u siebie fotoperiod cyfrowy z bateryjnym podtrzymaniem (arduino nie posiada bateryjki do podtrzymania zegara, aczkolwiek można dokupić osobny moduł RTC)więc po prostu go zostawiłem do sterowania światłem, a arduino zajmuje się resztą spraw. Jednakże zaimplementowałem opcję wyłączenia światła przez arduino np. na wypadek awarii wentylacji lub gdy chcę dyskretnie zajrzeć do boxa w czasie fazy jasnej.
Przekaźnik w obwodzie oświetlenia jest wpięty tak, że przy braku sygnału sterującego, obwód jest domyślnie zamknięty i światłem steruje fotoperiod.

Elementy wykonawcze użyte w projekcie:
Czterokanałowy moduł przekaźników 5V (botland.com.pl/przekazniki/1998-czterokanalowy-modul-przekaznika-rm4-5v-10a125vac.html) - steruje włączaniem urządzeń 230V (nawilżacz, pompa, oświetlenie)
2x komputerowy wiatrak 12V 120mm 3pin - wiadomo, wentylacja. Jeden wlotowy, drugi wylotowy.

Trochę o logice działania:
U podstaw całego projektu leżał fakt że box ma działać jak najciszej, czyli minimalne obroty wentów, a gdy nie trzeba całkiem wyłączone.
Jeśli czujnik oświetlenia wykryje że jest faza jasna, włącza wentylację. Wentylatory normalnie działają na najniższych możliwych obrotach, dopiero gdy temperatura przekroczy zdefiniowany próg
załącza się drugi bieg wentów. Sterowanie obrotami zrealizowałem przy pomocy 4 potencjometrów. Osobno dla niskich i wysokich obrotów każdego wenta ponieważ mam 2 różne modele.
Spokojnie wystarczyłoby też sterowanie z użyciem dwóch potencjometrów wspólnych dla obu wentów. Oczywiście dałoby się też zrobić sterowanie cyfrowe obrotami sygnałem PWM, ale z pewnych względów wybrałem analogową opcję.
Kontroler działa w 2 trybach weg / flo. W trybie weg włącza nawilżacz jeśli wilgotność spada poniżej zdefiniowanego poziomu. W trybie flo włącza w nocy wenty jeśli wilgotność przekroczy zdefiniowany próg.
Podlewanie jest inicjowane przez linuxa o określonej porze (wpis w cronie). Jednak zanim zostaje włączona pompa sprawdzana jest wilgotność gleby i tylko poniżej zdefiniowanego poziomu wilgotności gleby
podlewanie jest zrealizowane. Tu nadmienię iż zakładam zbliżone zapotrzebowanie na wodę w różnych doniczkach przy takiej samej ich wielkości, więc na podstawie wyników jednej wybranej podlewam wszystkie.
Podlewanie trwa przez czas zdefiniowany w odpowiednim parametrze, po czym pompa jest wyłączana.

Arduino oprócz sterowania elementami wykonawczymi nasłuchuje poleceń ze strony linuxa i na ich podstawie podejmuje stosowne działania jak np. uruchomienie podlewania lub tylko zwraca wartości parametrów o które jest pytane.
Komunikacja odbywa się w formacie REST poprzez odpowiednio sformatowane urle.
Zaimplementowałem 3 typy polecen:
-https://adresIPkontrolera/arduino/get/nazwaparametru -zwraca wartość parametru z urla
-https://adresIPkontrolera/arduino/set/nazwaparametru/wartość -ustawia wartośc parametru, parametry zapisuję do pamieci eeprom więc przeżywają reset układu
-https://adresIPkontrolera/arduino/polecenie -wykonuje akcję zdefiniowaną dla danego polecenia
Po szczegóły obsługiwanych parametrów zapraszam do lektury załączonego kodu.
Oczywiście na wbudowanym serwerku http ustawiłem autoryzacje hasłem.

Wbudowany serwerek http serwuje również stronkę dynamiczną z odczytem stanu czujnikow na żywo ( https://adresIPkontrolera/sd/ ). Wszystkie pliki trzymam na karcie pamięci SD w arduino. Jest też fajny bonus - na stronce wyświetlany jest screenshot z kamerki internetowej którą podłączyłem do portu usb arduino.
Robienie zdjęć z kamerki inicjuję z crona (przykładowe polecenie w załączonych plikach). Kamerka musi być być typu "Universal Video Class (UVC) device" żeby bez problemów ją ogarnąć pod linuchem. (polecam artykul: learn.adafruit.com/wireless-security-camera-arduino-yun/setting-up-your-arduino-yun)
Stronka statusu jest raczej surowa w wyglądzie ale podstawowe info jak temperatura, wilgotność, wilgoć gleby, obroty wentów są pokazane i na bieżąco odświeżane.
Mam w necie postawiony serwer monitoringu zabbix (www.zabbix.com), ktory łączy się z klientem zabbixa działającym na części linuksowej arduino i zbiera dane przy pomocy CURLa poprzez zapytania http do mikrokontrolera (konieczna instalacja paczki zabbix-agentd)
Historia wartości jest pamiętana i ładne wykresy można sobie wyświetlać.

Można też ustawić w zabbixie alerty, gdy któryś z odczytywanych parametrów wychodzi poza akceptowalny zakres. Ja wysyłam je sobie na maila.
W załączonych plikach znajduje się export przykładowych definicji obiektów dla serwera zabbix oraz konfig agenta na arduino.

Cały układ zasilam z 2 osobnych zasilaczy: 12V(wiatraki) oraz 5V(cała reszta).

Załączony kod jeszcze nie był testowany "produkcyjnie", więc nie gwarantuje, że nie ma jakiś błędów w logice działania.
Pierwszą uprawę wykonałem na innym kodzie, a układ był inaczej zbudowany.

Poniżej zdjęcia gotowego układu zbudowanego na płytce protoshield do arduino. Przy okazji uwaga - Yun ma bardzo wysokie gniazda złączy LAN i USB które dotykają płytki montażowej. Lepiej nie lutować nic ponad nimi. Szczyt USB musiałem odizolować, aby nie dotykał ścieżek na płytce powyżej.
Ważne jest też odizolowanie elektryczne obudów tranzystorów od radiatora gdyż ich kolektory pracują w różnych obwodach.
Czujniki, wenty, przekaźniki są podłączane osobno na wlutowanych złączach goldpin.




---
Pozdro dla majsterkowiczów! ;)
Załączniki:
Ostatnio zmieniany: 9 lata 4 miesiąc temu przez leszczu. Powód: dodany załącznik
Administrator wyłączył możliwość publicznego pisania postów.

 
 
 

Arduino + Grow Box = spokojna głowa gdy nie ma cię na miejscu. 9 lata 4 miesiąc temu #2

  • leszczu
  • leszczu Avatar
  • Offline
  • ... na wacie
  • Posty: 14
  • Zebranych lumenów: 24
Jeszcze schemat w pdf (jeśli przejdzie bo spory)
Załączniki:
Ostatnio zmieniany: 9 lata 4 miesiąc temu przez leszczu.
Administrator wyłączył możliwość publicznego pisania postów.

Arduino + Grow Box = spokojna głowa gdy nie ma cię na miejscu. 9 lata 4 miesiąc temu #3

  • DIESEL
  • DIESEL Avatar
  • Offline
  • ... oblany żywicą
  • naturalnie
  • Posty: 3534
  • Zebranych lumenów: 7798
  •  

  •  

Szkoda ze to taka czarna magia :huh:
Poskladac to by poskladal ale reszta nawet po Twoim opisie nic mi nie mowi ;)
ale zabaweczka fajna :)
Administrator wyłączył możliwość publicznego pisania postów.

 

Arduino + Grow Box = spokojna głowa gdy nie ma cię na miejscu. 9 lata 4 miesiąc temu #4

  • KLICZKO
  • KLICZKO Avatar
  • Offline
  • ... oblany żywicą
  • Posty: 2956
  • Zebranych lumenów: 5275
  •  

  •  

Ja chce coś takiego!!!
jakie koszta? Jak dupy nie urywa to zamawiam!!!!
:D :D :D :D :D :D :D :D :D :D
pozdrawiam
Jebać "kolegów" w tym hobby trzeba być samotnikiem...

WODA JEST MAGICZNA...
Administrator wyłączył możliwość publicznego pisania postów.

Arduino + Grow Box = spokojna głowa gdy nie ma cię na miejscu. 9 lata 4 miesiąc temu #5

  • leszczu
  • leszczu Avatar
  • Offline
  • ... na wacie
  • Posty: 14
  • Zebranych lumenów: 24
Koszty trudno mi dokładnie szacować, bo część elementów (w tym zasilacze i wiatraki) po prostu miałem u siebie, a inne wymontowałem z jakiś popsutych sprzętów.
Ale samo arduino Yun to 290pln, do tego płytka montażowa, czujniki, styczniki i elektroniczne elementy to jakieś dodatkowe kilkadziesiąt złotych. Kamerka Creative Live! Cam Sync HD - 55pln.

Jak widać super tani ten projekt nie był, no i przede wszystkim naprawdę sporo czasu pochłonęło zaprojektowanie, zbudowanie i oprogramowanie tego, gdyż była to moja pierwsza styczność z arduino i wielu rzeczy się musiałem nauczyć po drodze.
Ale fakt, że wszystko można zrobić dokładnie pod siebie i gdy odpalasz potem stronkę uprawy na smartfoniku i widzisz że wszystko jest w porządku - bezcenne ;)
Administrator wyłączył możliwość publicznego pisania postów.
Otrzymany Lumen od: Golas, KLICZKO

Arduino + Grow Box = spokojna głowa gdy nie ma cię na miejscu. 9 lata 4 miesiąc temu #6

  • Golas
  • Golas Avatar
  • Offline
  • Indoor Killer
  • Peace & Love !
  • Posty: 7701
  • Zebranych lumenów: 8099
  •  

  •  

Szacunek za chęci ! :)
Podziwiam ludzi, którzy nie idą na skróty ...
Najbardziej na świecie cieszą rzeczy wykonane przez nas samych. ;)

Wielkie Gratki ! :rolling:

Pozdro B)
G.
Żyjemy aby Doświadczać !
Żyj z całych sił i uśmiechaj się do ludzi, bo nie jesteś Sam !
Rośliny to nie maszyny !
Administrator wyłączył możliwość publicznego pisania postów.

Arduino + Grow Box = spokojna głowa gdy nie ma cię na miejscu. 9 lata 3 miesiąc temu #7

  • wygadany puchacz
  • wygadany puchacz Avatar
  • Offline
  • ... kiełkujący
  • Posty: 98
  • Zebranych lumenów: 213
  •  

  •  

Miodnie, że udostępniłeś kod źródłowy!

Pzdr!
Administrator wyłączył możliwość publicznego pisania postów.
Moderatorzy: AS

Polecane Sklepy

HEMP.pl - growboxy, lampy, nawozy do uprawy roślin

Nasiona Marihuany