Serwisy partnerskie:
Close icon
Serwisy partnerskie

Bezdotykowy przełącznik sterowany gestem dla inteligentnego domu

Aby uniknąć ryzyka zarażenia się wirusem Covid-19, ważne jest, aby nie dotykać powierzchni, w tym przełączników, klamek i kluczy, które były często używane przez inne osoby. Ten projekt dotyczy bezdotykowego przełącznika, który działa z gestami dłoni.
Article Image

Inteligentny przełącznik zawiera czujnik, który może wykryć ruchy dłoni i przetłumaczyć je na komendy do sterowania światłami, wentylatorami i różnymi innymi urządzeniami domowymi. Opracowany przez autora prototyp takiego przełącznika, z wyświetlaczem OLED zainstalowanym na rozdzielnicy ściennej, pokazano na fotografii 1.

Fotografia 1. Prototyp przełącznika bezdotykowego sterowanego gestami z wyświetlaczem OLED

Kodowanie

W pierwszej kolejności należy zainstalować wymagane biblioteki w Arduino IDE. Przejdź do Select → Library Manager i wyszukaj APDS9960 oraz U8g2lib jak pokazano na rysunku 2. Następnie trzeba dodać każdą z bibliotek do kodu Arduino, jak pokazano na rysunku 3. Potem należy zdefiniować numery pinów Arduino do sterowania oświetleniem i wentylatorem. Następnie utworzyć funkcję setup(), w której będzie można zainicjalizować czujnik oraz ustawić tryb pinów wyjściowych do sterowania światłem i wentylatorem, jak pokazano na rysunku 4.

Rysunek 2. Okno Library Manager
Rysunek 3. Kod Arduino z bibliotekami i numerami pinów dla światła i wentylatora
Rysunek 4. Kod funkcji setup() z funkcjami pinMode

Dalej należy utworzyć funkcję loop(), która będzie aktualizować odczyty z czujnika i wykorzystywać gesty dłoni jako dane wejściowe do sterowania pinami wyjściowymi Arduino. Należy dodać instrukcję switch(), jak pokazano na rysunku 5, do określania poleceń w zależności od rodzaju gestów ręki (w górę, w dół, w lewo i w prawo). Ikony (symbole strzałek) poniżej wskazują gesty i polecenia, które mają być wyświetlane na wyświetlaczu OLED:

W górę: Światło włączone
Dół: Światło wyłączone
W lewo: Wentylator włączony
W prawo: Wentylator wyłączony

Po zakończeniu kodowania, skompiluj kod w Arduino IDE i wgraj go na płytkę Arduino.

Rysunek 5. Kod Arduino z warunkami dla instrukcji switch()

Podłączenie i testowanie

Podłącz elementy jak pokazano na rysunku 6. Następnie połącz sieć 230 V AC ze wspólnym pinem modułu przekaźnikowego do sterowania oświetleniem i wentylatorem jak pokazano na rysunku 7.

Rysunek 6. Schemat połączeń
Rysunek 7. Połączenia przekaźników z żarówką i wentylatorem
Połączenia Arduino z OLED i czujnikiem gestów APDS
Arduino Pro Micro
OLED i APDS 9960
SDA (pin 2)
SDA
SCL (pin 3)
SCL
GND
GND
VCC
VCC

W kolejnym kroku należy zainstalować automatyczny wyłącznik bezdotykowy na rozdzielnicy ściennej jak pokazano na fotografii 8. Podłączyć zasilacz 5 V do zasilania urządzenia i modułu przekaźnikowego.

Fotografia 8. Instalacja przełącznika sterowanego gestami na tablicy rozdzielczej

Po przesunięciu ręki z dołu do góry przed czujnikiem, zapali się światło i jednocześnie na wyświetlaczu OLED pojawi się strzałka w górę. Jeśli przesuniemy rękę z góry do dołu, światło zgaśnie, a na wyświetlaczu OLED pojawi się strzałka w dół.

Analogicznie, gdy przesuniemy rękę z lewej strony na prawą przed czujnikiem, wentylator włączy się, a symbol strzałki w lewo zostanie wyświetlony na OLED. Jeśli przesuniemy rękę z prawej strony na lewą, wentylator wyłączy się, a na wyświetlaczu OLED pojawi się symbol strzałki w prawo.

Ten artykuł został po raz pierwszy opublikowany online 8 września 2020 r. i ukazał się w wydaniu EFY Print grudzień 2020.

Do pobrania
Download icon Bezdotykowy przełącznik sterowany gestem dla inteligentnego domu - kod źródłowy
AUTOR
Źródło
www.electronicsforu.com
Udostępnij
UK Logo