Czujnik otwarcia bramy garażowej za 11 zł – HC-SR04 i NodeMCU V3

Nastał w końcu czas na wykorzystanie całej masy różnych czujników, na których uczyłem się podstaw Arduino, RaspberryPi, pisania skryptów itp. Wiele wieczorów spędzonych na walce ze złośliwością rzeczy martwych przyniosło w większości wymierne sukcesy. Po tych bojach pozostało mi kilka czujników, które czekają cierpliwie na pomysł jak je wykorzystać w praktyce. Aby zrobić miejsce na następne ( plany zakupowe są szeroko zakrojone ) postanowiłem nie kupować kolejnych dopóki nie wykorzystam już posiadanych. Na pierwszy ogień poszedł  ultradźwiękowy czujnik odległości HC-SR04. Zdecydowałem się wykorzystać go do monitoringu otwarcia bramy garażowej. Ponieważ konstrukcja bramy uniemożliwia montaż kontaktora, trzeba było coś wymyślić. Dedykowane, gotowe rozwiązania, zwłaszcza pod Z-wave potrafią kosztować grubo ponad 100 zł, warto więc podjąć wyzwanie.

Znalezione obrazy dla zapytania hc-sr04

Specyfikacje czujnika łatwo znaleźć w internecie, więc skupię się na kilku, moim zdaniem istotnych szczegółach. Zasięg czujnika mieści się w granicach od 2 do 200 cm. Sprawdzałem go w rożnych warunkach i potrafił zmierzyć nawet do 5 m, jednak nie polegałbym za nadto na tych pomiarach. Drugim, bardzo ważnym szczegółem jest fakt, iż czujnik jest zasilany napięciem 5 V. Jest to istotne w przypadku podłączenia do płytki NodeMCU V3, o czy za chwilę.

Schemat podłączenia czujnika do płytki.

Z uwagi na fakt, iż nie za bardzo ufam jakości czujników z Chin, od jakiegoś czasu najpierw testuje je na Arduino i jeżeli jest w porządku zaczynam zabawę z Domoticzem.

img_20180220_172513-1.jpg

Czujnik podłączamy w następujący sposób.

  • VCC – zasilanie 5V
  • GND – masa
  • ECHO – wyjście sygnału ( u mnie pod pin D7 )
  • TRIG – wejście wyzwalające ( u mnie pod pin D6 )

Na zdjęciu powyżej czujnik podłączony jest do płytki AMICA V2. Idąc po taniości zdecydowałem się na użycie tańszej płytki LOLIN V3. W V2 zasilanie 5V wyprowadzone jest na pin VIN. W naiwności swojej myślałem, iż tak też jest na płytce LOLIN. Już myślałem, że urządzenie jest niesprawne ( dostawałem cały czas odczyty 0 cm ), jednak po zapoznaniu się z poniższym schematem odkryłem, iż na płytce V3 zasilanie 5V jest wyprowadzone na pin VV. Po podłączeniu zasilania VCC czujnika do pinu VV LOLIN płytka ożyła.

Znalezione obrazy dla zapytania nodemcu v3 gpio

Wgranie ESPEASY na płytkę LOLIN V3.

Teraz sprawa była już prosta. Jak to zrobić opisałem tutaj.  Po wgraniu softu dodajemy czujnik.

FireShot Capture 16 - newdevice - http___192.168.2.87_devices_index=4&page=1.png

I oto mamy już odczyty.

 

Screenshot_20180220_173807.png

Możemy dodać wirtualny czujnik do Domoticza i cieszymy się odczytami. Jednak w tym przypadku będziemy chcieli jedynie wiedzieć czy brama jest otwarta czy zamknięta, więc dodamy zwykły przełącznik.

FireShot Capture 18 - Domoticz - http___192.168.2.214_9009_#_Hardware

FireShot Capture 19 - Domoticz - http___192.168.2.214_9009_#_LightSwitches.png

 

Budowa sensora otwarcia bramy garażowej.

W tytule wpisu, napisałem że zrobimy kompletny sensor. Montowanie płytki stykowej na ścianie w garażu jest mało praktyczne.

Lista zakupów ( ceny z chińskich portali ):

  • HC-SR04 – 1,73 zł
  • NodeMCU V3 – 7,32 zł
  • puszka – ok. 2,0 zł
  • przewody, kabel zasilający, klej na gorąco, wkręty – 0 zł ( domowe zapasy )

Razem:  11,05 zł

Składamy wszystko do kupy.

Montujemy czujnik w garażu. U mnie odległość czujnika od bramy wynosi ok. 124 cm. Jeżeli więc odczyt jest większy znaczy, że brama jest otwarta i w Domoticzu zmieni się stan przełącznika.

Piszemy banalne zdarzenie.

fireshot-capture-25-domoticz-http___192-168-2-214_9009__events.png

I działa. Jednego czujnika mniej w pudełku.