Svima nam je poznata riječ 'automatizacija', gdje je ljudska interakcija minimalna i stvarima se može upravljati automatski ili daljinski. Kućna automatizacija vrlo je popularan i zahtjevan koncept na polju elektronike, a mi također ulažemo sve napore kako bismo ovaj koncept učinili lako razumljivim i upravljivim kao Elektronički projekti. Prethodno smo razvili nekoliko vrsta projekata automatizacije kuće s funkcionalnim videom i kodom, provjerite:
- DTMF automatizirana kuća
- GSM automatizirana kuća koristeći Arduino
- Automatizacija kuće pomoću PC-a pomoću Arduina
- Kućna automatizacija kontrolirana Bluetoothom pomoću 8051
- IR daljinska kontrola kućne automatizacije pomoću Arduina
I u ovom projektu izgradit ćemo sljedeći projekt automatizacije kuće koristeći MATLAB i Arduino, koji je sustav za automatizaciju kuće zasnovan na GUI-u koji koristi Arduino i MATLAB
Komponente:
- Arduino UNO
- USB kabl
- ULN2003
- Relej 5 volti
- Žarulja s držačem
- Spajanje žica
- Laptop
- Napajanje
- PVT
Radno objašnjenje:
U ovom projektu koristimo MATLAB s Arduinom za kontrolu kućanskih aparata putem grafičkog korisničkog sučelja u računalu. Ovdje smo koristili žičanu komunikaciju za slanje podataka s računala (MATLAB) na Arduino. Što se tiče računala, koristili smo GUI u MATLAB-u kako bismo stvorili neke tipke za upravljanje kućanskim aparatima. Za komunikaciju između Arduina i MATLAB-a prvo moramo instalirati „ MATLAB i Simulink podršku za Arduino “ ili „ Arduino IO paket “. Da biste to učinili, slijedite korake u nastavku ili pogledajte video u nastavku:
- Preuzmite Arduino IO paket odavde. Prije preuzimanja morate se prijaviti.
- Zatim narežite / prenesite datoteku adioe.pde u Arduino pomoću Arduino IDE-a. Ova datoteka adioe.pde može se naći u Arduino IO paketu - ArduinoIO \ pde \ adioe \ adioe.pde
- Zatim otvorite softver MATLAB, prođite kroz mapu Arduino IO, otvorite datoteku install_arduino.m i pokrenite je u Matlabu. Vidjet ćete poruku "Arduino mape dodane na stazu" u naredbenom prozoru MATLAB-a, znači da se MATLAB puta ažurira na Arduino mape.
Tako izrađujemo Arduino, komuniciramo s MATLAB-om. Gornja metoda prikladna je za „MATLAB R2013b ili starije verzije“, ako koristite višu verziju MATLAB-a (poput R2015b ili R2016a), možete izravno kliknuti na karticu Dodaci u MATLAB-u, a zatim kliknuti „Dohvati pakete hardverske podrške“, odakle možete instalirati Arduino pakete za MATLAB.
Nakon instalacije datoteka, sada možete stvoriti GUI za projekt automatizacije kuće. U osnovi u GUI-u, stvaramo tipke za upravljanje kućanskim aparatima s računala. Gumbi se mogu stvoriti ulaskom u "Grafičko korisničko sučelje" u izborniku "Novo" u MATLAB-u. Nadalje možemo postaviti naziv i boje ovih tipki, stvorili smo 8 tipki, u kojima šest istovremeno uključuje i isključuje tri kućanska aparata i dvije tipke za istovremeno uključivanje i isključivanje svih uređaja.
Nakon stvaranja gumba, kada kliknete na gumb Run u tom GUI prozoru, zatražit će od vas da spremite ovu GUI datoteku (s nastavkom.fig), poznatu i kao ' fig datoteka'. Čim ste spremili datoteku, ona će automatski stvoriti datoteku koda (s ekstenzijom.m), poznatu i kao ' datoteka M' (pogledajte donji snimak zaslona), gdje možete staviti kôd (dan u odjeljku koda dolje). GUI datoteku i datoteku koda za ovaj projekt možete preuzeti ovdje: Home_Automation_system.fig i Home_Automation_system.m (desni klik i odaberite Spremi vezu kao…) ili ih možete sami stvoriti kao što smo objasnili.

