Všetci poznáme slovo „automatizácia“, kde je ľudská interakcia minimálna a veci je možné ovládať automaticky alebo na diaľku. Domáca automatizácia je veľmi populárny a náročný koncept v oblasti elektroniky. Vynakladáme maximálne úsilie, aby bol tento koncept ľahko zrozumiteľný a spravovateľný ako projekty elektroniky. Predtým sme vyvinuli niekoľko typov projektov domácej automatizácie s fungujúcim videom a kódom. Skontrolujte:
- Domáca automatizácia založená na DTMF
- Domáca automatizácia založená na GSM pomocou Arduina
- Domáca automatizácia riadená počítačom pomocou Arduina
- Bluetooth riadená domáca automatizácia pomocou 8051
- IR diaľkovo ovládaná domáca automatizácia pomocou Arduina
A v tomto projekte budeme budovať náš ďalší projekt domácej automatizácie pomocou MATLAB a Arduino, čo je systém domácej automatizácie založený na GUI využívajúci Arduino a MATLAB
Komponenty:
- Arduino UNO
- USB kábel
- ULN2003
- Relé 5 volt
- Žiarovka s držiakom
- Pripojovacie vodiče
- Notebook
- Zdroj
- PVT
Pracovné vysvetlenie:
V tomto projekte používame MATLAB s Arduinom na ovládanie domácich spotrebičov prostredníctvom grafického používateľského rozhrania v počítači. Tu sme použili káblovú komunikáciu na zasielanie dát z počítača (MATLAB) do Arduina. Po počítačovej stránke sme pomocou GUI v MATLABe vytvorili niektoré tlačidlá na ovládanie domácich spotrebičov. Pre komunikáciu medzi Arduino a MATLAB je potrebné najskôr nainštalovať „ Podpora MATLAB a Simulink pre Arduino “ alebo „ Arduino IO Package “. Postupujte podľa pokynov uvedených nižšie alebo si pozrite video uvedené nižšie:
- Stiahnite si balík Arduino IO odtiaľto. Pred stiahnutím sa musíte zaregistrovať.
- Potom napálte / nahrajte súbor adioe.pde do Arduina pomocou Arduino IDE. Tento súbor adioe.pde nájdete v balíku Arduino IO - ArduinoIO \ pde \ adioe \ adioe.pde
- Potom otvorte softvér MATLAB, prejdite cez priečinok Arduino IO, otvorte súbor install_arduino.m a spustite ho v Matlabe. V príkazovom okne MATLABu sa zobrazí správa „Adresáre Arduino pridané k ceste“, čo znamená, že cesta MATLAB bola aktualizovaná na adresáre Arduino.
Takto vyrábame Arduino, komunikujeme s MATLABom. Vyššie uvedená metóda je vhodná pre „MATLAB R2013b alebo staršie verzie“. Ak používate vyššiu verziu MATLABu (napríklad R2015b alebo R2016a), môžete priamo kliknúť na kartu Doplnky v MATLABe a potom kliknúť na „Získať hardvérové podporné balíčky“, odkiaľ môžete nainštalovať balíčky Arduino pre MATLAB.
Po nainštalovaní súborov môžete teraz vytvoriť GUI pre projekt domácej automatizácie. V zásade v GUI vytvárame tlačidlá na ovládanie domácich spotrebičov z počítača. Tlačidlá je možné vytvoriť v časti „Grafické používateľské rozhranie“ v ponuke „Nové“ v systéme MATLAB. Ďalej môžeme nastaviť názov a farby týchto tlačidiel, vytvorili sme 8 tlačidiel, v ktorých šesť na ZAPNUTIE a VYPNUTIE troch domácich spotrebičov a dve tlačidlá na ZAPNUTIE a VYPNUTIE všetkých spotrebičov súčasne.
Po vytvorení tlačidiel vás po kliknutí na tlačidlo Spustiť v danom okne grafického používateľského rozhrania požiada o uloženie tohto súboru grafického používateľského rozhrania (s príponou.fig), známeho tiež ako „ fig file“. Hneď ako súbor uložíte, automaticky sa vytvorí súbor s kódom (s príponou.m), známy tiež ako „ súbor M“ (pozri nasledujúcu snímku obrazovky), kam môžete vložiť kód (uvedený v časti venovanej kódu). Súbor GUI a kódový súbor pre tento projekt si môžete stiahnuť tu: Home_Automation_system.fig a Home_Automation_system.m (kliknite pravým tlačidlom myši a vyberte možnosť Uložiť odkaz ako…), alebo si ich môžete vytvoriť sami, ako sme už vysvetlili.
Po kódovaní môžete teraz konečne spustiť súbor.m z okna kódu, v príkazovom okne sa zobrazí „Pokus o pripojenie..“. Potom sa zobrazí správa „Arduino úspešne pripojené“, ak všetko dobre dopadne. A nakoniec uvidíte predtým vytvorené grafické užívateľské rozhranie (tlačidlá) v okne grafického používateľského rozhrania, odkiaľ môžete ovládať domáce spotrebiče kliknutím na tlačidlá v počítači. Skontrolujte, či je Arduino pripojené k Arduinu pomocou kábla USB. Tu v tomto projekte sme na demonštráciu použili 3 žiarovky, ktoré označujú ventilátor, svetlo a televíziu.
Fungovanie celého projektu, od inštalácie podporného balíka Arduino MATLAB po zapnutie alebo vypnutie zariadenia, je možné pochopiť na konci videa.
Vysvetlenie obvodu:
Okruh tohto projektu je veľmi ľahký. Tu sme na riadenie relé použili dosku Arduino UNO a reléový ovládač ULN2003. Tri 5 voltové relé SPDT sú pripojené k pinu Arduino číslo 3, 4 a 5 prostredníctvom ovládača relé ULN2003 na riadenie LIGHT, FAN a TV.
Vysvetlenie programovania:
Keď stlačíme ľubovoľné tlačidlo v okne grafického používateľského rozhrania, odošle niektoré príkazy Arduinu a potom Arduino vykoná túto operáciu. Po inštalácii podporného balíka Arduino MATLAB IO môžeme získať prístup k Arduinu z MATLABu pomocou rovnakých funkcií Arduino, s malými obmenami, ako napríklad:
Na výrobu kolíka HIGH v Arduine napíšeme kód ako digitalWrite (kolík, HIGH)
V MATLABe použijeme túto funkciu pomocou objektu alebo premennej ako, a podobne tak ďalej.
Predtým ako to urobíme, musíme inicializovať premennú takto:
V tomto projekte nie je žiadny kód Arduino okrem kódu alebo súboru podporného balíka Arduino MATLAB. Ako sme už vysvetlili, súbor s kódom (súbor.m) sa generuje automaticky pri ukladaní súboru GUI (súbor.fig). V súbore.m už je nejaký kód predpísaný. V zásade ide o funkcie spätného volania pre tlačidlá, čo znamená, že môžeme definovať, čo by sa malo stať po kliknutí na tieto tlačidlá.
V kóde MATLAB najskôr inicializujeme sériový port a urobíme ho objektom pomocou premennej. A potom môžeme pomocou premennej začať programovať ako Arduino.
jasný ar; globálny ar; ar = arduino ('COM13'); ar.pinMode (3, 'VÝSTUP'); ar.pinMode (4, 'VÝSTUP'); ar.pinMode (5, 'VÝSTUP'); ar.pinMode (13, 'VÝSTUP');
Vo funkcii spätného volania každého tlačidla sme napísali súvisiaci kód pre zapnutie alebo vypnutie príslušných domácich spotrebičov, pripojených k Arduinu cez relé. Rovnako ako napríklad funkcia spätného volania pre svetlo zapnutá je uvedená nižšie:
funkcia light_on_Callback (hObject, eventdata, handles)% hObject handle na light_on (viď GCBO)% eventdata rezervované - bude definované v budúcej verzii MATLAB% handle handle with handles and user data (see GUIDATA) global ar; ar.digitalWrite (3, 1); ar.digitalWrite (13, 1);
Rovnako môžeme napísať kód do funkcií spätného volania všetkých tlačidiel. Ak chcete ovládať ďalšie pripojené domáce spotrebiče, skontrolujte celý kód MATLAB uvedený nižšie (súbor.m).