Spisu treści:

Praktyczny czujnik PIR do użytku domowego: 7 kroków (ze zdjęciami)
Praktyczny czujnik PIR do użytku domowego: 7 kroków (ze zdjęciami)

Wideo: Praktyczny czujnik PIR do użytku domowego: 7 kroków (ze zdjęciami)

Wideo: Praktyczny czujnik PIR do użytku domowego: 7 kroków (ze zdjęciami)
Wideo: Czujnik ruchu PIR HC-SR501, pasek diod LED oraz Atmega8 2024, Listopad
Anonim
Praktyczny czujnik PIR do użytku domowego
Praktyczny czujnik PIR do użytku domowego

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

Rozwój
Rozwój
Rozwój
Rozwój
Rozwój
Rozwój
Rozwój
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

Materiały
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

Kod podstawowy i Arduino
Kod podstawowy i Arduino
Kod podstawowy i Arduino
Kod podstawowy i Arduino
Kod podstawowy i Arduino
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

Schemat i testowanie
Schemat i testowanie
Schemat i testowanie
Schemat i testowanie
Schemat i testowanie
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

Łączenie z włącznikiem światła Wi-Fi
Łączenie z włącznikiem światła Wi-Fi
Łączenie z włącznikiem światła Wi-Fi
Łączenie 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

Projekt mieszkaniowy
Projekt mieszkaniowy
Projekt mieszkaniowy
Projekt mieszkaniowy
Projekt mieszkaniowy
Projekt mieszkaniowy
Projekt mieszkaniowy
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

Zamknięcie
Zamknięcie
Zamknięcie
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: