- MATLAB grafiskās lietotāja saskarnes izveide grafika uzzīmēšanai
- MATLAB kods grafika uzzīmēšanai
- Nepieciešams materiāls
- Ķēdes shēma
- Uzzīmējiet diagrammu ar MATLAB
Diagrammas vienmēr ir noderīgas, lai vizualizētu datus, un kļūst viegli atrast tendences un modeļus, tos aplūkojot. Ir daudz programmatūras, kas pieejama grafiku diagrammai, pamatojoties uz ieejas vērtībām, šodien mēs izmantosim MATLAB, lai diagrammu attēlotu, pamatojoties uz temperatūras datiem no LM35 sensora. Šī apmācība sniegs jums pamatideju par to, kā uzzīmēt reāllaika diagrammu, izmantojot MATLAB. Arduino Uno šeit tiek izmantots, lai iegūtu temperatūras datus no LM35 temperatūras sensora.
Pirms turpināt darbu, ja esat jauns MATLAB lietotājs, varat pārbaudīt mūsu iepriekšējās MATLAB apmācības, lai labāk novērtētu:
- Darba sākšana ar MATLAB: ātrs ievads
- Arduino saskarne ar MATLAB - mirgo gaismas diode
- Sērijas komunikācija starp MATLAB un Arduino
- Līdzstrāvas motora vadība, izmantojot MATLAB un Arduino
- Stepper motora vadība, izmantojot MATLAB un Arduino
MATLAB grafiskās lietotāja saskarnes izveide grafika uzzīmēšanai
Vispirms mums jāveido GUI (grafiskā lietotāja saskarne), lai grafiku uzzīmētu ar temperatūras datiem. Lai palaistu GUI, komandu logā ierakstiet zemāk esošo komandu
vadīt
Tiks atvērts uznirstošais logs, pēc tam atlasiet jaunu tukšu GUI, kā parādīts zemāk esošajā attēlā,
Tagad MATLAB grafiskajam interfeisam mums jāizvēlas viena spiedpoga, divas asis un viens tekstlodziņš . Spiedpoga tiks izmantota temperatūras noteikšanas sākšanai, divas asis grafika uzzīmēšanai un teksta lodziņš, lai parādītu pašreizējo temperatūras vērtību.
Lai mainītu pogas izmēru vai mainītu pogas, asu vai rediģēšanas teksta formu, vienkārši noklikšķiniet uz tās, un jūs varēsiet vilkt pogas stūrus. Veicot dubultklikšķi uz jebkura no šiem, jūs varēsiet mainīt konkrētās pogas krāsu, virkni un tagu. Pēc pielāgošanas tas izskatīsies šādi
Pogas varat pielāgot pēc savas izvēles. Tagad, kad to saglabājat, MATLAB redaktora logā tiek ģenerēts kods. Lai jūsu Arduino veiktu kādu noteiktu uzdevumu, kas saistīts ar jūsu projektu, jums vienmēr ir jārediģē šis ģenerētais kods. Tātad zemāk mēs esam rediģējuši MATLAB kodu. Jūs varat uzzināt vairāk par komandu logu, redaktora logu utt. Darba sākšana ar MATLAB apmācību.
MATLAB kods grafika uzzīmēšanai
Pilnīgs MATLAB kods termometra projektēšanai, izmantojot LM35 un Arduino, ir norādīts šī projekta beigās. Šeit mēs lejupielādēšanai iekļaujam arī GUI failu (.fig) un koda failu (.m), izmantojot kuru jūs varat pielāgot pogu vai asu izmēru atbilstoši savām prasībām. Mēs esam rediģējuši ģenerēto kodu, kā paskaidrots tālāk.
Nokopējiet un ielīmējiet zemāk esošo kodu rindā Nr. 74, lai pārliecinātos, ka Arduino runā ar MATLAB katru reizi, kad palaižat m-failu .
nodzēst visu; globāls a; a = arduino ();
Ritinot uz leju, jūs redzēsiet, ka GUI ir izveidotas divas funkcijas, kas paredzētas spiedpogai un teksta rediģēšanai , asīm netiks izveidota neviena funkcija. Tagad ierakstiet kodu Pushbutton (sākuma poga) funkcijā atbilstoši uzdevumam, kuru vēlaties veikt.
Pēc Sākt Pogas funkcija, nokopējiet un ielīmējiet tālāk kodu tieši pirms beidzas ar funkciju, lai sāktu temperatūras sensoru. Temperatūras nepārtrauktai noteikšanai, attēlošanai un grafiskai uzzīmēšanai mēs izmantojam while loop . Mēs esam nodrošinājuši 1 sekundes pauzi pēc katras atkārtošanas, tāpēc temperatūras vērtība tiks atjaunināta katru sekundi.
x = 0; iet = patiess; globāls a; kamēr iet vērtība = readVoltage (a, 'A1'); temp = (vērtība * 100); disp (temp); x =; sižets (rokturi.aksi1, x); režģis ieslēgts; xlabel ('Laiks (sekundes)') ylabel ('Temperatūra (° C)'); nosaukums (“Reālā laika temperatūras grafiks”); vilkšanas komplekts (handles.edit1, 'String', num2str (temp)); pauze (1); beigas
Tagad ļauj redzēt, kā kods darbojas. Zem trīs līniju līnijas mēs esam iestatījuši sākuma vērtību “ x ” uz nulli, definējot “ go ” kā patiesu, lai sāktu while ciklu, un paziņojām par “ globālu a”, lai izsauktu Arduino funkcijā.
x = 0; iet = patiess; globāls a;
Zem koda rindas tiek izmantota sprieguma vērtības noteikšana no Arduino analogās tapas A1, kas savienota ar LM35 temperatūras sensora 'OUT' tapu. Izeja būs sprieguma vērtība, nevis analogā vērtība.
vērtība = readVoltage (a, 'A1');
Šeit mēs varam tieši pārveidot sprieguma vērtību temperatūras vērtībā (grādi pēc Celsija), reizinot to ar 10
temp = (vērtība * 100);
Tagad, lai uzzīmētu grafiku , tiek izmantota funkcija 'plot (handles.axes1, x)' , kur axes1 ir atsauce vai nosaukums Graph apgabalā. Tātad, ja jūs uzzīmējat vairāk nekā vienu grafiku, jums vienkārši jāmaina asu nosaukums, piemēram, ja jūs uzzīmējat citu diagrammu, varat rakstīt diagrammu (handles.axes2, x) "
'Režģis ieslēgts' tiek izmantots, lai diagrammas režģa skatā 'xlabel', 'ylabel' un ' title ' nosauktu x asi, y asi un nosaukumu.
sižets (rokturi.aksi1, x); režģis ieslēgts; xlabel ('Laiks (sekundes)') ylabel ('Temperatūra (° C)'); nosaukums (“Reālā laika temperatūras grafiks”);
' Drawnow' izmanto, lai atjauninātu grafisko attēlojumu reāllaikā.
vilkts
Lai rediģēšanas tekstlodziņā parādītu temperatūras vērtību ik pēc sekundes, tiek izmantota komanda, set (handles.edit1, 'String', num2str (temp));
Nepieciešams materiāls
- MATLAB instalēts klēpjdators (priekšroka: R2016a vai jaunākas versijas)
- Arduino UNO
- LM35 - temperatūras sensors
- Vadu savienošana
- Maizes dēlis
Ķēdes shēma
Uzzīmējiet diagrammu ar MATLAB
Pēc aparatūras iestatīšanas saskaņā ar shēmu vienkārši noklikšķiniet uz palaist pogas, lai palaistu rediģēto kodu.m failā
MATLAB var paiet dažas sekundes, lai atbildētu, neklikšķiniet uz nevienas GUI pogas, kamēr MATLAB apakšējā kreisajā stūrī nav redzams aizņemts ziņojums, kā parādīts zemāk,
Kad viss ir gatavs, noklikšķiniet uz pogas Sākt, un jūs sāksit iegūt temperatūras datus grafiskajā apgabalā un lodziņā Rediģēt tekstu . Vērtība tiks automātiski atjaunināta ik pēc vienas sekundes. Šo vienas sekundes intervālu jūs varat attiecīgi mainīt MATLAB kodā.
Izeja izskatīsies kā zemāk redzamais attēls,
Šādi jūs varat uzzīmēt diagrammu jebkurai ienākošai vērtībai no Arduino, izmantojot MATLAB.
Pareizai izpratnei skatiet zemāk redzamo demonstrācijas video.