Spisu treści:

Autonomiczny system nawadniania roślin: 4 kroki
Autonomiczny system nawadniania roślin: 4 kroki

Wideo: Autonomiczny system nawadniania roślin: 4 kroki

Wideo: Autonomiczny system nawadniania roślin: 4 kroki
Wideo: Jak założyć nawadnianie ogrodu - jak wykonać system nawadniający ogród 2024, Listopad
Anonim
Autonomiczny system nawadniania roślin
Autonomiczny system nawadniania roślin
Autonomiczny system nawadniania roślin
Autonomiczny system nawadniania roślin
Autonomiczny system nawadniania roślin
Autonomiczny system nawadniania roślin

Ten projekt przedstawia inteligentny autonomiczny system nawadniania roślin. System jest autonomiczny energetycznie, wykorzystując baterię 12 V i panel słoneczny, i podlewaj elektrownię, gdy zostaną spełnione odpowiednie warunki, dzięki dobrze przemyślanemu (mam nadzieję) systemowi odpornemu na awarie. Jest inteligentny, ponieważ komunikuje się z użytkownikiem (użytkownikami) za pośrednictwem aplikacji Telegram.

Czynności wykonywane przez system są następujące:

  • zawartość wody w glebie jest zawsze monitorowana;
  • jeśli zawartość wody w glebie jest poniżej pewnej wartości (max_soil_moisture), system:

    • (?) sprawdza, czy zbiornik na wodę nie jest pusty (i podczas) nawadniania, aby uniknąć uszkodzenia pompy pracującej na sucho;
    • (?) sprawdza, czy przekroczono minimalny okres nawadniania między dwoma nawadnianiami. Ma to na celu uniknięcie podlewania roślin zbyt wiele razy w ciągu dnia (lepiej trochę przesuszyć w pewnym momencie) i zwiększyć bezpieczeństwo w przypadku uszkodzenia czujnika wilgotności gleby;
    • (?) rozpocząć nawadnianie;
    • zatrzymuje nawadnianie, gdy:

      • (?) zawartość wody w glebie osiąga określoną wartość (max_soil_moisture) lub;
      • (?) zbiornik na wodę jest pusty, w takim przypadku nawadnianie zostanie wznowione, gdy tylko zostanie ponownie napełniony, lub;
      • (?) czas trwania nawadniania przekracza maksymalny czas trwania dozwolony dla każdego zdarzenia nawadniania (watering_max_time). Celem jest tutaj uniknięcie uruchomienia pompy, dopóki zbiornik wody nie będzie pusty, jeśli w systemie wystąpi nieszczelność, która uniemożliwiłaby wzrost wilgotności gleby;
  • (?) sprawdza, czy rośliny są podlewane przynajmniej co określony czas (max_wo_water), aby nie umrzeć, jeśli np. czujnik wilgotności gleby jest uszkodzony i zwraca zawsze wysokie wartości;

Użytkownik jest powiadamiany przez wiadomości Telegram na każdym ważnym kroku (oznaczonym?). Użytkownik może również ręcznie wywołać zdarzenie nawadniania z Telegramu, nawet jeśli zawartość wody w glebie jest wyższa niż podana wartość (max_soil_moisture). Możliwe jest również WŁĄCZANIE i WYŁĄCZANIE całego systemu, pytanie, czy system jest uruchomiony, lub pytanie o aktualną wartość zawartości wody w glebie (patrz Migawka telegramu).

Kieszonkowe dzieci

Materiał

Oto lista produktów użytych do budowy systemu. Muszę powiedzieć, że nie otrzymuję żadnych zachęt od Amazona, od którego wszystkie produkty zostały kupione.

