Wszyscy znamy słowo „automatyzacja”, w przypadku którego interakcja człowieka jest minimalna, a elementami można sterować automatycznie lub zdalnie. Automatyka domowa jest bardzo popularną i wymagającą koncepcją w dziedzinie elektroniki, a także dokładamy wszelkich starań, aby ta koncepcja była zrozumiała i łatwa do zarządzania jako projekty elektroniczne. Wcześniej opracowaliśmy kilka typów projektów automatyki domowej z działającym wideo i kodem, sprawdź:
- Automatyka domowa oparta na DTMF
- Automatyka domowa oparta na GSM wykorzystująca Arduino
- Automatyka domowa sterowana komputerowo przy użyciu Arduino
- Automatyka domowa sterowana przez Bluetooth przy użyciu 8051
- Automatyka domowa sterowana zdalnie na podczerwień za pomocą Arduino
W tym projekcie zamierzamy zbudować nasz kolejny projekt automatyki domowej przy użyciu MATLAB-a i Arduino, czyli systemu automatyki domowej opartego na GUI wykorzystującego Arduino i MATLAB
Składniki:
- Arduino UNO
- Kabel USB
- ULN2003
- Przekaźnik 5 wolt
- Żarówka z uchwytem
- Przewody łączące
- Laptop
- Zasilacz
- PVT
Objaśnienie robocze:
W tym projekcie używamy MATLAB z Arduino do sterowania urządzeniami domowymi poprzez graficzny interfejs użytkownika w komputerze. Tutaj wykorzystaliśmy komunikację przewodową do przesyłania danych z komputera (MATLAB) do Arduino. Po stronie komputera użyliśmy GUI w MATLAB-ie do stworzenia kilku przycisków do sterowania urządzeniami domowymi. W celu komunikacji między Arduino i MATLAB, najpierw musimy zainstalować „ MATLAB and Simulink Support for Arduino ” lub „ Arduino IO Package ”. Aby to zrobić, wykonaj poniższe czynności lub obejrzyj poniższy film:
- Pobierz pakiet Arduino IO stąd. Musisz się zarejestrować przed pobraniem.
- Następnie nagraj / prześlij plik adioe.pde do Arduino za pomocą Arduino IDE. Ten plik adioe.pde można znaleźć w pakiecie Arduino IO - ArduinoIO \ pde \ adioe \ adioe.pde
- Następnie otwórz oprogramowanie MATLAB, przejdź przez folder Arduino IO, otwórz plik install_arduino.m i uruchom go w Matlabie. W oknie poleceń programu MATLAB pojawi się komunikat „Foldery Arduino dodane do ścieżki”, co oznacza, że ścieżka MATLAB została zaktualizowana do folderów Arduino.
W ten sposób tworzymy Arduino, komunikujemy się z MATLAB. Powyższa metoda jest odpowiednia dla „MATLAB R2013b lub wcześniejszych wersji”, jeśli używasz wyższej wersji MATLAB (np. R2015b lub R2016a), możesz bezpośrednio kliknąć zakładkę Dodatki w MATLAB, a następnie kliknąć „Uzyskaj pakiety wsparcia sprzętowego”, skąd możesz zainstalować pakiety Arduino dla MATLAB.
Po zainstalowaniu plików możesz teraz utworzyć GUI dla projektu automatyki domowej. Zasadniczo w GUI tworzymy przyciski do sterowania urządzeniami gospodarstwa domowego z komputera. Przyciski można tworzyć przechodząc do „Graficznego interfejsu użytkownika” w menu „Nowy” w programie MATLAB. Dalej możemy ustawić nazwy i kolory tych przycisków, stworzyliśmy 8 przycisków, w których sześć do włączania i wyłączania trzech urządzeń domowych i dwa przyciski do włączania i wyłączania wszystkich urządzeń jednocześnie.
Teraz po utworzeniu przycisków, po kliknięciu przycisku Uruchom w tym oknie GUI, poprosi Cię o zapisanie tego pliku GUI (z rozszerzeniem.fig), znanego również jako „ plik fig”. Gdy tylko zapiszesz plik, automatycznie utworzy plik kodu (z rozszerzeniem.m), znany również jako „ plik M” (patrz zrzut ekranu poniżej), w którym możesz umieścić Kod (podany w sekcji Kod poniżej). Możesz pobrać plik GUI i plik kodu dla tego projektu stąd: Home_Automation_system.fig i Home_Automation_system.m (kliknij prawym przyciskiem myszy i wybierz Zapisz link jako…), lub możesz stworzyć je samodzielnie, jak wyjaśniliśmy.
Po zakodowaniu możesz wreszcie uruchomić plik.m z okna kodu, w oknie poleceń zobaczysz „Próbuję nawiązać połączenie…”. Następnie pojawia się komunikat „Połączenie Arduino zakończone pomyślnie”, jeśli wszystko pójdzie dobrze. I na koniec zobaczysz wcześniej utworzone GUI (przyciski) w oknie GUI, z którego możesz sterować urządzeniami gospodarstwa domowego, po prostu klikając przyciski w swoim komputerze. Upewnij się, że Arduino jest połączone z Arduino za pomocą kabla USB. Tutaj w tym projekcie użyliśmy 3 żarówek do demonstracji, co oznacza wentylator, światło i telewizor.
Działanie całego projektu, od zainstalowania pakietu wsparcia Arduino MATLAB do włączenia lub wyłączenia urządzenia, można zrozumieć na wideo na końcu.
Objaśnienie obwodu:
Obwód tego projektu jest bardzo łatwy. Tutaj użyliśmy płyty Arduino UNO i sterownika przekaźnika ULN2003 do sterowania przekaźnikami. Trzy 5-woltowe przekaźniki SPDT są podłączone do pinów Arduino 3, 4 i 5, poprzez sterownik przekaźnika ULN2003, w celu sterowania odpowiednio ŚWIATŁEM, WENTYLATOREM i telewizorem.
Objaśnienie programowania:
Po naciśnięciu dowolnego przycisku w oknie GUI wysyła on polecenia do Arduino, a następnie Arduino wykonuje tę operację. Po zainstalowaniu pakietu wsparcia Arduino MATLAB IO, możemy uzyskać dostęp do Arduino z poziomu MATLAB za pomocą tych samych funkcji Arduino, z niewielkimi zmianami, takimi jak:
Aby zrobić pin HIGH w Arduino piszemy kod jako digitalWrite (pin, HIGH)
W MATLAB-ie będziemy używać tej funkcji za pomocą obiektu lub zmiennej takiej jak, i tak dalej.
Zanim to zrobimy, musimy zainicjalizować zmienną w następujący sposób:
W tym projekcie nie ma kodu Arduino poza kodem lub plikiem pakietu wsparcia Arduino MATLAB. Jak wyjaśniono wcześniej, ten plik kodu (plik.m) jest generowany automatycznie podczas zapisywania pliku GUI (plik.fig). W pliku.m jest już wstępnie zapisany kod. Zasadniczo są to funkcje wywołania zwrotnego dla przycisków Push, co oznacza, że możemy zdefiniować, co powinno się stać po kliknięciu tych przycisków.
W kodzie MATLAB-a najpierw inicjalizujemy port szeregowy i robimy z niego obiekt za pomocą zmiennej. A potem możemy zacząć programować jak Arduino używając zmiennej.
jasne ar; globalny ar; ar = arduino ('COM13'); ar.pinMode (3, 'OUTPUT'); ar.pinMode (4, 'OUTPUT'); ar.pinMode (5, 'OUTPUT'); ar.pinMode (13, 'OUTPUT');
W funkcji oddzwaniania każdego przycisku zapisaliśmy powiązany kod włączania lub wyłączania odpowiednich urządzeń domowych, podłączonych do Arduino za pomocą przekaźnika. Jak na przykład funkcja Callback dla Light ON jest podana poniżej:
function light_on_Callback (hObject, eventdata, handles)% hObject uchwyt do light_on (patrz GCBO)% eventdata zarezerwowane - do zdefiniowania w przyszłej wersji MATLAB% obsługuje strukturę z uchwytami i danymi użytkownika (patrz GUIDATA) global ar; ar.digitalWrite (3, 1); ar.digitalWrite (13, 1);
Podobnie możemy napisać kod w funkcjach wywołania zwrotnego wszystkich przycisków, aby kontrolować inne podłączone urządzenia domowe, sprawdź pełny kod MATLABa poniżej (plik.m).