Nakon kodiranja sada napokon možete pokrenuti.m datoteku iz prozora koda, u naredbenom prozoru vidjet ćete “Pokušaj veze..”. Tada se pojavljuje poruka "Arduino uspješno povezan", ako sve bude u redu. I na kraju ćete vidjeti prethodno stvoreni GUI (gumbe) u GUI prozoru, odakle možete upravljati kućanskim aparatima samo klikom na gumbe na vašem računalu. Provjerite je li Arduino povezan s Arduinom putem USB kabela. Ovdje smo u ovom projektu koristili 3 žarulje za demonstraciju, što označava ventilator, svjetlo i TV.

Rad cijelog projekta, od instaliranja paketa podrške Arduino MATLAB do uključivanja ili isključivanja uređaja, može se razumjeti u videu na kraju.
Objašnjenje sklopa:
Krug ovog projekta je vrlo jednostavan. Ovdje smo za pogon releja koristili ploču Arduino UNO i pokretač releja ULN2003. Tri SPDT releja od 5 volti spojena su na Arduino pin broj 3, 4 i 5, preko pokretača releja ULN2003, za upravljanje LIGHT, FAN i TV.

Objašnjenje programiranja:
Kada pritisnemo bilo koju tipku iz prozora GUI-a, on šalje neke naredbe Arduinu, a zatim Arduino izvrši tu operaciju. Nakon instaliranja Arduino MATLAB IO paketa podrške, možemo pristupiti Arduinu iz MATLAB-a koristeći iste funkcije Arduino-a, uz neke male varijacije, poput:
Za izradu pin HIGH u Arduinu pišemo kod kao digitalWrite (pin, HIGH)
U MATLAB-u ćemo ovu funkciju koristiti uz pomoć objekta ili varijable, i isto tako dalje.
Prije nego što to učinimo, moramo inicijalizirati varijablu poput ove:
U ovom projektu ne postoji Arduino kôd osim koda ili datoteke paketa podrške Arduino MATLAB. Kao što je ranije objašnjeno, datoteka s kodom (.m datoteka) automatski se generira tijekom spremanja GUI datoteke (.fig datoteka). Već postoji neki kôd unaprijed napisan u.m datoteci. U osnovi su ovo funkcije povratnog poziva za tipke, što znači da možemo definirati što bi se trebalo dogoditi klikom na ove tipke.
U MATLAB kodu prvo inicijaliziramo serijski port i pretvaramo ga u objekt pomoću varijable. A onda možemo početi programirati poput Arduina koristeći varijablu.
bistri ar; globalni ar; ar = arduino ('COM13'); ar.pinMode (3, 'IZLAZ'); ar.pinMode (4, 'IZLAZ'); ar.pinMode (5, 'IZLAZ'); ar.pinMode (13, 'IZLAZ');
U funkciji povratnog poziva svakog gumba napisali smo povezani kod za uključivanje ili isključivanje odgovarajućih kućanskih uređaja povezanih na Arduino putem releja. Kao na primjer, funkcija povratnog poziva za ON uključena je u nastavku:
funkcija light_on_Callback (hObject, eventdata, handles)% hObject handle za light_on (vidi GCBO)% eventdata rezervirano - da se definira u budućoj verziji MATLAB% handles structure with handles and user data (see GUIDATA) global ar; ar.digitalWrite (3, 1); ar.digitalWrite (13, 1);
Isto tako, kod u funkcijama povratnog poziva svih tipki možemo napisati kod, da bismo kontrolirali ostale povezane kućanske uređaje, provjerite cjeloviti MATLAB kod u nastavku (.m datoteka).