Aby sterować systemem:

  • Płyta NodeMCU (ESP8266) dla mózgu, 17,99 €
  • Moduł przekaźnikowy, 11,99 €
  • 120 przewodów połączeniowych do prototypowania, 6,99€ -> prototypowanie
  • 3 płytki stykowe, 8,99€ -> prototypowanie
  • Pudełko wodoodporne, 10,99 €
  • Zestaw rezystorów 525 sztuk, 10,99 €
  • Płytka drukowana z połączeniami podobnymi do płytki stykowej, 9,27€
  • Skrętki elektryczne 20, 22 lub 24 AWG w zależności od preferencji (20 jest bardziej solidne, ale trzeba je skrócić w przypadku niektórych połączeń, 22 jest dobre, 24 jest tańsze), 18,99 €

O autonomię w energetyce:

  • Akumulator 12 V, 21,90 €
  • Monokrystaliczny panel słoneczny 10W wp 12V, 23,90 €
  • Kontroler ładowania 12/24V, 13,99€

Do zbiornika na wodę:

  • Pompa wodna 12V, 16,99€
  • Złącze męskie/żeńskie DC (do podłączenia pompy), 6,99€

Czujniki:

  • Pływak poziomu wody, 7,99 €
  • Pojemnościowy czujnik wilgotności gleby, 9,49 €
  • trochę lakieru do paznokci do impregnacji czujnika wilgotności gleby, 7,99 €;

A system nawadniający:

System nawadniania, 22,97€

W sumie 237,40 €. To nie jest tanie! Pamiętaj jednak, że nadal jest tańszy niż gotowy system i ma znacznie więcej możliwości! Poza tym niektóre części są przeznaczone tylko do prototypowania (15,98 €), a wiele komponentów kupiłem w grupach po kilka sztuk do innych projektów, np. 525 rezystorów to szalona ilość, do tego projektu nie potrzebujesz 3 płyt NodeMCU, ani 6 przekaźników.

Krok 1: Kod

Aby odtworzyć ten projekt, będziesz potrzebować narzędzi, materiałów i kodu z tego projektu.

Kod

Aby uzyskać kod z tego projektu, sklonuj go (lub lepiej rozwidlić) z repozytorium Github za pomocą GIT, a jeśli nie wiesz, co oznacza GIT, klon i fork, po prostu pobierz go na swój komputer za pomocą tego linku ?.

Następnie dostosuj go do swoich potrzeb!

Aby korzystać z Telegrama, NodeMCU musi być połączone z Internetem. Zrobiłem to za pomocą modułu WIFI i mojej domowej sieci WIFI. Aby skonfigurować własne połączenie, otwórz skrypt plant_watering.ino w Arduino IDE i uzupełnij brakujące wartości poświadczeń Wi-Fi (zakładam, że masz Wi-Fi):

Identyfikator łańcucha = "xxxxx"; // Nazwa Twojej przepustki Wifi String = "xxxxx"; // Hasło do wifi

Następnie skonfigurujemy bota Telegrama, który jest kontem użytkownika podobnym do Twojego, ale w rzeczywistości obsługiwanym przez robota (twój NodeMCU). Aby to zrobić, wykonaj czynności opisane tutaj. W kilku słowach:

  • Otwórz Telegram (i połącz się ze swoim kontem);
  • Utwórz nowego bota:

    • Wyszukaj BotFather w swoich kontaktach (wpisz go w pasku wyszukiwania) i otwórz z nim rozmowę (tak jak w przypadku każdego nowego kontaktu);
    • Wpisz /newbot w rozmowie (uważaj na sprawę i dołącz /!)
    • Nazwij swojego bota tak, jak chcesz, ale zakończ go „bot” (np. „watering_balcony_bot”);
    • Botfather daje ci token bota, trzymaj go w tajemnicy (nie udostępniaj go za pomocą GIT!!), użyjemy go w kilku krokach;
    • Wyszukaj go w swoich kontaktach i wyślij mu tę wiadomość: /start
    • Skopiuj token zwrócony przez Botfather i wklej go w swoim skrypcie plant_watering.ino tutaj:

      Token ciągu = "xxxxxx:xxxxxxxxxxxxxxxxxxxxxxx"; // Token bota telegramu

