- MATLAB grafinės vartotojo sąsajos kūrimas grafiko braižymui
- MATLAB grafiko braižymo kodas
- Reikalinga medžiaga
- Grandinės schema
- Nubraižykite diagramą naudodami MATLAB
Grafikai visada padeda vizualizuoti duomenis, todėl labai lengva rasti tendencijas ir modelius, žiūrint į juos. Yra daug programinės įrangos, leidžiančios braižyti grafikus pagal įvesties reikšmes, šiandien mes naudosime MATLAB grafikui brėžti pagal LM35 jutiklio temperatūros duomenis. Ši pamoka suteiks jums pagrindinę idėją apie tai, kaip sudaryti realaus laiko grafiką naudojant MATLAB. „Arduino Uno“ čia naudojamas norint gauti temperatūros duomenis iš LM35 temperatūros jutiklio.
Prieš tęsdami toliau, jei dar nesinaudojote „MATLAB“, galite patikrinti ankstesnes „MATLAB“ mokymo programas, kad geriau suprastumėte:
- Darbo su MATLAB pradžia: greita įžanga
- „Arduino“ sąsaja su MATLAB - mirksi šviesos diodas
- Nuoseklus MATLAB ir „Arduino“ ryšys
- Nuolatinės srovės variklio valdymas naudojant MATLAB ir „Arduino“
- Žingsninio variklio valdymas naudojant MATLAB ir „Arduino“
MATLAB grafinės vartotojo sąsajos kūrimas grafiko braižymui
Pirmiausia turime sukurti GUI (grafinę vartotojo sąsają) grafikui su temperatūros duomenimis nubrėžti. Norėdami paleisti GUI, komandų lange įveskite žemiau esančią komandą
vadovas
Bus atidarytas iššokantis langas, tada pasirinkite naują tuščią GUI, kaip parodyta žemiau esančiame paveikslėlyje,
Dabar MATLAB grafinei sąsajai turime pasirinkti vieną mygtuką, dvi ašis ir vieną teksto laukelį . Mygtukas bus naudojamas temperatūros jutikliui paleisti, dvi ašys braižyti grafiką ir teksto laukelis, kad būtų rodoma esama temperatūros vertė.
Norėdami pakeisti mygtuko, ašių ar redaguoti teksto mygtuką dydį arba pakeisti jo formą, tiesiog spustelėkite jį ir galėsite vilkti mygtuko kampus. Du kartus spustelėję bet kurį iš šių, galėsite pakeisti konkretaus mygtuko spalvą, eilutę ir žymą. Po pritaikymo tai atrodys taip
Mygtukus galite pritaikyti pagal savo pasirinkimą. Dabar, kai tai išsaugosite, MATLAB redaktoriaus lange bus sugeneruotas kodas. Kad jūsų „Arduino“ atliktų bet kokią su jūsų projektu susijusią užduotį, visada turite redaguoti šį sugeneruotą kodą. Taigi žemiau mes redagavome MATLAB kodą. Sužinokite daugiau apie komandų langą, redaktoriaus langą ir pan. Pradedant naudoti MATLAB mokymo programą.
MATLAB grafiko braižymo kodas
Pilnas MATLAB kodas termometro projektavimui naudojant LM35 ir Arduino pateikiamas šio projekto pabaigoje. Čia mes taip pat įtraukiame GUI failą (.fig) ir kodo failą (.m), kad galėtumėte atsisiųsti, naudodami juos galite pritaikyti mygtukų arba ašių dydį pagal savo reikalavimus. Redagavome sugeneruotą kodą, kaip paaiškinta toliau.
Nukopijuokite ir įklijuokite žemiau esantį kodą eilutėje Nr. 74 įsitikinkite, kad „Arduino“ kiekvieną kartą paleidus „ m-file“, kalba su MATLAB.
Išvalyti viską; pasaulinis a; a = arduino ();
Slinkdami žemyn pamatysite, kad GUI yra sukurtos dvi funkcijos mygtukui ir teksto redagavimui , ašims nebus sukurta jokia funkcija. Dabar įrašykite kodą į mygtuką „Pushbutton“ (pradžios mygtukas) pagal norimą atlikti užduotį.
Į Pradžia mygtuko funkcija, kopijuoti ir tiesiog prieš pat funkcija baigiant pradėti temperatūros jutimo įklijuokite žemiau kodą. Norėdami nuolat nustatyti, rodyti ir grafiškai pavaizduoti temperatūrą, mes naudojame while loop . Mes pateikėme 1 sekundės pauzę po kiekvieno pakartojimo, todėl temperatūros vertė bus atnaujinama kas sekundę.
x = 0; eiti = tiesa; pasaulinis a; o einamoji vertė = readVoltage (a, 'A1'); temp = (vertė * 100); disp (temp); x =; siužetas (rankenos. ašys1, x); tinklelis; xlabel ('Laikas (sekundės)') ylabel ('Temperatūra (° C)'); pavadinimas („Realaus laiko temperatūros grafikas“); nubrėžtas rinkinys (rankenos.edit1, „Stygos“, num2str (temp)); pauzė (1); galas
Dabar galime pamatyti, kaip veikia kodas. Žemiau trijų eilučių eilutėje mes nustatėme pradinę „ x “ vertę iki nulio, apibrėždami „ go “ kaip teisingą, kad pradėtume „ while“ kilpą, ir paskelbėme „ globaliu“, kad paskambintume „Arduino“.
x = 0; eiti = tiesa; pasaulinis a;
Žemiau kodo eilutė naudojama įtampos reikšmei iš „Arduino“ analoginio kaiščio A1, kuris yra prijungtas prie LM35 temperatūros jutiklio „OUT“ kaiščio, nustatyti. Išvestis bus įtampos, o ne analoginė vertė.
reikšmė = readVoltage (a, 'A1');
Čia mes galime tiesiogiai konvertuoti įtampos vertę į temperatūros vertę (Celsijaus laipsnį), padauginę ją iš 10
temp = (vertė * 100);
Dabar grafikui braižyti naudojama funkcija „plot (handles.axes1, x)“ , kur axes1 yra diagramos srities nuoroda arba pavadinimas. Taigi, jei braižote daugiau nei vieną grafiką, tiesiog turite pakeisti ašių pavadinimą, pvz., Jei braižote kitą grafiką, galite parašyti diagramą (handles.axes2, x) "
„Tinklelis įjungtas“ naudojamas grafiko tinklelio rodinyje „xlabel“, „ylabel“ ir „ title “ naudojami pavadinant x ašį, y ašį ir pavadinimą.
siužetas (rankenos. ašys1, x); tinklelis; xlabel ('Laikas (sekundės)') ylabel ('Temperatūra (° C)'); pavadinimas („Realaus laiko temperatūros grafikas“);
' Drawnow' naudojamas atnaujinti grafinį vaizdą realiuoju laiku.
strypas
Norėdami naudoti temperatūros vertę redagavimo teksto laukelyje kas sekundę žemiau, naudojama komanda:
rinkinys (rankenos.edit1, 'String', num2str (temp));
Reikalinga medžiaga
- MATLAB įdiegtas nešiojamas kompiuteris (Pirmenybė: R2016a arba naujesnės versijos)
- „Arduino UNO“
- LM35 - temperatūros jutiklis
- Laidų sujungimas
- Bandomoji Lenta
Grandinės schema
Nubraižykite diagramą naudodami MATLAB
Nustačius aparatūrą pagal grandinės schemą, tiesiog spustelėkite paleidimo mygtuką, kad paleistumėte redaguotą kodą.m faile
Gali praeiti kelios sekundės, kol MATLAB atsakys, nespustelėkite jokių GUI mygtukų, kol MATLAB apatiniame kairiajame kampe rodomas užimtas pranešimas, kaip parodyta žemiau,
Kai viskas bus paruošta, spustelėkite mygtuką Pradėti ir pradėsite gauti temperatūros duomenis grafinėje srityje ir lauke Redaguoti tekstą . Vertė bus automatiškai atnaujinama kas sekundę. Šį vienos sekundės intervalą galite atitinkamai pakeisti MATLAB kode.
Išvestis atrodys taip, kaip parodyta žemiau,
Taip galite suplanuoti bet kurios gaunamos vertės iš „Arduino“ diagramą naudodami MATLAB.
Norėdami tinkamai suprasti, patikrinkite toliau pateiktą demonstracinį vaizdo įrašą.