Spisu treści:
- Krok 1: Rozwój
- Krok 2: Materiały
- Krok 3: Kod podstawowy i Arduino
- Krok 4: Schemat i testowanie
- Krok 5: Łączenie się z włącznikiem światła Wi-Fi
- Krok 6: Projekt mieszkaniowy
- Krok 7: Zamknięcie
Wideo: Praktyczny czujnik PIR do użytku domowego: 7 kroków (ze zdjęciami)
2024 Autor: John Day | [email protected]. Ostatnio zmodyfikowany: 2024-01-30 11:26
Podobnie jak wielu z was pracujących nad projektami automatyki domowej, chciałem zbudować funkcjonalny czujnik PIR do automatyzacji niektórych zakrętów w moim własnym domu. Chociaż czujniki PIR włącznika światła byłyby optymalne, nie można zginać narożnika. Ten projekt przeszedł kilka iteracji, a ja sprawdziłem wiele innych dostępnych samouczków online i nie mogłem znaleźć takiego, który zadziałałby dla mnie. Jeśli chcesz od razu przejść do tworzenia, przejdź od razu do kroku 3, w przeciwnym razie przejdź do kroku drugiego, w którym omówię rozwój.
Kieszonkowe dzieci:
Lutownica
Lut i topnik do elektroniki
Zapasowy przewód przyłączeniowy
drukarka 3d
Deska do krojenia chleba
Podstawowe zrozumienie Hassio
Podstawowe umiejętności programowania w Arduino
Krok 1: Rozwój
Home Assistant to świetne narzędzie do łączenia niektórych bardziej skomplikowanych konfiguracji, których możesz potrzebować. Dla mnie zdobycie światła w klatce schodowej z narożnikiem było moim początkowym zainteresowaniem projektem. Znalezienie odpowiedniego przewodnika po zbudowaniu efektywnego czujnika PIR do użytku domowego było trudne. Oczywiście, jest mnóstwo łatwych sposobów, aby to działało, ale uczynienie go energooszczędnym i efektywnym w codziennym użytkowaniu to już inna historia. Pojawił się również problem opóźnienia, czyli szybkości włączania się światła po otrzymaniu sygnału. To trudny projekt, kiedy już naprawdę wpadłem w to wszystko w chwasty. Co się stało, sprowadziłem się do dwóch głównych punktów, dlaczego ten projekt był skuteczny.
Czas oczekiwania
Zacząłem od ESPHome, aby zaprojektować ten czujnik. Ma wszystkie dzwonki i gwizdki, ale także bardzo przyjazny interfejs. Niestety protokół i struktura ESPhome są dość dużym zużyciem energii, gdy liczymy mWh. Istnieje również pewien problem z opóźnieniem, gdy wezwania do włączenia światła muszą przejść przez rozruch ESPhome, Hassio, a następnie kontroler światła. Odkryłem, że kończy się to w zakresie 10 sekund. Już wszedłbyś po schodach (a może idziesz bardzo wolno, bo nie ma światła). Więc tym, co stało się najbardziej energooszczędnym i najszybszym sposobem na dostarczenie sygnału ruchu do Hassio, było MQTT.
Użycie MQTT ze statycznym IP skróciło czas do mniej niż 2 sekund. Sygnał MQTT docierałby do Hassio pomiędzy około 800ms - 1200ms. Całkiem cholernie dobrze.
Żywotność baterii
Jak wspomniano wcześniej, przejście na MQTT zaoszczędziło również wiele na zużyciu energii. Przeciętny czujnik bez głębokiego snu na ESPHome wytrzymałby mniej niż dzień na około 800mWh bateriach. Z głębokim snem, około 3-5 dni w zależności od aktywacji. WeMos D1 Mini nie jest szalonym wieprzkiem energetycznym, ale nie jest też najbardziej wydajny w zarządzaniu swoją mocą, więc ważne było wyciskanie każdego kawałka baterii. Najważniejszym krokiem było ograniczenie każdej zużywającej się części.
Istnieje wiele czujników PIR, ale nie wszystkie są sobie równe. Jednym z pierwszych punktów, które zauważyłem, była szybkość, kąt i szybkostrzelność każdego testowanego czujnika PIR. Spośród użytych czujników stwierdziłem, że czujnik PIR Simplytronics Wide Angle jest najbardziej efektywny pod względem zasięgu i kosztów energii. Jest to szerokokątny czujnik PIR o doskonałym zasięgu i działa tylko na 3V, co jest absolutnie niesamowite w tym, czego potrzebowałem.
Krok 2: Materiały
WeMos D1 Mini
Ładowarka USB Lipo/Li-Ion T4056
Szerokokątny czujnik PIR Simplytronics
Bateria Lipo 3,7 V 1000 mWh
Rezystory 2x 10k
Rezystor 120K
Rezystor 5k
1N4001 Dioda prostownicza
Kondensator 1uF
Tranzystor 2N2222
Krok 3: Kod podstawowy i Arduino
W łatwy sposób pobierz plik arduino, zmodyfikuj go, aby działał z twoją konfiguracją. Najważniejszymi aspektami, o których należy pamiętać, jest upewnienie się, że ustawienia są zgodne z tym, co podano w Hassio.
W moim przykładzie używam Mosquitto Broker. Wprowadziłem te ustawienia do mojego kodu arduino. W przypadku mojego serwera MQTT, ponieważ jest on hostowany w Hassio, umieściłem adres IP mojego Hassio.
Następną rzeczą, którą musimy zrobić, jest skonfigurowanie czujników szablonów do przechowywania naszych danych MQTT, dzięki czemu jest trochę bardziej przyjazny dla interfejsu Hassio. Jeśli chcesz dowiedzieć się więcej o szablonach i szablonach, podam tutaj ten link Hassio.
Nasz ruch MQTT będzie szablonowym czujnikiem binarnym, a nasze poziomy baterii będą czujnikiem w Hassio.
W moim głównym pliku configuration.yaml dodałem kilka linii, aby uwzględnić zarówno czujniki binarne szablonu, jak i czujniki szablonu w osobnych plikach yaml. Nie musisz tego robić w ten sposób, ale uważam, że dzięki temu wszystko jest trochę bardziej zorganizowane. Aby to zrobić w prosty sposób, użyj edytora plików, aby utworzyć nowy plik yaml i nazwać go czymś, do czego możesz się odwołać w pliku configuration.yaml. W moim przykładzie używam templatesensor.yaml i templatebinarysensor.yaml
Należy się upewnić, że tematy i ładunki MQTT są zgodne z konfiguracją arduino lub odwrotnie.
Na koniec skonfiguruj element deski rozdzielczej, który może zobaczyć poziom naładowania baterii i czujnik ruchu.
Krok 4: Schemat i testowanie
Postępując zgodnie ze schematem okablowania, podłącz komponenty do testowania na płytce stykowej. Ważnymi uwagami w okablowaniu jest upewnienie się, że przewody uziemiające są prawidłowe dla efektu pull-down. To właśnie spowoduje, że tranzystor zresetuje WeMos D1 Mini po wybudzeniu. Powinieneś być w stanie przetestować funkcję budzenia i resetowania, podłączając WeMos D1 Mini do portu USB. Powinno się zresetować, gdy pomachasz ręką przed PIR. Jest to opcjonalne, ale możesz również wylutować diody led smd z czujnika ruchu, aby wydłużyć nieco żywotność baterii. Polecam zrobić to po przetestowaniu, czy czujnik ruchu działa zgodnie z oczekiwaniami. Jeśli masz USB podłączony do komputera, sprawdź go dwukrotnie za pomocą arduino IDE, które uruchamia się i resetuje za pomocą wyzwalacza z ruchu.
W desce rozdzielczej Hassio powinieneś być w stanie zobaczyć niektóre wartości z baterii, a także wyłączyć czujnik ruchu. Jeśli do tej pory wszystko szło dobrze, powinieneś być w biznesie! Możesz wziąć ten mały prototyp płytki prototypowej i przenieść go po domu, a będzie działał jako nowy czujnik ruchu domowej roboty. Możesz użyć tego, aby wywołać wszystko w Hassio, i skończysz tutaj, jeśli to wszystko, czego szukasz. Ale nadajmy temu ostatecznemu dopracowaniu, aby było czymś, co jest godne ostoi w domu.
Kilka wskazówek dotyczących rozwiązywania problemów
- naciskając przycisk resetowania na WeMos D1 Mini powinieneś uruchomić MQTT za pomocą kodu arduino
- odkomentuj część kodu arduino, aby zobaczyć, gdzie jest każdy krok i co robi ze sprzętem
- nie zapomnij połączyć wszystkich ujemnych punktów prowadzenia
Krok 5: Łączenie się z włącznikiem światła Wi-Fi
Na szczęście Hassio ma naprawdę świetnego kreatora automatyzacji, który może pomóc w konfiguracji. Nie zamierzam dodawać świateł ani dodatków, ale zobaczę, że ludzie w Hassio bardzo ułatwili dodawanie integracji i innych platform, którymi można sterować za pomocą Hassio. Przejdź i sprawdź, jak dodać wybrany przełącznik światła Wi-Fi.
W tym kreatorze automatyzacji chcemy zwrócić uwagę na jedną ważną rzecz, którą jest wyzwalacz. Możesz dodać szablonowy czujnik binarny jako wyzwalacz, ale odkryłem, że czujnik ruchu był nieco bardziej „zgryźliwy”, gdy poszedłem bezpośrednio z ładunkiem MQTT. Na koniec skonfiguruj wybrane przez siebie światło lub urządzenie, a czujnik powinien działać.
Krok 6: Projekt mieszkaniowy
Gdy już będziesz pewny swojej płytki prototypowej, przenieś wszystkie części na prototypową płytkę PCB i przylutuj wszystkie połączenia do najmniejszej płytki, jaką możesz znaleźć. Przewody są krótkie, ale elastyczne w przypadku odzyskiwania/edycji/naprawy. Konstrukcja obudowy to minimalna obudowa, którą można umieścić w rogu lub płaskiej powierzchni. Działa również bardzo dobrze z nieniszczącymi paskami samoprzylepnymi 3M =)
Uwaga: Trochę zapomniałem, skąd mam tę dziwną płytkę do prototypowania, więc sugeruję po prostu przycięcie płytki do rozmiaru i wywiercenie jednego lub dwóch otworów. Jeśli ten przewodnik stanie się popularny, wydam edytowaną wersję o bardziej powszechnym rozmiarze (potrzebowałem tylko dwóch czujników ruchu, a miałem dokładnie dwie z tych dziwnych tablic)
Krok 7: Zamknięcie
Mam nadzieję, że ten projekt był pomocny w twoich staraniach o uruchomienie niektórych projektów automatyki domowej. Zebranie wszystkich ruchomych części, aby wyprodukować to instruktażowe, było dla mnie dość długie, ale cieszę się, że zajęło mi to trochę czasu. Ten projekt pokazał mi trochę ograniczeń korzystania z niektórych bardziej przystępnych sposobów programowania moich ESP. Nie oznacza to, że nie powinieneś używać ESPHome, ale w przypadku projektów, które są bardziej rygorystyczne w zarządzaniu energią, może być konieczne wybranie innej drogi. Czujniki zostały ukończone około maja lub czerwca i od tego czasu nie wymagały ładowania. Do tej pory minęły około 4-5 miesięcy bez konieczności ładowania. Na marginesie, zająłem się również opracowaniem nowego układu PCB opartego na WeMos D1 Mini. Rzecz w WeMos D1 Mini polega na tym, że ma wbudowany konwerter 5V na 3V i energochłonny układ programowania USB. Oznacza to, że gdybyśmy wyeliminowali te dwa czynniki, moglibyśmy zmusić ESP8266 do zasysania jeszcze mniejszej mocy.
Jeszcze raz dziękuję za oddanie mi się w moich wędrówkach i podążanie za tym projektem.
Zalecana:
DIY czujnik oddechu z Arduino (przewodzący czujnik rozciągnięcia dzianiny): 7 kroków (ze zdjęciami)
Czujnik oddechu DIY z Arduino (przewodzący czujnik rozciągnięcia dzianiny): Ten czujnik DIY przyjmie postać przewodzącego czujnika rozciągnięcia dzianiny. Będzie owijał się wokół klatki piersiowej/żołądka, a gdy klatka piersiowa/żołądek rozszerza się i kurczy, podobnie czujnik, a w konsekwencji dane wejściowe, które są przesyłane do Arduino. Więc
Zautomatyzowany system ogrodowy zbudowany na Raspberry Pi do użytku na zewnątrz lub wewnątrz - MudPi: 16 kroków (ze zdjęciami)
Zautomatyzowany system ogrodowy Zbudowany na Raspberry Pi do użytku na zewnątrz lub wewnątrz - MudPi: Lubisz ogrodnictwo, ale nie możesz znaleźć czasu na jego pielęgnację? Być może masz jakieś rośliny doniczkowe, które wyglądają na trochę spragnione lub szukają sposobu na zautomatyzowanie hydroponiki? W tym projekcie rozwiążemy te problemy i poznamy podstawy
Opcje NVR dla domowego systemu nadzoru domowego: 3 kroki
Opcje NVR dla DIY Home Surveillance System: W części 3 tej serii oceniamy opcje NVR zarówno dla Raspberry Pi, jak i dla komputera z systemem Windows. Testujemy system MotionEye OS na Raspberry Pi 3, a następnie przyglądamy się iSpy, które jest wiodącym rozwiązaniem typu open source do nadzoru wideo i bezpieczeństwa
Praktyczny robot: 11 kroków (ze zdjęciami)
Praktyczny robot: Z wielu powodów nazywam go praktycznym robotem. Może to być używanie codziennych narzędzi, które miałaby większość ludzi, którzy pracują w domu. Dzięki wykorzystaniu wielu nadwyżek koszt jest utrzymywany na niskim poziomie. Ramię robota może podnieść przedmiot o wadze 2 funtów z
Samochodowe stereo z zasilaniem ATX i 3-drożne głośniki (do użytku domowego): 10 kroków (ze zdjęciami)
Samochodowe stereo z zasilaniem ATX i 3-drożne głośniki (do użytku domowego): Minęło trochę czasu, odkąd szukałem sposobu na zasilanie samochodowego zestawu stereo bez akumulatora 12 V, który z pewnością będę musiał później naładować. Czemu? cóż …. ponieważ mam urządzenie Sony mp3 cd usb aux ipod-kabel, 4 x 52 w watów z wyjściem podrzędnym, co jeszcze