Spisu treści:
- Kieszonkowe dzieci
- Krok 1: Potrzebne komponenty
- Krok 2: Elektronika
- Krok 3: Część 1 sprzętu (przygotowanie głowy krokodyla)
- Krok 4: Oprogramowanie
- Krok 5: Część 2 sprzętu (ponowne uszczelnienie)
- Krok 6: Alternatywna kompilacja
- Krok 7: Dodatek: Dodatkowe wyświetlacze/czujniki
Wideo: Krokodylowy czujnik basenu słonecznego: 7 kroków (ze zdjęciami)
2024 Autor: John Day | [email protected]. Ostatnio zmodyfikowany: 2024-01-30 11:27
Ta instrukcja pokazuje, jak zbudować raczej specjalny czujnik basenu mierzący temperaturę basenu i przesyłający go przez Wi-Fi do aplikacji Blynk i brokera MQTT. Nazywam go „Crocodile Solar Pool Sensor”. Wykorzystuje środowisko programowania Arduino i płytę ESP8266 (Wemos D1 mini pro).
Co jest takiego specjalnego w tym projekcie?
- Wygląd jest po prostu świetny
- W pełni niezależny od źródeł zasilania (panel słoneczny zasila akumulator LiPo)
- Czujnik podłączony do sieci WiFi ESP8266 o niskiej mocy
- Raczej precyzyjny czujnik temperatury
- Transmisja danych temperatury i napięcia do aplikacji Blynk na telefon komórkowy
- Wysyła również znacznik czasu „ostatniej aktualizacji” do aplikacji Blynk
- Transmisja danych o temperaturze i napięciu do brokera MQTT
- Możliwość przełączania w stopniach Celsjusza i Fahrenheita
- Może być przeprogramowany
Twój poziom umiejętności: średniozaawansowany do doświadczony
Kieszonkowe dzieci
W przypadku tej kompilacji musisz wiedzieć, jak pracować z:
- Arduino IDE (środowisko programistyczne)
- lutownica
- wiertarka
- ostry nóż
- klej epoksydowy
- gorący klej
- przemysłowa pianka natryskowa
- kolor sprayu
Krok 1: Potrzebne komponenty
Te rzeczy są potrzebne do zbudowania tego ładnego czujnika basenu:
- Głowa krokodyla (spieniony plastik) znaleziona tutaj: Amazon: Głowa krokodyla
- LUB alternatywnie: skorupa łodzi (Aliexpress). Zobacz krok 6.
- ESP8266 Wemos D1 mini pro: (Aliexpress)
- Panel słoneczny 0.25W 45x45mm: (Aliexpress)
- **EDYTUJ po roku użytkowania: zdecydowanie polecam użycie mocniejszej baterii, takiej jak 18650 (przykład: Aliexpress)
- Moduł ładowarki akumulatora TP4056: (Aliexpress)
- Wodoodporny czujnik temperatury DS 18b20: (Aliexpress)
- Przewód 22 AWG (Aliexpress)
- Prototypowa płytka PCB 5x7cm (Aliexpress)
- Rezystory 220 Ohm i 4,7 kOhm
- krótki kabel USB do MicroUSB
Dodatkowo:
- Izolacyjna pianka uszczelniająca @ market DIY lub tutaj: (Amazon)
- Wodoodporna farba @ market DIY lub tutaj: (Amazon)
- Wypełniacz w sprayu na rynku DIY lub tutaj: (Amazon)
- Płynna żywica epoksydowa do wodoodpornej powłoki @ market DIY
- Gorący klej
Do wydrukowania wodoodpornej osłony portu USB może być konieczne użycie drukarki 3D.
Krok 2: Elektronika
Pomyślałem, że najłatwiej jest zacząć od niektórych z tych uniwersalnych płytek PCB DIY i stwierdziłem, że 5x7cm jest po prostu idealny do tego celu.
Kroki budowlane:
-
Przygotuj D1 mini pro do korzystania z anteny zewnętrznej:
- Odłączyć rezystor 0 Ohm obok anteny ceramicznej
- Przekręć rezystor 0 Ohm w dół i przylutuj połączenie z zewnętrzną anteną (dobre wyjaśnienie znajdziesz tutaj - Krok 5).
- Umieść części i zdecyduj o układzie na prototypowej płytce drukowanej przed rozpoczęciem lutowania
- Przylutuj szpilki do D1 mini pro
- Przylutuj kołki dystansowe do płytki prototypowej
- Przylutuj szpilki płytki ładowarki do prototypowej płytki drukowanej
- Przylutuj płytkę ładowarki do pinów
- Przytnij kabel czujnika temperatury na długość 20 cm
- Proszę zobaczyć obraz powyżej, aby podłączyć czujnik temperatury
- Przylutuj kabel do panelu słonecznego
- JESZCZE NIE lutuj kabli paneli słonecznych do płytki - należy je najpierw przykleić do głowy krokodyla
- Postępuj zgodnie z powyższym schematem Fritzing, aby przylutować wszystkie pozostałe połączenia do PCB
- Po podłączeniu i przylutowaniu wszystkich komponentów użyj gorącego kleju, aby naprawić baterię. Uwaga: Aby uśpić ESP8266, konieczne jest połączenie pinu D1 z pinem RST. Czasami D1 mini pro powoduje problemy z portem szeregowym, jeśli port D0 i RST są połączone. Ten, którego użyłem (patrz link do Aliexpress powyżej) nie miał tego problemu. Jeśli napotkasz ten problem, być może będziesz musiał użyć zworki lub przełącznika, aby rozłączyć dwa piny w celu wgrania nowego kodu. Ale (!) wtedy nie masz szans na przeprogramowanie, gdy głowa krokodyla zostanie zamknięta. W tym przypadku również nie trzeba wyciągać portu USB na zewnątrz (np. aby wywiercić trzeci otwór).
Krok 3: Część 1 sprzętu (przygotowanie głowy krokodyla)
W tym kroku przygotowujemy tył głowy krokodyla, aby uzyskać wystarczającą ilość miejsca na elektronikę. I wiercimy kilka otworów na antenę, panel słoneczny i port USB. Najpierw zaplanowałem swój projekt bez portu USB. Ale potem pomyślałem, że po ponownym zapieczętowaniu krokodyla nie będę mógł dokonać aktualizacji oprogramowania. Dlatego zdecydowałem się użyć krótkiego kabla USB micro-USB na USB, aby umożliwić zewnętrzny dostęp do płytki ESP8266. Kolejne kroki do zrobienia:
- Użyj ostrego noża, aby wyciąć nieco więcej niż 7x5 cm (rozmiar płyty prototypowej) z twardej powierzchni
- Użyj łyżki, aby usunąć bardziej miękką piankę od środka
- Tylko upewnij się, że masz wystarczająco dużo miejsca na kable i deskę
- Sprawdź, czy pasuje i czy jest jeszcze trochę miejsca, aby go później zakryć
Teraz wywierć dwa lub trzy otwory w głowie:
- do panelu słonecznego
- do anteny
- (opcjonalnie) dla portu USB w celu umożliwienia późniejszego programowania
Użyj dwuskładnikowej żywicy epoksydowej (5 minut), aby ponownie skleić i uszczelnić te otwory. Użyj wystarczającej ilości kleju epoksydowego! Upewnij się, że później będzie wodoodporny!
- Przyklej kabel panelu słonecznego do głowicy i odpowiednio uszczelnij otwór
- Przyklej panel słoneczny między oczami
- Przyklej gniazdo anteny do głowicy i odpowiednio uszczelnij otwór
- Przyklej wtyczkę USB i odpowiednio uszczelnij otwór
Aby uniknąć korozji portu USB przez wodę, wydrukowałem w 3D małą nasadkę ochronną.
Krok 4: Oprogramowanie
Musisz mieć działające środowisko Arduino. Jeśli nie, sprawdź to.
Konfiguracja sprzętu jest prosta (na moim Macu):
LOLIN(WEMOS) D1 mini Pro, 80 MHz, Flash, 16M (14M SPIFFS), mniejsza pamięć v2, Wyłącz, Brak, Tylko szkic, 921600 na /dev/cu. SLAB_USBtoUART
Pobierz kod Arduino tutaj:Kod Arduino na Github
Kod wysyła temperaturę i napięcie baterii do Blynk. Po prostu załaduj aplikację Blynk na telefon komórkowy i utwórz nowy projekt. Blynk wyśle Ci token uwierzytelniania dla tego projektu. Wprowadź ten token do pliku Settings.h. Domyślne ustawienia zostaną wysłane
- temperatura do WIRTUALNEGO PINU 11
- napięcie na PIN WIRTUALNY 12
- ostatni zaktualizowany znacznik czasu do WIRTUALNEGO PINU 13
ale łatwo jest zmienić te piny w kodzie. Po prostu baw się wszystkimi widżetami Blynk za pomocą V11, V12 i V13 - jest fajnie. Jeśli jesteś nowy w tym, po prostu przeczytaj instrukcję mojego przyjaciela Debasish - większość z tego jest wyjaśniona w kroku 19.
Oprogramowanie przygotowane jest również do korzystania z brokera MQTT.
W Settings.h znajduje się zmienna globalna o nazwie MQTT. To musi być ustawione na true lub false w zależności od tego, czy używasz MQTT, czy nie.
W moim przypadku korzystam z brokera MQTT (Orange PI Zero, Mosquitto, Node-Red) i deski rozdzielczej, na której zbierają się wszystkie moje dane z czujników. Jeśli jesteś nowy w MQTT, pozwól Google pomóc Ci go skonfigurować.
Jeśli znasz MQTT, jestem pewien, że zrozumiesz kod.
Krok 5: Część 2 sprzętu (ponowne uszczelnienie)
W tym kroku musimy spakować całą elektronikę (oprogramowanie załadowane i przetestowane) i ponownie uszczelnić brzuch naszego krokodyla. Osobiście widzę dwa możliwe rozwiązania:
- Używając szkła akrylowego i przyklej go klejem epoksydowym wodoodpornym do brzucha. Do kabla czujnika temperatury użyj wodoszczelnego kanału kablowego (żałuję, że nie wybrałem tej opcji - po tym wszystkim, co przeszedłem, gorąco polecam jechać tą drogą.)
- Używając pianki przemysłowej i ponownie wypełnić szczeliny, a następnie uszczelnić farbą wodoodporną. I wykończ go wypełniaczem i farbą.
Zdecydowałem się więc na opcję 2. Kroki są następujące:
- Przylutuj kabel panelu słonecznego do płyty
- Podłącz kabel antenowy
- Podłącz kabel USB do płyty ESP8266 (I NIE do płyty ładującej)
- Wciśnij cały kabel i płytę w otwór
- Pozostaw 5-10 cm zwisającego kabla czujnika temperatury
- Użyj pianki przemysłowej, aby wypełnić wszystkie szczeliny (Uwaga - pianka mocno się pęcznieje)
- Pozostaw do wyschnięcia, a następnie pokrój piankę ostrym nożem
- Teraz użyj trochę wodoodpornej farby (służy do naprawy dachów) i pomaluj ją na całej powierzchni
- Pozostaw do wyschnięcia i użyj sprayu wypełniającego, aby uzyskać twardą skorupę (musisz to robić w kółko)
- WAŻNA EDYCJA (po kilku tygodniach w wodzie): Nałóż dwie lub trzy warstwy płynnej żywicy epoksydowej, aby uzyskać naprawdę wodoodporną powłokę.
- Niech wyschnie - ZAKOŃCZONE!
Krok 6: Alternatywna kompilacja
Ponieważ pierwszy build z krokodylem wciąż jest moim ulubionym, muszę przyznać, że wybrałem złą baterię (za słabą). Niestety nie mogę już wymienić baterii, ponieważ jest zapieczętowana w korpusie krokodyla.
Dlatego zdecydowałem się na inne rozwiązanie z łodzią jako nadwoziem, aby w razie potrzeby mieć lepszy dostęp do elektroniki i akumulatora.
Zmiany:
- Powłoka (https://www.aliexpress.com/item/32891355836.html)
- Akumulator litowo-jonowy 18650
- Drukowana 3D wkładka do montażu dwóch płyt (ESP8266 i moduł ładowarki)
Krok 7: Dodatek: Dodatkowe wyświetlacze/czujniki
Jeśli chcesz wyjść poza wyświetlanie danych puli tylko w aplikacji Blynk, możesz również przekazać je do brokera MQTT. Pozwala to na skorzystanie z kilku dodatkowych możliwości wyświetlania danych puli (lub innych) na różnych urządzeniach. Jednym z nich byłby Node Red Dashboard na Raspberry Pi (patrz zdjęcie powyżej) lub wyświetlacz z matrycą LED. Jeśli jesteś zainteresowany Matrycą LED, kod znajdziesz tutaj:
Przy okazji połączyłem ten projekt ze Słoneczną Stacją Pogodową, w tym prognozą pogody Zambretti z tego projektu:
Inspiracją do stworzenia tej słonecznej stacji pogodowej był mój indyjski przyjaciel Debasish. Proszę znaleźć jego instrukcje tutaj:
I nagroda w Konkursie Czujników
Zalecana:
Monitor temperatury basenu MQTT: 7 kroków (ze zdjęciami)
Monitor temperatury basenu MQTT: Ten projekt jest towarzyszem moich innych projektów automatyki domowej Smart Data-Logging Geyser Controller oraz Multi-purpose-Room-Lighting and Appliance Controller. Jest to monitor montowany przy basenie, który mierzy temperaturę wody w basenie, otaczające powietrze
SKARA- Autonomous Plus Ręczny robot do czyszczenia basenu: 17 kroków (ze zdjęciami)
SKARA- Autonomous Plus Ręczny robot do czyszczenia basenu: Czas to pieniądz, a praca ręczna jest kosztowna. Wraz z nadejściem i postępem w technologiach automatyki należy opracować bezproblemowe rozwiązanie dla właścicieli domów, stowarzyszeń i klubów, aby oczyścić baseny z gruzu i brudu codziennego życia, a
Pool Pi Guy - System alarmowy oparty na sztucznej inteligencji i monitorowanie basenu za pomocą Raspberry Pi: 12 kroków (ze zdjęciami)
Pool Pi Guy - system alarmowy oparty na sztucznej inteligencji i monitorowanie basenu za pomocą Raspberry Pi: Posiadanie basenu w domu jest zabawne, ale wiąże się z wielką odpowiedzialnością. Moim największym zmartwieniem jest monitorowanie, czy ktoś znajduje się w pobliżu basenu bez opieki (szczególnie młodsze dzieci). Moją największą irytacją jest upewnienie się, że linia wody w basenie nigdy nie schodzi poniżej wejścia pompy
PROSTY CZUJNIK ŚWIATŁA SŁONECZNEGO: 6 kroków (ze zdjęciami)
PROSTY CZUJNIK ŚWIATŁA SŁONECZNEGO: Postępuj zgodnie z instrukcjami, aby z powodzeniem zbudować własny czujnik światła. Bardzo przydatne w automatycznym systemie oświetleniowym. Komponenty: 7805 Regulator IC SL100 tranzystor LED (najlepiej czerwony) 150ohm Rezystor Zasilanie 9V Przekaźnik (6V) LDR (powszechnie dostępny) Łącz
Monitorowanie chmury basenu Arduino: 7 kroków (ze zdjęciami)
Arduino Swimming Pool Cloud Monitoring: Głównym celem tego projektu jest wykorzystanie Samsung ARTIK Cloud do monitorowania pH i temperatury w basenach. Komponenty sprzętowe: Przewody połączeniowe Arduino MKR1000 lub Genuino MKR1000 (ogólne) Zestaw czujnika pH SparkFun 1 x rezystor 4.7