Spisu treści:
- Krok 1: Zbierz komponenty
- Krok 2: Pełny schemat
- Krok 3: Uzyskanie właściwej konfiguracji
- Krok 4: Podłączanie DHT-22
- Krok 5: Podłączanie wyświetlacza OLED
- Krok 6: Monitorowanie wilgotności gleby
- Krok 7: Monitorowanie VBAT (akumulator 9 V)
- Krok 8: Monitorowanie VBAT (konfiguracja 2 Lipos)
- Krok 9: Obudowa
- Krok 10: Perspektywy poprawy
- Krok 11: Dziękuję
2025 Autor: John Day | [email protected]. Ostatnio zmodyfikowany: 2025-01-13 06:58
Cześć chłopaki ! Aby jak najlepiej zacząć, mała opowieść o projekcie. Niedawno ukończyłem studia i przeniosłem się do Austrii na moje pierwsze stanowisko inżyniera. Kraj jest piękny, ale w sezonie zimowym jest bardzo zimny i wilgotny. Szybko zaczęłam zauważać kondensację pary wodnej na oknach każdego ranka, kiedy się obudziłem, a także pleśń pełzającą po ścianach pięknego mieszkania, które wynajmuję. To było moje pierwsze spotkanie z tak wysoką wilgotnością powietrza, pochodzę z południa Francji, tak naprawdę nie mamy tam takiego problemu. Szukałem więc rozwiązań w Internecie i postanowiłem zebrać kilka elementów i zbudować własny system monitoringu, aby sprawdzić poziom wilgotności w każdym pomieszczeniu mojego mieszkania oraz temperaturę otoczenia. Poniższy projekt miał kilka głównych wytycznych:
- To musi być tanie.
- Musi być wystarczająco precyzyjny.
- Chciałem czegoś małego, łatwego do przenoszenia i zasilanego bateryjnie.
- Kocham rośliny i zdecydowałem, że będzie w stanie sprawdzić wilgotność gleby, aby wiedzieć, czy muszę podlewać moje rośliny. (Poza kontekstem, ale po prostu spodobał mi się ten pomysł!:D)
Jest to dość łatwy projekt, jednak jest to najbardziej użyteczny projekt, jaki kiedykolwiek stworzyłem. Jestem w stanie sprawdzić każdą wilgotność w każdym pomieszczeniu i zobaczyć, czy muszę zareagować, aby powstrzymać pleśń. Więc zacznijmy.
Krok 1: Zbierz komponenty
Nasz projekt jest dość prosty. Użyjemy Arduino (w moim przypadku nano) jako mózgu, ponieważ jest bardzo prosty w programowaniu, tani i wymienny w razie potrzeby.
DHT-22 jako czujnik temperatury i wilgotności, istnieje niższa wersja o nazwie DHT-11, która moim zdaniem jest dość gówniana mówiąc o dokładności i za 3 euro więcej można dostać DHT-22, który jest znacznie dokładniejszy, dokładniejszy i może pracować w szerszym zakresie temperatur. Wyświetlacz OLED do wyświetlania danych i wizualny interfejs między czujnikami a człowiekiem, którym jestem. Odkryłem, że 64 na 128 jest idealne, ponieważ jest małe, mogłem zmieścić na nim wystarczającą ilość danych i bardzo łatwy w obsłudze.
Czujnik wilgotności gleby YL-69, który sprawdza, kiedy muszę podlewać moje piękne rośliny. I to w zasadzie wszystko, czego potrzebujesz do projektu. Opcjonalnie chciałem, aby projekt był zasilany przy użyciu Lipos, które miałem pod ręką. -Możesz również bardzo łatwo sprawić, że będzie działał z normalną baterią 9V. Chciałem móc monitorować napięcie baterii Lipo za pomocą niektórych wejść analogowych na arduino. Więcej informacji podam na kolejnych stronach.
Dodatkowo będziesz potrzebować:
- Kawałek deski do krojenia chleba.
- Włącznik/wyłącznik *1
- Złącze baterii 9V
- Bateria 9V
A jeśli chcesz wdrożyć lipos i monitoring:
- Rezystory 10K *3
- Rezystory 330R * 1
- Dioda *1
- Przełącznik suwakowy *1
- Posiadacze Lipo (Lub pokażę Ci wersję wydrukowaną w 3D, której aktualnie używam)
- 2 komórki lipo.
Krok 2: Pełny schemat
W załączeniu znajdziesz pełny schemat. Proszę nie zauważyć, że oczywiście wybierasz albo część obwodu z baterią 9V, albo część z baterią LIPO podłączoną do VBAT. Oddzieliłem oba obwody czerwonymi kwadratami i umieściłem czerwony tytuł, aby podświetlić każdy.
Nie martw się, każde połączenie zostanie odpowiednio wyjaśnione w kolejnych krokach.
Krok 3: Uzyskanie właściwej konfiguracji
Upewnij się, że masz zainstalowane Arduino IDE. I pobierz biblioteki, które pojawią się w tym kroku. Umieszczę też pełny kod, jeśli nie chcesz zawracać sobie głowy testowaniem każdego komponentu w kolejnych krokach.
Krok 4: Podłączanie DHT-22
Pierwszym krokiem projektu jest podłączenie DHT-22 do arduino. Połączenie jest dość proste: DHT-22 ------ Arduino
VCC ------ +5V
DANE ------D5
GND ------ GND
Aby przetestować połączenie DHT-22 z Twoim Arduino, zaimplementujemy kod osadzony w tym kroku.
Krok 5: Podłączanie wyświetlacza OLED
Następnym krokiem jest podłączenie wyświetlacza OLED. Ten rodzaj wyświetlacza łączy się za pomocą protokołu I2C. Naszym pierwszym zadaniem jest znalezienie właściwych pinów I2C dla twojego arduino, jeśli używasz Arduino nano, piny I2C to A4 (SDA) i A5 (SCL). Jeśli używasz innego arduino, takiego jak UNO lub MEGA, poszukaj na oficjalnej stronie arduino lub w arkuszu danych dla pinów I2C.
Połączenie jest następujące: OLED ------ Arduino
GND ------ GND
VCC ------ 3V3
SCL ------ A5
SDA ------ A4
Aby przetestować OLED, wyświetlimy dane DHT na wyświetlaczu OLED bezpośrednio, przesyłając kod osadzony w tym kroku.
Powinieneś zobaczyć temperaturę i wilgotność wyświetlaną na wyświetlaczu OLED z bardzo szybką częstotliwością próbkowania, ponieważ nie wprowadziliśmy jeszcze żadnego opóźnienia.
Krok 6: Monitorowanie wilgotności gleby
Ponieważ chciałem monitorować wilgotność gleby moich roślin, musimy podłączyć YL-69.
Ten czujnik jest dla mnie bardzo ciekawy i zachowuje się tak jak gdy gleba jest:
Wet: spada napięcie wyjściowe.
Suchy: wzrasta napięcie wyjściowe.
Połączenie wygląda następująco:
YL69 ------ Arduino
VCC ------ D7
GND ------ GND
D0 ------ NIE PODŁĄCZAJ
A0 ------- A7
Jak widać, pin VCC modułu łączymy z pinem cyfrowym Arduino. Ideą, która się przy tym kryje, jest zasilanie modułu właśnie wtedy, gdy chcemy wykonać pomiar, a nie w sposób ciągły. Wynika to z faktu, że czujnik działa mierząc prąd płynący z jednej nogi sondy do drugiej. Z tego powodu zachodzi elektroliza, która może dość szybko zniszczyć sondę w glebach o dużej wilgotności.
Dodamy teraz czujnik wilgoci do naszego kodu i wyświetlimy dane wilgotności z danymi DHT na OLED. Prześlij kod osadzony w tym kroku.
Krok 7: Monitorowanie VBAT (akumulator 9 V)
Chciałem wiedzieć, jak niski był poziom naładowania baterii, aby pewnego dnia nie mieć żadnej niespodzianki i wyczerpać się, nie będąc w stanie tego przewidzieć. Sposobem monitorowania napięcia wejściowego jest użycie niektórych pinów analogowych arduino, aby wiedzieć, ile napięcia jest odbierane. Piny wejściowe Arduino mogą przyjmować maksymalnie 5 V, ale używana bateria generuje 9 V. Jeśli podłączylibyśmy bezpośrednio to wyższe napięcie, zniszczylibyśmy niektóre elementy sprzętowe, musimy użyć dzielnika napięcia, aby sprowadzić 9V poniżej progu 5V.
Użyłem dwóch rezystorów 10k do wykonania dzielnika napięcia i dzielenia przez współczynnik 2 9V i doprowadzenia go do max 4,5V.
Aby wyświetlić fakt, że bateria jest słaba, użyj normalnej diody LED z rezystorem ograniczającym prąd 330 omów.
Użyjemy analogowego pinu A0 do monitorowania VBAT.
Postępuj zgodnie ze schematem, aby dowiedzieć się, jak podłączyć komponenty:
Dodamy go teraz do naszego kodu osadzonego w tym kroku.
Krok 8: Monitorowanie VBAT (konfiguracja 2 Lipos)
Chciałem wiedzieć, jak niski był poziom naładowania baterii, aby pewnego dnia nie mieć żadnej niespodzianki i wyczerpać się, nie będąc w stanie tego przewidzieć.
Sposobem monitorowania napięcia wejściowego jest użycie niektórych pinów analogowych arduino, aby wiedzieć, ile napięcia jest odbierane. Piny wejściowe Arduino mogą przyjmować maksymalnie 5 V, ale Lipos generują maksymalnie 4,2 * 2 = 8,4 V.
Różnica w stosunku do poprzedniego kroku polega na tym, że w przypadku użycia 2 lipo szeregowo do wytworzenia napięcia > 5V do zasilania płytki Arduino, musimy monitorować każdą komórkę lipo, ponieważ mogą one rozładowywać się w różnym tempie. Pamiętaj, że nie chcesz nadmiernie rozładowywać baterii lipo, jest to bardzo niebezpieczne.
Dla pierwszego Lipo nie ma problemu, ponieważ nominalne napięcie 4,2 V jest poniżej progu 5 V, który może wytrzymać piny wejściowe arduino. jednak po umieszczeniu 2 akumulatorów szeregowo ich napięcie sumuje się: Vtot = V1 + V2 = 4,2 + 4,2 = maksymalnie 8,4.
Jeśli podłączymy to wyższe napięcie bezpośrednio do pinu analogowego, zniszczylibyśmy niektóre elementy sprzętowe, musimy użyć dzielnika napięcia, aby sprowadzić 8,4 V poniżej progu 5 V. Użyłem dwóch rezystorów 10k, aby zrobić dzielnik napięcia i podzielić przez współczynnik 2 8,4 V i doprowadzić go do maks. 4,2 V.
Użyjemy analogowego pinu A0 do monitorowania VBAT. Postępuj zgodnie ze schematem, aby dowiedzieć się, jak podłączyć komponenty:
Aby wyświetlić fakt, że bateria jest słaba, użyj normalnej diody LED z rezystorem ograniczającym prąd 330 omów.
Dodamy go teraz do naszego kodu osadzonego w tym kroku.
Krok 9: Obudowa
Mam możliwość posiadania drukarki 3D, więc zdecydowałem się wydrukować obudowę przy użyciu standardowego PLA.
Załączam pliki, zaprojektowałem obudowę w Autodesk Inventor i Fusion360.
Równie dobrze możesz stworzyć swój własny projekt lub po prostu zachować płytkę stykową taką, jaka jest, samo pudełko nic nie dodaje do funkcjonalności. Niestety mój hotend do drukarki 3D właśnie umarł, więc nie mogłem jeszcze wydrukować obudowy, będę aktualizować mój post za każdym razem odbierz części zrobione na Amazon. Edytuj: jest teraz wydrukowany i możesz go zobaczyć na zdjęciach.
Krok 10: Perspektywy poprawy
Na razie projekt idealnie pasuje do moich potrzeb. Możemy jednak pomyśleć o kilku punktach, które moglibyśmy poprawić:
- Zmniejsz zużycie baterii, możemy poprawić zużycie prądu, zmieniając sprzęt lub ulepszając oprogramowanie.
- Dodaj bluetooth, aby połączyć się z aplikacją lub przechowywać dane i z czasem przeprowadzić więcej analiz.
- Dodaj obwód ładowania LIPO, aby naładować go bezpośrednio podłączając do ściany.
Jeśli myślisz o czymś, nie wahaj się, zapisz to w sekcji komentarzy.
Krok 11: Dziękuję
Dziękuję za przeczytanie tego samouczka, nie wahaj się wchodzić w interakcję ze mną i innymi w sekcji komentarzy. Mam nadzieję, że podobał Ci się projekt i do zobaczenia następnym razem!