Autorzy projektu skonstruowali opisywaną zautomatyzowaną szklarnię, jako projekt do zaliczenia przedmiotu elektronika na studiach. Celem było stworzenie szklarni w której parametry takie jak temperatura i wilgotność gleby, a także nasłonecznienie roślin będą automatycznie kontrolowane i utrzymywane na możliwie stałym poziomie.
Temperatura wewnątrz szklarni kontrolowana jest za pomocą lampy, która nagrzewa wnętrze oraz serwomotoru do otwierania okienka i wentylatora z komputera PC, który umożliwia nadmuch powietrza z zewnątrz. Wilgotność gleby monitorowana jest przez specjalny sensor - jeśli spadnie ona poniżej zaprogramowanego progu, pompka podaje wodę do roślin. Całość sterowana jest z pomocą strony www, co umożliwia zdalne monitorowanie pracy szklarni i ustawianie wszystkich parametrów po sieci.
Autorzy zdecydowali się oprzeć konstrukcję na modułach Raspberry Pi i Arduino - są oni świadomi, że nie jest to najlepszy wybór, jednakże był on podyktowany po części wymaganiami przedmiotu, a po części faktem, że jest to układ prototypowy, który ma pokazywać możliwość realizacji takiego systemu i nakreślać dalsze sposoby, aby go ulepszyć.
Krok 1: Opis układu
Szklarnia wyposażona jest w szereg różnych sensorów. Pozwalają one na pomiar temperatury wewnątrz szklarni, poza nią oraz pomiar wilgotności gleby i intensywności światła.
Dane odczytywane z wewnętrznego sensora temperatury służą do kontroli zmotoryzowanego okienka szklarni i wentylatora, które załączane są, gdy temperatura wewnątrz szklarni wzrośnie powyżej zadanego poziomu. Gdy temperatura spadnie do ustalonego poziomu, wentylator jest zatrzymywany, a okienko zamykane. Gdy temperatura jest za niska, układ włącza lampę, która dogrzewa rośliny.
Sensor wilgotności monitoruje wilgotność gleby w szklarni. W przypadku, gdy jest ona zbyt mała, system załącza pompkę, która podaje wodę do podlewania roślin.
Moduł Arduino podłączony jest do Raspberry PI w wersji 3 z pomocą kabla USB. Połączenie to pozwala na odczyt parametrów sensorów podłączonych do Arduino oraz sterowanie układami wyłączonymi podpiętymi do tej płytki. Wszystkie te dane zapisywane są w basie MySQL znajdującej się na Raspberry Pi. Komunikacja pomiędzy Raspberry Pi 3 a płytką Arduino Uno zrealizowana jest jako master/slave (gdzie masterem jest RPi). Skrypt napisany w Pythonie, który działa na Raspberry Pi odpowiedzialny jest za realizowanie komunikacji, zapis i odczyt danych z bazy MySQL oraz wysyłanie nowych ustawień do Arduino Uno.
Na 'Malinie' działa serwer Apache, którego zadaniem jest hostowanie strony sieci web. Napisana została ona z wykorzystaniem skryptu PHP, który odpowiedzialny jest za dostęp do bazy danych MySQL z poziomu sieci web. Na stronie użytkownik może ustalać jaka ma być temperatura i wilgotność gleby. Dodatkowo możliwy jest podgląd wartości wszystkich sensorów i stanu układów wykonawczych, a także ich manualna kontrola.
Krok 2: Lista elementów
Założeniem projektu była budowa układu z możliwie dużym udziałem elementów z recyclingu, co widać na powyższej liście komponentów wykorzystanych do konstrukcji systemu.
Krok 3: Oprogramowanie
Oprogramowanie podzielone jest na kilka elementów, działających na różnych platformach i realizujących różne funkcje:
Kod Arduino
Skecz programu dostępny jest tutaj: http://www.instructables.com/files/orig/FSW/OV4E/IOYDFBVE/FSWOV4EIOYDFBVE.ino. Program ten kontroluje sensory i układy wykonawcze (sterowanie wentylatorem, lampą i serwomotorem okna) oraz komunikuje się z Raspberry Pi.
Strona www
Pliki CSS i inne pliki związane z witryną sieci web dostępne są tutaj: http://www.instructables.com/files/orig/FQ4/NYH5/IOYDFBVC/FQ4NYH5IOYDFBVC.rar, spakowane w pojedynczym pliku rar.
Skrypt na Raspberry Pi
Na 'Malinie' działa skrypt napisany w Pythonie w wersji 2.7, który korzysta z biblioteki MySQLdb. Kod dostępny jest tutaj: http://www.instructables.com/files/orig/FYB/5KKC/IOUBTM47/FYB5KKCIOUBTM47.py. Skrypt ten pełni rolę łączącą Arduino z Raspberry Pi i umożliwia zapis danych z sensorów do bazy danych oraz wysyłanie zapisanych w bazie danych ustawień do Arduino Uno.
Krok 4: Montaż
Krok 5: Okablowanie
Na powyższym schemacie blokowym zaznaczono, jak do poszczególnych modułów podłączone są wszystkie urządzenia wykorzystane w projekcie.
Krok 6: Baza danych i strona sieci web
Zaprojektowana witryna składa się z trzech stron.
Pierwsza strona to strona główna, na niej użytkownik ma możliwość podglądu stanu poszczególnych elementów systemu i parametrów mierzonych przez sensory.
Na drugiej stronie można wydawać układowi komendy i zmieniać parametry pracy. Użytkownik z poziomu tej strony ma możliwość zmieniać tryb pracy układu lub po prostu go wyłączyć. Tutaj można także zmieniać ustawienia wszystkich parametrów - temperatury, wilgotności gleby, etc. Wprowadzone wartości są każdorazowo sprawdzane, czy są poprawne, aby nie zostały zapisane do bazy rzeczy błędnie wpisane.
Na ostatniej stronie znajdują się informacje o autorach projektu.
Baza danych MySQL składa się z trzech tabel. W pierwszej tabeli nazwanej "measures" zapisywane są dane zebrane z sensorów w systemie. Druga tabela nazwana "types" zawiera parametry każdego zrealizowana pomiaru, a trzecia - "commands" pozwala na kontrolę układu i odczyt jego aktualnego stanu.
Krok 7: Oszczędzanie czasu i wygoda dla roślin!
Gotowy projekt zaprezentowano na powyższym filmiku. Widać tam działanie poszczególnych systemów automatycznej szklarni w działaniu.
Źródło: http://www.instructables.com/id/Automated-Greenhouse/?ALLSTEPS
Temperatura wewnątrz szklarni kontrolowana jest za pomocą lampy, która nagrzewa wnętrze oraz serwomotoru do otwierania okienka i wentylatora z komputera PC, który umożliwia nadmuch powietrza z zewnątrz. Wilgotność gleby monitorowana jest przez specjalny sensor - jeśli spadnie ona poniżej zaprogramowanego progu, pompka podaje wodę do roślin. Całość sterowana jest z pomocą strony www, co umożliwia zdalne monitorowanie pracy szklarni i ustawianie wszystkich parametrów po sieci.
Autorzy zdecydowali się oprzeć konstrukcję na modułach Raspberry Pi i Arduino - są oni świadomi, że nie jest to najlepszy wybór, jednakże był on podyktowany po części wymaganiami przedmiotu, a po części faktem, że jest to układ prototypowy, który ma pokazywać możliwość realizacji takiego systemu i nakreślać dalsze sposoby, aby go ulepszyć.
Krok 1: Opis układu
Szklarnia wyposażona jest w szereg różnych sensorów. Pozwalają one na pomiar temperatury wewnątrz szklarni, poza nią oraz pomiar wilgotności gleby i intensywności światła.
Dane odczytywane z wewnętrznego sensora temperatury służą do kontroli zmotoryzowanego okienka szklarni i wentylatora, które załączane są, gdy temperatura wewnątrz szklarni wzrośnie powyżej zadanego poziomu. Gdy temperatura spadnie do ustalonego poziomu, wentylator jest zatrzymywany, a okienko zamykane. Gdy temperatura jest za niska, układ włącza lampę, która dogrzewa rośliny.
Sensor wilgotności monitoruje wilgotność gleby w szklarni. W przypadku, gdy jest ona zbyt mała, system załącza pompkę, która podaje wodę do podlewania roślin.
Moduł Arduino podłączony jest do Raspberry PI w wersji 3 z pomocą kabla USB. Połączenie to pozwala na odczyt parametrów sensorów podłączonych do Arduino oraz sterowanie układami wyłączonymi podpiętymi do tej płytki. Wszystkie te dane zapisywane są w basie MySQL znajdującej się na Raspberry Pi. Komunikacja pomiędzy Raspberry Pi 3 a płytką Arduino Uno zrealizowana jest jako master/slave (gdzie masterem jest RPi). Skrypt napisany w Pythonie, który działa na Raspberry Pi odpowiedzialny jest za realizowanie komunikacji, zapis i odczyt danych z bazy MySQL oraz wysyłanie nowych ustawień do Arduino Uno.
Na 'Malinie' działa serwer Apache, którego zadaniem jest hostowanie strony sieci web. Napisana została ona z wykorzystaniem skryptu PHP, który odpowiedzialny jest za dostęp do bazy danych MySQL z poziomu sieci web. Na stronie użytkownik może ustalać jaka ma być temperatura i wilgotność gleby. Dodatkowo możliwy jest podgląd wartości wszystkich sensorów i stanu układów wykonawczych, a także ich manualna kontrola.
Krok 2: Lista elementów
Założeniem projektu była budowa układu z możliwie dużym udziałem elementów z recyclingu, co widać na powyższej liście komponentów wykorzystanych do konstrukcji systemu.
Krok 3: Oprogramowanie
Oprogramowanie podzielone jest na kilka elementów, działających na różnych platformach i realizujących różne funkcje:
Kod Arduino
Skecz programu dostępny jest tutaj: http://www.instructables.com/files/orig/FSW/OV4E/IOYDFBVE/FSWOV4EIOYDFBVE.ino. Program ten kontroluje sensory i układy wykonawcze (sterowanie wentylatorem, lampą i serwomotorem okna) oraz komunikuje się z Raspberry Pi.
Strona www
Pliki CSS i inne pliki związane z witryną sieci web dostępne są tutaj: http://www.instructables.com/files/orig/FQ4/NYH5/IOYDFBVC/FQ4NYH5IOYDFBVC.rar, spakowane w pojedynczym pliku rar.
Skrypt na Raspberry Pi
Na 'Malinie' działa skrypt napisany w Pythonie w wersji 2.7, który korzysta z biblioteki MySQLdb. Kod dostępny jest tutaj: http://www.instructables.com/files/orig/FYB/5KKC/IOUBTM47/FYB5KKCIOUBTM47.py. Skrypt ten pełni rolę łączącą Arduino z Raspberry Pi i umożliwia zapis danych z sensorów do bazy danych oraz wysyłanie zapisanych w bazie danych ustawień do Arduino Uno.
Krok 4: Montaż
Krok 5: Okablowanie
Na powyższym schemacie blokowym zaznaczono, jak do poszczególnych modułów podłączone są wszystkie urządzenia wykorzystane w projekcie.
Krok 6: Baza danych i strona sieci web
Zaprojektowana witryna składa się z trzech stron.
Pierwsza strona to strona główna, na niej użytkownik ma możliwość podglądu stanu poszczególnych elementów systemu i parametrów mierzonych przez sensory.
Na drugiej stronie można wydawać układowi komendy i zmieniać parametry pracy. Użytkownik z poziomu tej strony ma możliwość zmieniać tryb pracy układu lub po prostu go wyłączyć. Tutaj można także zmieniać ustawienia wszystkich parametrów - temperatury, wilgotności gleby, etc. Wprowadzone wartości są każdorazowo sprawdzane, czy są poprawne, aby nie zostały zapisane do bazy rzeczy błędnie wpisane.
Na ostatniej stronie znajdują się informacje o autorach projektu.
Baza danych MySQL składa się z trzech tabel. W pierwszej tabeli nazwanej "measures" zapisywane są dane zebrane z sensorów w systemie. Druga tabela nazwana "types" zawiera parametry każdego zrealizowana pomiaru, a trzecia - "commands" pozwala na kontrolę układu i odczyt jego aktualnego stanu.
Krok 7: Oszczędzanie czasu i wygoda dla roślin!
Gotowy projekt zaprezentowano na powyższym filmiku. Widać tam działanie poszczególnych systemów automatycznej szklarni w działaniu.
Źródło: http://www.instructables.com/id/Automated-Greenhouse/?ALLSTEPS
Fajne? Ranking DIY