Twój bot żyje!

Aby dać mu możliwość komunikowania się z Tobą, musi znać Twój identyfikator rozmowy. Ponieważ chcemy móc dzielić się tym, co mówi bot z innymi ludźmi, na wypadek, gdybyśmy wyjeżdżali na wakacje, wolę zamiast tego utworzyć czat grupowy. Stwórz więc jedną (Nową Grupę), dodaj swojego bota, wyszukując jego nazwę, i tymczasowo dodaj trzeciego bota o nazwie IDBot. Następnie nazwij czat grupowy, jak chcesz. Otwórz czat grupowy i wpisz /getgroupid. IDBot zwróci numer taki jak -xxxxxxxxx (nie zapomnij o minusie podczas kopiowania!), to jest identyfikator twojego czatu grupowego!

Możesz również poprosić /getid o uzyskanie Twojego osobistego identyfikatora, aby Twój bot zamiast tego wysyłał wiadomości bezpośrednio do Ciebie (nie wysyłał ich do grupy)

Skopiuj identyfikator i wklej go w swoim skrypcie plant_watering.ino tutaj:

int ID_czatu = -00000000; // To identyfikator twojego czatu grupowego Wklej tutaj /getid, jeśli chcesz, aby bot wysyłał wiadomości bezpośrednio do Ciebie

Następnie usuń IDBota ze swojej grupy na wszelki wypadek (nie chcemy, aby jakiekolwiek dane wyciekły).

W ostatnim kroku musisz zainstalować biblioteki CTBot i ArduinoJson. Aby to zrobić, wpisz ctrl+maj+I, wyszukaj CTBot i wyszukaj CTBot autorstwa Stefano Ledda i kliknij install. Następnie powtórz dla ArduinoJson i wyszukaj ArduinoJson autorstwa Benoit Blanchon, ale na razie zainstaluj wersję 5.13.5, ponieważ CTBot nie jest jeszcze kompatybilny z szóstą wersją (możesz sprawdzić tutaj, czy są jakieś zmiany).

I to wszystko, Twój kod jest gotowy! Teraz możesz przesłać go do NodeMCU! Jeśli są jakieś błędy, sprawdź, czy wybrałeś NodeMCU 1.0 jako typ płytki i czy używasz odpowiedniej wersji dla swoich bibliotek.

Krok 2: Narzędzia

Narzędzia

Narzędzia są bardzo proste, wykorzystałem do tego projektu:

  • Lutownica + cyna (np. 220V 60W);
  • Multimetr (mój to TackLife DM01M);
  • Płaski śrubokręt (mniejszy jest lepszy);
  • Szczypce do cięcia;

Jeśli je masz, możesz również dodać ściągacze do przewodów, ale nie są one niezbędne.

Krok 3: Montaż

montaż
montaż

Złożenie części można znaleźć za pomocą Fritzing, aby otworzyć projekt Fritzing w repozytorium Github.

Uwaga: NodeMCU jest podłączony do kontrolera ładowania słonecznego za pomocą kabla USB (ten na schemacie nie ma takiego). Zobacz sekcję Materiał, aby zapoznać się z przykładem kontrolera ładowania słonecznego z USB.

Udostępniłem wszystkie niestandardowe części w folderze fritzing z projektu Github (wszystkie można znaleźć w Internecie oprócz pływaka wodnego, ponieważ to zrobiłem).

Krok 4: Podziękowania

Chciałbym podziękować mojej wspaniałej partnerce, że pozwoliła mi to robić w weekendy! I oczywiście wszyscy twórcy, którzy umożliwili ten projekt, tacy jak @shurillu za bibliotekę super CTBot, EstebanP27 za jego samouczek, z którego wiele się nauczyłem dla tego projektu! Chciałbym również podziękować svgrepo, z którego użyłem SVG jako podstawy do logo.

Zalecana: