Witam!
Jako, że mój projekt zbliża się powoli ku końcowi (znaczy jest już skończony ale zawsze jest coś do poprawy ) mogę wreszcie go opisać.
Jest to automatyczna konewka. To część większego systemu ale o tym później.
Urządzenie składa się ze sterownika opartego na płycie od firmy ST. Jest to płytka 32L0538DISCOVERY. Na jej pokładzie znajduje się wyświetlacz e-ink. Dołączone są czujniki wilgotności, poziomu wody i nasłonecznienia. Zasilanie zrealizowane jest za pomocą akumulatora od telefonu Li-Ion 2800mAh i chińskiej ładowarki. Dodatkowo zamontowany jest nadajnik 24L01 i pompa.
Zacznę od tego, że niestety, pomimo tego, że procesor z serii L0 jest mega oszczędny, a wyświetlacz nie pobiera prądu w czasie czuwania, znajdujące się na płycie stabilizatory (i właściwie nie wiem co jeszcze) pobierają dość duże ilości prądu. Sterownik został odchudzony ze wszystkiego co mogłoby pożerać dodatkowy prąd (między innymi programatora), a jednak prąd pobierany w czasie uśpienia jest dużo wyższy niż powinien. Na użycie tego zestawu skusiła mnie cena. Cały sterownik był tańszy niż sam wyświetlacz. W związku z powyższym bateria wytrzymuje ok 3 tygodni.
Jako, że układ jest dość prosty nie posiadam schematu. Postaram się więc opisać połączenia.
System:
Czujnik wilgotności - jest to sonda od chińskiego czujnika wilgotności zasilana przez rezystor, dzięki czemu otrzymujemy prosty dzielnik napięcia.
Czujnik poziomu wody - zrealizowany jest tak samo jak czujnik wilgotności. Niestety nie jest dokładny. Nie wiem dokładnie jak to się nazywa ale problem powstaje przez napięcie powierzchniowe. Woda po prostu "podchodzi" w górę czujnika fałszując pomiar. Będę go musiał zamienić na zwykły pływakowy.
Czujnik nasłonecznienia - to fotorezystor połączony z rezystorem tworzący dzielnik napięcia
Buzzer - to chyba nie potrzeba komentarza ;D
Pompa - pompka 5V zasilana przez MOSFET IRL540N. Tranzystor posiada bramkę logic level więc jest podpięta przez rezystor prosto do pinu mikrokontrolera.
NRF24L01 - jako, że to urządzenie pracuje jako część większego systemu, posiada nadajnik radiowy. Komunikuje się z serwerem stworzonym z RPi.
Opis działania:
Sterownik pracuje z częstotliwością 32MHz. RTC wybudza mikrokontroler co 10 minut. Ten dokonuje pomiarów, wyświetla na wyświetlaczu, jeśli trzeba podlewa kwiatek, wysyła dane do serwera i usypia.
Sterownik wyposażony jest w buzzer informujący o niskim stanie wody w zbiorniku jak również o niskim poziomie naładowania akumulatora. Dzięki pomiarowi nasłonecznienia buzzer i pompa do podlewania może być załączana tylko w dzień.
Program na Malinie napisany jest w pythonie. Wszystkie pomiary umieszcza w bazie SQLite. Dzięki zainstalowaniu serwera www pomiary można obejrzeć w przeglądarce jak również połączyć się za pomocą dedykowanej aplikacji z androida przez UDP.
Obudowa została wykonana z kawałka szkła akrylowego o grubości 4mm wygiętego tak aby pasowała do doniczki. Od wewnątrz pomalowana lakierem.
Nie zamieszczam programu, ponieważ nie jest zbyt dobrze napisany. Ten projekt był dość mocno rozwleczony w czasie więc i program napisany jest niechlujnie. Jeśli będzie ktoś zainteresowany mogę podesłać na maila.
Pozostały jeszcze małe poprawki. Dokładna kalibracja czujnika nasłonecznienia (teraz potrafi pokazać np. 126%) i poziom naładowania akumulatora docelowo ma być wyrażany w % nie w V. Na zdjęciach błędne wartości, bo jestem w trakcie kalibracji. Niestety trwa ona długo.
Fajne!