Inteligentný skleník

From Digitálne technológie výroby
Jump to: navigation, search

Ako študentka som si na internáte pestovala svoje vlastné bylinky. Keďže ale niekedy na internátoch dlhšiu dobu so spolubývajúcimi nie sme, rastlinky niekedy vyschnú. Preto som sa rozhodla vytvoriť si inteligentný skleník, ktorý bude obsahovať automatické zalievanie, vetranie a vyhrievanie, aby som sa mohla spoľahnúť, že rastlinky prežijú aj bez mojej prítomnosti.

Súčiastky

Na tvorbu vlastného inteligentného skleníka potrebujeme:

  • Drevený rám
  • Fóliové tabule
  • Arduino
  • Breadboard
  • Arduino nano micro sensor shield
  • Senzor vlhkosti pôdy
  • Arduino Relay
  • Baterka 9V + držiak na baterku
  • Vodná pumpa
  • Hadička ku pumpe
  • Senzor teploty vzduchu
  • 2xContinuous servo
  • Rezistor
  • Kábliky na prepojenie podľa potreby

Všetky súbory a zdrojové kódy nájdete v gitlab repozitáry: https://github.com/15ajka/Inteligentny_sklenik.git. Obrázky konkrétnych senzorov a pumpy, ktoré som použila ja, vidíte na obrázkoch. Podľa nich je možné na internete nájsť ďalšie postupy, videá zapojenia a kódy v prípade rozširovania projektu.

  • Teplomer
  • Senzor vlhkosti pôdy
  • Vodná pumpa
  • Postup

    V tejto časti uvedieme kompletný postup postavenia inteligentného skleníka od začiatku až po finálne ukončenie. Časti, ktoré nie sú do detailu popísané odporúčam si vyskúšať s svojpomocne (a s pomocou internetu), aby ste sa zoznámili s jednotlivými súčiastkami a ich kódmi.

    Postup skladania kostry

    Na začiatku je potrebné navrhnúť jednotlivé časti skleníka. Môj návrh si môžete stiahnuť na stránke https://github.com/15ajka/Inteligentny_sklenik/blob/master/sklennik_plan.cdr. V prípade potreby je možné veľkosti skleníka jednoducho upraviť zmenou rozmerov jednotlivých komponentov. Treba si dať pozor na to, že bočné zúbky musia byť prispôsobené hrúbke materiálu. Tento 2D model sme následne vyrezali z 8mm hrubej drevenej dosky, pomocou laseru. Výsledné jednotlivé časti môžeme vidieť na obrázku.

  • Jednotlivé časti
  • Keďže strecha (ako vidieť na ďalšom obrázku) nedosadala na steny skleníka, bolo potrebné zrezať/zbrúsiť hrany. Ja som použila brúsku a po zbrúsení strecha doľahla ku stenám, ako je vidno na strednom obrázku. Taktiež sme zbrúsili presahujúcu časť strechy, aby pánty zasadli k jednotlivým častiam. Do zadnej steny skleníka som navŕtala otvory na hadičku pumpy, senzor teploty, vlhkosti a na servá. Tento krok je možné urobiť už pri laserovom rezaní. Keďže som ale ešte nevedela, ako čo zapojím, rozhodla som sa to riešiť dodatočne vyrezaním vŕtačkou. Následne sme 4 pántami (2 na každej strane) pripevnili strechu. V prípade, že sa strecha po upevnení pantov bude vzpriečať a nebude úplne dosadať, odporúčam uvoľniť šrúbky v pántoch. V mojom prípade to problém vyriešilo. Keď máme všetky časti hotové, možme celý skleník zložiť. Keďže po zložení skleníka steny nedostatočne držali pokope, rozhodla som do spojov pridať lepidlo. Skleník v procese lepenia vidíme na obrázku vpravo.

  • Nedosadajúca strecha
  • Dosadajúca strecha
  • Zlepená kostra
  • Zapojenie

    Keď máme pripravenú kostru, v ďalšom kroku je potrebné zapojiť elektronické súčiastky. Odporúčam si najprv zapojiť a otestovať každú súčiastku zvlášť, aby sa predišlo zbytočným zdĺhavým hľadaniam chýb v spleti zapojenia. Najprv podľa pokynov zvoleného shield-u pripojíme Arduino Nano. Ja som sa riadila názvami jednotlivých pinov na Arduine a názvami dutiniek na shield-e. Následne som pripojila jednotlivé súčiastky.

    Senzor vlhkosti

    Na senzore vlhkosti potrebujeme pripojiť 3 kábliky. Prvý je VCC (modrý), ktorý pripojíme na 5V pin Arduina. Druhý je GND (čierny), ktorý zapojíme na GND pinu Arduina. Posledný je analógový výstup, AO (biely), ktorý zapojíme na pin A0, vďaka čomu budeme môcť merať rôzne hodnoty vlhkosti. Konkrétne zapojenie môžete vidieť na obrázkoch.

  • Zapojenie senzoru vlhkosti - senzor
  • Zapojenie senzoru vlhkosti - Arduino
  • Vodná pumpa

    Ku pumpe sme rovnako zapojili plavák - senzor, ktorý určuje, či je v pohári voda. V prípade, že by v pohári voda nebola a pumpa by sa zapla, pumpa by sa mohla pokaziť. Plavák má 2 kábliky. Jeden sme pripájkovali na kladný káblik (červený) pumpy a druhý nechali voľný. Keďže bolo zapojenie pumpy do relé zložitejšie a nebolo by z fotiek jasné, prikladám použitú schému. V našom prípade je pumpa v schéme AC BULB a jej kladný koniec je káblik, ktorý je pripojený na plavák. Rovnako vidíme AC+ a AC-, čo je kladný a záporný káblik 9V baterky, ktorú bolo nutné pripojiť, keďže 5V Arduina nestačilo na poháňanie pumpy.

  • Schéma zapojenia relé a pumpy
  • Senzor teploty vzduchu

    Na senzore teploty potrebujeme pripojiť opäť 3 kábliky. Prvý je GND (čierny), ktorý zapojíme na GND pin Arduina. Druhý je VCC (červený), ktorý pripojíme na do Breadboardu, ktorý bude prepojený s 5V pinom Arduina. Posledný je výstup (žltý/biely), ktorý zapojíme do Breadboardu a prepojíme s pinom D2 Arduina, vďaka čomu budeme môcť merať teplotu vzduchu. Do Bradboardu zapojíme medzi VCC a výstup rezistor (ukážka na obrázku).

  • Zapojenie senzoru teploty vzduchu - senzor
  • Zapojenie senzoru teploty vzduchu - Breadboard
  • Zapojenie senzoru teploty vzduchu - Arduino
  • Arduino continuous servo

    Zapojenie serva je jednoduché. GND (hnedý) káblik zapojíme na GND pin Arduina. VCC (červený) káblik zapojíme na 5V pin Arduina a výstup (oranžový) na vybraný digitálny pin Arduina(v našom prípade pin D4 pre jeden motor a D6 pre druhý motor).

  • Zapojenie serva - servo
  • Zapojenie serva - Arduino
  • Kód

    Celý hotový kód pre skleník nájdete na odkaze https://github.com/15ajka/Inteligentny_sklenik/blob/master/SKLENIK.ino . Pred využitím samotného kódu si odporúčam odskúšať fungovanie jednotlivých senzorov a zariadení pre zoznámenie sa s ich fungovaním, keďže je v kóde nutné vytvárať isté zmeny. Veľmi užitočný je skript continuous.ino (nájdete ho v repozitáry), pomocou ktorého sa celkom ľahko dajú nakalibrovať servá. Pred použitím samotného kódu je tiež potrebné stiahnuť a pridať do Arduina knižnice pre využívanie teplomeru. Tieto knižnice nájdete popísané a priložené na stránke https://create.arduino.cc/projecthub/TheGadgetBoy/ds18b20-digital-temperature-sensor-and-arduino-9cc806#toc-step-3--libraries-2 aj s popisom ako ich pridať do Arduina. Niektoré hodnoty sú závislé od konkrétnej súčiastky a je potrebné ich preto upraviť podľa hodnôt, ktoré vykazujú konkrétne senzory. Všetky potrebné zmeny sú popísané v kóde. Sú to hraničné hodnoty senzoru vlhkosti a taktiež časi a rýchlosti otáčania serva.

    Otváranie strechy

    Keďže servo, ktoré sme mali k dispozícii nebolo dostatočne silné nato, aby strechy ťahalo zdola, bolo potrebné dať servo dostatočne vysoko nato, aby otváranie striech bolo čo najjednoduchšie. Preto sme ku sklenníku pristavili 2 vežičky. Dizajn veže je čisto estetický, servá je v prípade potreby zdvíhania do danej výšky možné upevniť ľubovoľným spôsobom. Keď sa servá budú otáčať, budú navíjať špagát, a tak otvárať/zatvárať strechu. Príklad našeho upevnenia vidíte na obrázku nižšie.

  • Vnútro motoru
  • Zapojené motory
  • Poskladanie jednotlivých častí

    Keď máme hotovú kostru a pripojené servá, je potrebné doskladať ostatné časti. Najprv napojíme trubičku na pumpu a uzavrieme koniec trubičky, napríklad pomocou tavnej pištole. Dáme do skleníku kvetináče a cez otvor prevlečieme dovnútra trubičku, ktorú pripevníme do kvetináčov pomocou drôtených držiakov. Potom do trubičky narobíme potrebné množstvo dierok na zalievanie. Pri plaváku sme mali problém, že pri voľnom pohybe v nádobe sa zasekával a neurčoval presne, či je v nádobe dosť vody. Preto sme ho pripevnili k spodku nádoby drôtom. Na záver sme pripevnili senzor teploty vzduchu do skleníku k stene a senzor vlhkosti pôdy do kvetináča a káble sme vyviedli cez diery. Všetko sme pozapájali a kód odladili. Potom sme na všetky steny prilepili fólie. Na záver sme vytvorili skleníku drevenú podložku. Keďže sme vopred nevedeli ako bude vyzerať, vyrezali a zošrubovali sme ju doma z preglejky. Odporúčam v prípade opakovania tohto projektu navrhnúť spodok skleníka vopred a taktiež vyrezať laserom, určite by to zjednodušilo prácu. Ako čerešničku na torte sme na pred skleníka pripevnili drevený gravírovaný štít. Po tomto kroku sme už mohli z radosťou skúšať a využívať náš skleník.

    Káble a Arduino budú dodatočne uzavreté do drevenej krabičky, aby nenastal problém pri náhodnom špliechaní vody a aby lepšie vyzerali.

    Fungovanie

    Máme pred sebou hotový produkt, inteligentný skleník, ktorý vaše rastlinky nenechá len tak umrieť a prinesie im ideálne podmienky pre život. Skleník je vybavený dvoma hlavnými funkcionalitami. Prvou je automatické vetranie. V prípade, že teplota v skleníku presiahne 27°C, skleník sa sám otvorí a bude sa vetrať, kým teplota neklesne pod 26.9°C, kedy sa sám zavrie. Druhou funkcionalitou je automatické zalievanie. Systém celý čas sleduje vlhkosť pôdy rastliniek. V prípade, že vlhkosť klesne pod 50%, Arduino rastlinky pumpou zalieva, až kým vlhkosť opäť nevzrastie nad 50%. V prípade, že sa v nádobe minie voda, pumpa sa nezapne, aby sa nepokazila. Taktiež je možné na výstupe Arduina celú dobu sledovať vlhkosť v kvetináči a telotu vzduchu. S týmto skleníkom sa už nemusíte báť nechať svoje rastlinky samé počas letných, či vianočných prázdnin.

    Video

    V nasledujúcich videách môžete vidieť pohľad na detaily skleníku a jeho fungovanie. Keďže sme potrebovali pre ukážku meniť teplotu a vlhkosť, fólie sme nalepili až po natočení ukážky.

    Celý skleník môžete vidieť na videu:

    Fungovanie jednotlivých prvkov ukazujem na videu:

    Projekt bude ešte vylepšovaný, pre záujem sledujte aktualizáciu tejto stránky. V prípade akýchkoľvek otázok ma môžete kontaktovať na emailovej adrese: angelikafedakova@gmail.com