Sterowanie elektrycznymi urządzeniami domowymi przez telefon.

Sterowanie elektrycznymi urządzeniami domowymi przez telefon.

Przeznaczenie projektu

 

Celem mojej pracy jest pokazanie jak można zautomatyzować szczególne pomieszczenia w domu tanim kosztem. Szczególną uwagę skupiłem na podstawowe urządzenia których używamy na co dzień. Są to między innymi: oświetlenie; klimatyzacja; urządzenia podłączane do gniazd elektrycznych oraz kontrola aktualnej temperatury i wilgotności. Mój projekt ma na celu ułatwienie życia codziennego w domu, mieszkaniu poprzez sterowanie nimi bezprzewodowo za pomocą smartfonu z pokładu aplikacji. Podstawowe funkcje tych urządzen będą zachowane. Możliwe jest dalej manulane sterowanie za pomocą przycisków lub łaczników. Dodatkowo możliwa jest kontrola tempeartury i wilgotności. Wszystkie funkcje wykonywane przez sterownik będą wyświetlane na panelu lcd.

 

Opis rozwiązania

 

Opublikuj swój projekt i odbierz 50% rabatu do wykorzystania w sklepie Nettigo.pl

Projekt został zbudowany w czterech etapach. Pierwszy polegał na doborze sterownika, czyli serca całego projektu, oraz elementów składowych. Drugi etap polegał na stworzeniu programu sterującego całym systemem i elementami układu. Trzeci na stworzeniu aplikacji kompatybilnej z programem. Ostatni etap to stworzenie obudowy,  połączenie i umieszczenie elementów w jej wnętrzu.

 

Etap I

Jako mikrokontroler sterujący całym systemem został wybrany 8-bitowy AVR, pracujący z częstotliwościa 16 MHz Atmega328p na pokładzie arduino nano, ze względu na przyjazne środowisko programowania oraz dużą ilość rozszerzeń i modułów. Jako czujnik temperatury zastosowano DHT, z zakresem temperatury od – 40 do +80°C ± 0,5 °C oraz wilgotności od 0 % do 100 % RH  ±2 %RH. Łączność bezprzewodową zapewnia moduł bluetooth HC-05 o mocy +4dBm. Wyświetlacz alfanumeryczny LCD 2×16 znaków,  przekaźniki o prądzie znamionowym 10A oraz mosfet 5ONO24. Układ zasilany transformatorem, obudowa PCV.

 

 

Etap II

Program został napisany językiem zbliżonym do C/C++, w środowisku Arduino IDE. W kodzie użyto funkcji dostarczanych w bibliotekach razem z kompilatorem Arduino.

 

Rys.1   Biblioteka Wire.h oraz LiquidCrystal_I2C.h umożliwiają wysyłanie danych poprzez magistralę I2C szynami SCL i SDA, dzięki nim do wyświetlania tekstu na panelu lcd potrzeba tylko czterech przewodów. Następnie definiujemy stałe wartości i przyporządkowywujemy im odpowiednie piny kontrolera. Dyrektywa #define pozwoli na zdefiniowanie symbolu który będzie podmieniany przed kompilacją w każdym miejscu programu, co ułatwi ewentualne zmiany w programie. Zadeklarowano zmienne typu int, do wykonywania operacji matematycznych oraz unsigned long, do przechowywania dużej ilości danych. Określamy typ czujnika DHT, oraz rodzaj wyświetlacza lcd.

 

 
Sterowanie elektrycznymi urządzeniami domowymi przez telefon.

Rys.1

 

 

 

 

 

 

 

 

 

 

 

Rys.2   Procedura setup ma za zadanie wykonać jednorazowo blok instrukcji, które się w niej znajdują, służy głównie do ustawień. Ustawiono w niej prędkość transmisji na wartośc 9600 baud-rate. Ustawiamy stany logiczne na wyjściach, aby po właczeniu programu, urządzenia do niego podpięte były wyłączone. A także ustawiono dane piny jako wyjsia i przyciski, wybrano typ czujnika temperatury i wilgotności. Zainicjowano, aby zaraz po włączeniu w dwóch linijkach pokazał się tekst „Daniel K, Inteligentny dom”.

 

 

 

 
Sterowanie elektrycznymi urządzeniami domowymi przez telefon.

Rys.2

 

 

 

 

 

 

 

 

Rys.3

 Sterowanie elektrycznymi urządzeniami domowymi przez telefon.

Rys.3   W fukcji loop zawarte są instrukcje wykonywane cały czas. Wprowadzone są zmienne int odczytujące dane z czujnika temperatury i wilgotności. Wykorzystujemy w całym programie opóźnienia z millis, dlatego musimy w tej częsci programu sprawdzić aktualny czas i go zapamiętać. Wykorzystujemy instrukcje warunkowe if. W pierwszej warunkiem będzie odczyt liczby bajtów z portu szeregowego, jeśli ta wartość będzie większa od zera i będzie wynosic określoną wielkość, to  arduino wykona określoną czynność. Przykładowo jeśli otrzyma wartość „a” załączy przekaźnik i poinformuje na wyświetlaczu, że światło

 w kuchni jest włączone, bo właśnie za to

ten przekaźnik jest odpowiedzialny. Analogicznie

 zostały zaprogramowane inne przekazniki, mosfet i czujnik.

 

 

 

Rys.4

 Sterowanie elektrycznymi urządzeniami domowymi przez telefon.

Rys.4   Kolejnym warunkiem jest odczytanie stanu styków w przyciskach. Jeśli ktoryś z nich zmieni stan na niski, przypisany do niego przekaźnik lub mosfet zmienia stan na przeciwny, wykorzystana została tutaj negacja. Każda operacja wykonywana przez mikrokontroler jest wyświetlana na panelu lcd, informując użytkownika o tym co się

aktualnie dzieje.

 

 

Rys.5Sterowanie elektrycznymi urządzeniami domowymi przez telefon.

 

Rys.5   Ostatnim warunkiem jest wyświetlenie napisu startowego, w moim przypadku „Miłego Dnia” oraz aktualna temperatura. Jest to wyświetlane po około 20 sekundach bezczynności.

 

 

 

 

Etap III

Aplikacja stworzona została w oparciu o App Inventor. Zaprojektowany został wygląd aplikacji, jak widać na rysunku (Rys.10) Przycisk „Połącz” otwiera listę dostępnych urządzen bluetooth, tam wybieramy nasz moduł HC-05. Pod nim wyświetlana jest informacja o stanie połączenia. W dolnej cześci przyciski ON i OFF odpowiadają za włączanie i wyłączanie opisanych urządzeń, po kliknięciu na nie, podświetlają się one na kolor zielony-ON, czerwony-OFF. Po wciśnięciu „Temperatura i Wilgotność” na panelu lcd wyświetlane są dane pobrane z czujnika DHT. Do każdego przycisku przypisana jest wartość którą aplikacja wysyła do arduino.

 

 

 

 

 

Etap IV

Rys.6

 Sterowanie elektrycznymi urządzeniami domowymi przez telefon.

Początkowo cały układ został zamontowany na płytce stykowej (Rys.6), następie wgrany program, sprawdzona poprawnosć działania wszystkich funkcji. Ewentualne błędy zostały poprawione. Można było przejśc do właściwego montażu poprzez połączenia lutowane na uniwersalnej płytce drukowanej PCB. Elementy dobrane w etapie I zostały umieszczone w obudowie PCV o wymiarach 150x110x70mm (Rys.7). Na rysunku tym zaznaczono w kolorze czarnym strefę napięcia sieciowego, styki przekaźników oraz transformator zasilający. Kolorem czerwonym oznaczono zasilanie wiatraka klimatyzacji, oraz układ sterowania MOSFETem - sygnał wysoki z arduino poprzez rezystor wprowadza mosfet w stan przewodzenia, a gdy sygnał ten zmieni stan na niski, zastosowany rezystor między bramkę a źródło, polaryzuje mosfet zaporowo.  Kolorem zielonym zaznaczono cały mikrokontroler wraz ze stabilizatorem napięcia oraz moduł do komunikacji bluetooth. Na żółto jest oznaczony czujnik DHT. Na pokrywie (Rys.8) znajduje się wyświetlacz lcd oraz trzy przyciski monostabilne.

 

 

       
 

Rys.7Sterowanie elektrycznymi urządzeniami domowymi przez telefon.

 

 

Rys.8Sterowanie elektrycznymi urządzeniami domowymi przez telefon.

 

Wyniki

 

W efekcie powstało urządzenie (Rys.9) które umożliwia sterować trzema odbiornikami elektrycznymi poprzez aplikację (Rys.10). Pierwszy jest zapisany jako „Światło Kuchnia”, drugi „Światło Salon”, dla odzwierciedlenia użyłem tutaj żarówek jako źródła światła. Załączane są przekaźnikiem przez którego styki może płynąć maksymalny prąd 10A przy napięciu 250V AC. Co pozwala na wpięcie innego odbiornika o mocy do 250W. Trzeci zapisany jako „Klimatyzacja” sterowany tranzystorem unipolarnym MOSFET z kanałem typu N. Podpięty jest tu silniczek elektryczny z wiatrakiem, zasilany napięciem 6V.

 
Sterowanie elektrycznymi urządzeniami domowymi przez telefon.

Rys.9

 

 

 

Urządzenie sterujace w stanie pracy pobiera około 40mA, przy załączaniu przekaźników i komunikacji bluetooth prąd wzrasta, lecz do jego zasilenia wystarczył transformator mocy 2W. Napięcie po stronie wtórnej o wartości 8V filtrowane jest poprzez prostownik dwupołówkowy i kondensator wygładzający, następnie przez stabilizator. Uzyskałem w ten sposób napięcie stałe wartosci bliskiej 5V,  którym zasilany jest mikrokontroler i jego moduły.

Rys.10

 Sterowanie elektrycznymi urządzeniami domowymi przez telefon.

Po włączeniu zasilania, wyświetla się ekran startowy (Rys.11) Arduino komunikuje się z telefonem poprzez bluetooth o zasięgu do 10 metrów, po wcisnięciu przycisku w aplikacji, podświetla się ona na odpowiedni kolor, wysyła dane do arduino, a ten wykonuję zadaną operację, załączając urzadzenie (Rys.12) (Rys.13)  lub mierząc temperaturę (Rys.14). Gdy w przeciągu 20 sekund arduino nie otrzyma

żadnych danych z aplikacji, wyświetla napis „Miłego Dnia” oraz aktualną temperaturę (Rys.15), z aktualizacją co kilka sekund. Poprzez przyciski na obudowie także można sterować stanem urządzeń (Rys.16).

W miarę potrzeb można podpiąć większą ilość przekaźników i MOSFETów bądź czujników temperatury i wilgotności, dodając kolejne linijki kodu i przyciski w aplikacji. Tym sposobem zwykły smartfon może zamienic się w głowny łącznik, pośrednio sterując wszystkimi urządzeniami w domu lub mieszkaniu i kontrolując ich parametry.

Jest to projekt przyszłosciowy, znajdzie on zastosowanie w każdym mieszkaniu, domu, pomieszczeniu. Odbiorcą może być każdy, posiadający smartfon lub tablet.  Już teraz montowane są systemy inteligentnych domów, lecz ceny ich wahają się w tysiącach złotych. A ten projekt udało się zakończyć nie przekraczając kwoty do 100zł. Sterowanie elektrycznymi urządzeniami domowymi ułatwi funkcjonowanie, gdy podczas pracy będziemy potrzebowali załączyć oświetlenie, bądź ochłodzić/ogrzać miejsce pracy, nie ruszając się z miejsca można zrealizować te czynności. Przykładów zastosowania jest wiele.

Rys.11Sterowanie elektrycznymi urządzeniami domowymi przez telefon.

                                 Rys.12Sterowanie elektrycznymi urządzeniami domowymi przez telefon.

Rys.13Sterowanie elektrycznymi urządzeniami domowymi przez telefon.

                                Rys.14Sterowanie elektrycznymi urządzeniami domowymi przez telefon.

Rys.15Sterowanie elektrycznymi urządzeniami domowymi przez telefon.

                                 Rys.16Sterowanie elektrycznymi urządzeniami domowymi przez telefon.

Działanie projektu na filmie: https://youtu.be/nZjgMjTdOis

Źródła

 

Ocena: 5/5 (głosów: 1)
Nettigo - patron działu Elektronika

Podobne posty

Regulator PID na arduino.

Regulator PID na arduino.

Witam wszystkich majsterkowiczów! Chciałbym przedstawić wam moje nagranie dotyczące realizacji regulatora PID przy użyciu arduino.Regulatory…

2 komentarzy do “Sterowanie elektrycznymi urządzeniami domowymi przez telefon.

Odpowiedz

anuluj

Sterowanie elektrycznymi urządzeniami domowymi przez telefon.

Nie przegap nowych projektów!

Zapisując się na nasz Newsletter będziesz miał pewność, że nie przegapisz żadnego nowego projektu opublikowanego w Majsterkowie!

Od teraz nie przegapisz żadnego projektu!

Masz uwagi?