Mums visiems yra žinomas žodis „Automatika“, kai žmonių sąveika yra minimali ir dalykus galima valdyti automatiškai arba nuotoliniu būdu. Namų automatika yra labai populiari ir reikalaujanti koncepcija elektronikos srityje, taip pat dedame visas pastangas, kad ši koncepcija būtų lengvai suprantama ir valdoma kaip elektronikos projektai. Anksčiau mes sukūrėme keletą namų automatikos projektų tipų su veikiančiu vaizdo įrašu ir kodu, patikrinkite:
- DTMF pagrįsta namų automatika
- GSM namų automatika naudojant „Arduino“
- Kompiuteriu valdoma namų automatika naudojant „Arduino“
- „Bluetooth“ valdoma namų automatika naudojant 8051
- IR nuotolinio valdymo namų automatika naudojant „Arduino“
Šiame projekte mes ketiname sukurti savo kitą namų automatikos projektą naudodami MATLAB ir „Arduino“, tai yra GUI pagrįstą namų automatikos sistemą, naudojančią „Arduino“ ir „MATLAB“.
Komponentai:
- „Arduino UNO“
- USB kabelis
- ULN2003
- Relė 5 voltai
- Lemputė su laikikliu
- Jungiamieji laidai
- Nešiojamas kompiuteris
- Maitinimo šaltinis
- PVT
Darbinis paaiškinimas:
Šiame projekte mes naudojame MATLAB su „Arduino“, kad galėtume valdyti buitinę techniką per kompiuterio grafinę vartotojo sąsają. Čia mes naudojome laidinį ryšį duomenims siųsti iš kompiuterio (MATLAB) į „Arduino“. Kompiuteryje naudojome GUI MATLAB, kad sukurtume keletą buitinės technikos valdymo mygtukų. Bendravimui tarp „Arduino“ ir MATLAB pirmiausia reikia įdiegti „ MATLAB ir„ Simulink “palaikymą„ Arduino ““ arba „ Arduino IO paketą “. Norėdami tai padaryti, atlikite toliau nurodytus veiksmus arba patikrinkite toliau pateiktą vaizdo įrašą:
- Atsisiųskite „Arduino IO“ paketą iš čia. Prieš atsisiųsdami turite užsiregistruoti.
- Tada įrašykite / įkelkite failą adioe.pde į „Arduino“ naudodami „Arduino IDE“. Šį „adioe.pde“ failą galite rasti „Arduino IO“ pakete - ArduinoIO \ pde \ adioe \ adioe.pde
- Tada atidarykite MATLAB programinę įrangą, eikite per „Arduino IO“ aplanką, atidarykite failą install_arduino.m ir paleiskite jį „Matlab“. MATLAB komandų lange pamatysite pranešimą „Arduino aplankai pridėti prie kelio“, o tai reiškia, kad MATLAB kelias atnaujinamas į Arduino aplankus.
Taip mes gaminame „Arduino“, bendraujame su MATLAB. Aukščiau pateiktas metodas tinka „MATLAB R2013b arba ankstesnėms versijoms“, jei naudojate aukštesnę MATLAB versiją (pvz., R2015b arba R2016a), galite tiesiogiai spustelėti skirtuką Priedai MATLAB, tada spustelėkite „Gauti aparatinės įrangos palaikymo paketus“, iš kur galite įdiegti „Arduino“ paketus MATLAB.
Įdiegę failus, dabar galite sukurti namų automatikos projekto GUI. Iš esmės GUI, mes kuriame mygtukus buitinei technikai valdyti iš kompiuterio. Mygtukus galima sukurti einant į „Grafinę vartotojo sąsają“ MATLAB meniu „Naujas“. Be to, mes galime nustatyti šių mygtukų pavadinimą ir spalvas, sukūrėme 8 mygtukus, kuriuose šešis įjungia ir išjungia tris buitinius prietaisus ir du mygtukus įjungia ir išjungia visus prietaisus vienu metu.
Sukūrę mygtukus, tame GUI lange spustelėję mygtuką Vykdyti, jis paprašys išsaugoti šį GUI failą (su plėtiniu.fig), dar vadinamą „ fig file“. Kai tik išsaugosite failą, jis automatiškai sukurs kodo failą (su plėtiniu.m), dar vadinamą „ M failu“ (žr. Toliau pateiktą ekrano kopiją), kur galėsite įdėti kodą (pateiktą toliau esančiame skyriuje „Kodas“). Galite atsisiųsti šio projekto GUI failą ir kodo failą iš čia: „Home_Automation_system.fig“ ir „Home_Automation_system.m“ (dešiniuoju pelės mygtuku spustelėkite ir pasirinkite Išsaugoti nuorodą kaip…), arba galite patys juos sukurti, kaip mes paaiškinome.
Po kodavimo dabar pagaliau galite paleisti.m failą iš kodo lango, komandų lange pamatysite „Bandymas prisijungti..“. Tada, jei viskas gerai, pasirodys pranešimas „sėkmingai prijungtas„ Arduino “. Galiausiai GUI lange pamatysite anksčiau sukurtą GUI (mygtukus), iš kurio galėsite valdyti buitinę techniką tiesiog spustelėdami mygtukus savo kompiuteryje. Įsitikinkite, kad „Arduino“ yra prijungtas prie „Arduino“ per USB kabelį. Šiame projekte mes demonstravimui naudojome 3 lemputes, kurios nurodo ventiliatorių, šviesą ir televizorių.
Viso projekto darbą, pradedant „Arduino MATLAB“ palaikymo paketo įdiegimu ir baigiant prietaiso įjungimu arba išjungimu, galima suprasti vaizdo įrašo pabaigoje.
Grandinės paaiškinimas:
Šio projekto grandinė yra labai lengva. Relėms vairuoti naudojome „ Arduino UNO“ plokštę ir relės tvarkyklę ULN2003. Trys 5 voltų SPDT relės yra prijungtos prie „Arduino“ kontaktų 3, 4 ir 5 per relės tvarkyklę ULN2003, skirtos valdyti LIGHT, FAN ir TV.
Programavimo paaiškinimas:
Kai paspaudžiame bet kurį mygtuką iš GUI lango, jis siunčia keletą komandų „Arduino“, tada „Arduino“ atlieka šią operaciją. Įdiegę „Arduino MATLAB IO“ palaikymo paketą, mes galime pasiekti „Arduino“ iš MATLAB naudodami tas pačias „Arduino“ funkcijas, šiek tiek varijuodami, pavyzdžiui:
Norėdami padaryti „HIGH“ kaištį „Arduino“, mes rašome kodą kaip „ digitalWrite“ (PIN, HIGH)
„MATLAB“ naudosime šią funkciją naudodami objektą ar kintamąjį, pvz., ir panašiai.
Prieš tai atlikdami, turime inicijuoti tokį kintamąjį:
Šiame projekte nėra „Arduino“ kodo, išskyrus „Arduino MATLAB“ palaikymo paketo kodą ar failą. Kaip paaiškinta anksčiau, kodo failas (.m failas) automatiškai sugeneruojamas išsaugant GUI failą (.fig failas)..M faile jau yra iš anksto parašytas kodas. Iš esmės tai yra mygtukų „Callback“ funkcijos, tai reiškia, kad mes galime apibrėžti, kas turėtų atsitikti spustelėjus šiuos mygtukus.
MATLAB kode pirmiausia inicializuojame nuoseklųjį prievadą ir paverčiame jį objektu naudojant kintamąjį. Tada galime pradėti programuoti kaip „Arduino“, naudodami kintamąjį.
aiškus ar; pasaulinis ar; ar = arduino ('COM13'); ar.pinMode (3, 'OUTPUT'); ar.pinMode (4, 'OUTPUT'); ar.pinMode (5, 'OUTPUT'); ar.pinMode (13, 'OUTPUT');
Kiekvieno mygtuko skambinimo funkcijoje mes parašėme atitinkamą buitinės technikos įjungimo arba išjungimo kodą, prijungtą prie „Arduino“ per relę. Kaip, pavyzdžiui, žemiau pateikiama „Šviesos įjungimo“ skambučio funkcija:
funkcija light_on_Callback (hObject, eventdata, handles)% hObject rankena į light_on (žr. GCBO)% eventdata reserve - apibrėžta būsimoje MATLAB versijoje% rankenų struktūra su rankenomis ir vartotojo duomenimis (žr. GUIDATA) global ar; ar.digitalWrite (3, 1); ar.digitalWrite (13, 1);
Taip pat galime įrašyti kodą visų mygtukų skambinimo funkcijose, norėdami valdyti kitas prijungtas buitines technikas, patikrinkite visą MATLAB kodą žemiau (.m failas).