- Izrada grafičkog korisničkog sučelja MATLAB za crtanje grafa
- MATLAB kod za crtanje grafa
- Potreban materijal
- Kružni dijagram
- Ucrtajte grafikon u MATLAB
Grafikoni su uvijek korisni za vizualizaciju podataka i njihovim gledanjem postaje vrlo lako pronaći trendove i uzorke. Dostupno je mnogo softvera za crtanje grafova na temelju ulaznih vrijednosti, danas ćemo koristiti MATLAB za crtanje grafa na temelju podataka o temperaturi sa senzora LM35. Ovaj vodič će vam dati osnovnu ideju o tome kako nacrtati graf u stvarnom vremenu pomoću MATLAB-a. Ovdje se koristi Arduino Uno za dobivanje podataka o temperaturi s temperaturnog osjetnika LM35.
Prije nego što nastavite dalje, ako ste novi u MATLAB-u, možete provjeriti naše prethodne MATLAB-ove vodiče za bolje podcjenjivanje:
- Početak rada s MATLAB-om: kratki uvod
- Povezivanje Arduina s MATLAB-om - Trepćuća LED
- Serijska komunikacija između MATLAB-a i Arduina
- Upravljanje istosmjernim motorom pomoću MATLAB-a i Arduina
- Upravljanje koračnim motorom pomoću MATLAB-a i Arduina
Izrada grafičkog korisničkog sučelja MATLAB za crtanje grafa
Prvo moramo izgraditi GUI (grafičko korisničko sučelje) za iscrtavanje grafa s podacima o temperaturi. Da biste pokrenuli GUI, upišite naredbu ispod u naredbeni prozor
vodič
Otvorit će se skočni prozor, a zatim odaberite novi prazni GUI kao što je prikazano na donjoj slici,

Sada moramo odabrati jedan gumb, dvije osi i jedan okvir za tekst za grafičko sučelje MATLAB . Gumb će se koristiti za pokretanje osjetnika temperature, dvije osi za crtanje grafa i okvir za tekst za prikaz trenutne vrijednosti temperature.

Da biste promijenili veličinu ili promijenili oblik gumba, osi ili gumba za uređivanje teksta, samo kliknite na njega i moći ćete povući kutove gumba. Dvostrukim klikom na bilo koji od njih moći ćete promijeniti boju, niz i oznaku tog određenog gumba. Nakon prilagodbe izgledat će ovako


Tipke možete prilagoditi prema vašem izboru. Sada kada to spremite, kod se generira u prozoru uređivača MATLAB-a. Da bi vaš Arduino izvršio bilo koji određeni zadatak povezan s vašim projektom, uvijek morate urediti ovaj generirani kôd. Dakle, u nastavku smo uredili MATLAB kod. Možete saznati više o naredbenom prozoru, prozoru uređivača itd. U odjeljku Početak rada s MATLAB tutorialom.
MATLAB kod za crtanje grafa
Kompletni MATLAB kôd za projektiranje termometra pomoću LM35 i Arduina dat je na kraju ovog projekta. Dalje ovdje uključujemo GUI datoteku (.fig) i datoteku koda (.m) za preuzimanje, pomoću kojih možete prilagoditi tipke ili veličinu osi prema vašim zahtjevima. Uređivali smo generirani kod kako je objašnjeno u nastavku.
Kopirajte i zalijepite donji kod u redak br. 74 kako biste bili sigurni da Arduino razgovara s MATLAB-om svaki put kad pokrenete m-datoteku .
očistiti sve; globalni a; a = arduino ();

Kad se pomaknete prema dolje, vidjet ćete da u GUI-ju postoje dvije funkcije stvorene za tipke i Uredi tekst , a za osi neće biti izrađena nijedna funkcija. Sada napišite kod u funkciju tipke (gumb za pokretanje) prema zadatku koji želite izvršiti.
U funkciji gumba Start , kopirajte i zalijepite donji kod neposredno prije završetka funkcije da biste započeli senzor temperature. Za kontinuirano otkrivanje, prikazivanje i grafičko crtanje temperature koristimo petlju while . Osigurali smo stanku od 1 sekunde nakon svake iteracije, tako da će se vrijednost temperature ažurirati svake sekunde.
x = 0; ići = točno; globalni a; while go vrijednost = readVoltage (a, 'A1'); temp = (vrijednost * 100); disp (temp); x =; zaplet (handles.axes1, x); rešetka na; xlabel ('Vrijeme (sekunde)') ylabel ('Temperatura (° C)'); naslov ('Grafikon temperature u stvarnom vremenu'); drawnow set (handles.edit1, 'String', num2str (temp)); stanka (1); kraj

Pogledajmo sada kako funkcionira kod. U liniji ispod tri retka postavili smo početnu vrijednost ' x ' na nulu, definirajući ' go ' kao istinito za pokretanje while petlje i proglasili ' globalnim a' za pozivanje Arduina u funkciji.
x = 0; ići = točno; globalni a;
Ispod retka koda koristi se za otkrivanje vrijednosti napona s analognog pina A1 Arduina koji je povezan s 'OUT' pinom LM35 temperaturnog osjetnika. Izlaz će biti vrijednost napona, a ne analogna vrijednost.
vrijednost = readVoltage (a, 'A1');
Ovdje možemo izravno pretvoriti vrijednost napona u vrijednost temperature (Celzijev stupanj), pomnoživši ga s 10
temp = (vrijednost * 100);
Sada se za crtanje grafikona koristi funkcija 'plot (handles.axes1, x)' , gdje je ax1 referenca ili naziv područja Grafika . Dakle, ako crtate više od jednog grafa, onda jednostavno morate promijeniti naziv osi, kao ako nacrtate drugi graf, možete napisati crtanje (handles.axes2, x) '
'Mreža uključena' koristi se za U prikazu mreže grafikona , 'xlabel', 'ylabel' i ' title ' koriste se za imenovanje x-osi, y-osi i naslova.
zaplet (handles.axes1, x); rešetka na; xlabel ('Vrijeme (sekunde)') ylabel ('Temperatura (° C)'); naslov ('Grafikon temperature u stvarnom vremenu');
' Drawnow' koristi se za ažuriranje grafičkog prikaza u stvarnom vremenu.
nacrtati
Za prikaz vrijednosti temperature u okviru za uređivanje teksta koristi se svaka naredba ispod, set (handles.edit1, 'String', num2str (temp));
Potreban materijal
- MATLAB instaliran prijenosnik (Preference: R2016a ili novije verzije)
- Arduino UNO
- LM35 - Osjetnik temperature
- Spajanje žica
- Breadboard
Kružni dijagram

Ucrtajte grafikon u MATLAB
Nakon postavljanja hardvera prema shemi sklopa, samo kliknite gumb za pokretanje da biste pokrenuli uređeni kod u.m datoteci

MATLAB-u će trebati nekoliko sekundi da odgovori, nemojte kliktati nijedan GUI gumb dok MATLAB u donjem lijevom kutu ne prikaže poruku zauzetosti, kao što je prikazano dolje,

Kad je sve spremno, kliknite gumb Start i počet ćete dobivati podatke o temperaturi na grafičkom području i u polju Uredi tekst . Vrijednost će se automatski ažurirati u svakoj sekundi. Ovaj interval od jedne sekunde možete u skladu s tim promijeniti u MATLAB kodu.
Izlaz će izgledati kao slika prikazana dolje,

Na ovaj način možete nacrtati grafikon za bilo koju dolaznu vrijednost iz Arduina pomoću MATLAB-a.
U nastavku pogledajte demonstracijski videozapis za pravilno razumijevanje.
