- Lumilikha ng MATLAB Graphical User Interface para sa Plotting Graph
- MATLAB Code para sa Plotting the Graph
- Kinakailangan na Materyal
- Diagram ng Circuit
- I-plot ang Graph gamit ang MATLAB
Palaging kapaki-pakinabang ang mga grap upang mailarawan ang data at napakadali upang makahanap ng mga uso at pattern sa pamamagitan ng pagtingin sa kanila. Maraming software na magagamit sa mga plot ng grap batay sa mga halaga ng pag-input, ngayon gagamitin namin ang MATLAB upang magplano ng grap batay sa data ng temperatura mula sa LM35 sensor. Ang tutorial na ito ay magbibigay sa iyo ng isang pangunahing ideya tungkol sa kung paano magbalangkas ng real time graph gamit ang MATLAB. Ginagamit ang Arduino Uno dito upang makakuha ng data ng temperatura mula sa sensor ng temperatura ng LM35.
Bago magpatuloy pa, kung bago ka sa MATLAB maaari mong suriin ang aming nakaraang mga tutorial sa MATLAB para sa mas mahusay na understating:
- Pagsisimula sa MATLAB: Isang Mabilis na Panimula
- Ang interface ng Arduino na may MATLAB - Blinking LED
- Serial na Komunikasyon sa pagitan ng MATLAB at Arduino
- DC Motor Control Gamit ang MATLAB at Arduino
- Stepper Motor Control gamit ang MATLAB at Arduino
Lumilikha ng MATLAB Graphical User Interface para sa Plotting Graph
Una kailangan naming bumuo ng GUI (Graphical User Interface) para sa Plot a Graph na may data ng temperatura. Upang ilunsad ang GUI, i-type ang utos sa ibaba sa window ng command
gabay
Magbubukas ang isang popup window, pagkatapos ay pumili ng bagong blangko GUI tulad ng ipinakita sa imaheng nasa ibaba,
Ngayon kailangan naming pumili ng isang pindutan ng push, dalawang palakol at isang kahon ng teksto para sa MATLAB grapikong interface . Gagamitin ang push button para simulan ang pag-sensing ng temperatura, dalawang palakol para sa paglalagay ng grap at kahon ng teksto upang maipakita ang kasalukuyang halaga ng temperatura.
Upang baguhin ang laki o upang baguhin ang hugis ng pindutan, Mga Axes o i-edit ang pindutan ng teksto, mag-click lamang dito at magagawa mong i-drag ang mga sulok ng pindutan. Sa pamamagitan ng pag-double click sa alinman sa mga ito magagawa mong baguhin ang kulay, string at tag ng partikular na pindutan. Pagkatapos ng pagpapasadya magiging ganito ang hitsura
Maaari mong ipasadya ang mga pindutan ayon sa iyong pinili. Ngayon kapag na-save mo ito, nabubuo ang isang code sa window ng Editor ng MATLAB. Upang gawin ang iyong Arduino upang maisagawa ang anumang partikular na gawain na nauugnay sa iyong proyekto, palagi mong kailangang i-edit ang nabuong code. Kaya sa ibaba ay na-edit namin ang MATLAB code. Maaari kang matuto nang higit pa tungkol sa window ng Command, window ng editor atbp sa pagsisimula sa tutorial ng MATLAB.
MATLAB Code para sa Plotting the Graph
Kumpletuhin ang MATLAB code para sa Pagdidisenyo ng isang Thermometer gamit ang LM35 at Arduino, ay ibinibigay sa pagtatapos ng proyektong ito. Dagdag dito ay isinasama namin ang file na GUI (.fig) at code file (.m) dito para sa pag-download, gamit ang kung saan maaari mong ipasadya ang mga pindutan o laki ng Axes ayon sa iyong kinakailangan. Na-edit namin ang nabuong code tulad ng ipinaliwanag sa ibaba.
Kopyahin at i-paste ang code sa ibaba sa linya no. 74 upang matiyak na ang Arduino ay nakikipag-usap sa MATLAB sa tuwing pinapatakbo mo ang m-file .
Alisin lahat; pandaigdigan a; a = arduino ();
Kapag nag-scroll ka pababa, makikita mo na mayroong dalawang mga pag-andar na nilikha para sa Pushbutton at I - edit ang Teksto sa GUI, walang function na gagawa para sa mga Axes. Isulat ngayon ang code sa pagpapaandar ng Pushbutton (start button) alinsunod sa gawain na nais mong gampanan.
Sa pagpapaandar ng pindutan ng Start , kopyahin at i-paste ang code sa ibaba bago ang pagtatapos ng pag-andar upang simulan ang sensing ng temperatura. Para sa patuloy na pag-sensing, pagpapakita at grapikong paglalagay ng temperatura, gumagamit kami habang loop . Nagbigay kami ng pag- pause ng 1 segundo pagkatapos ng bawat pag-ulit kaya ang halaga ng temperatura ay maa-update bawat segundo.
x = 0; pumunta = totoo; pandaigdigan a; habang ang halaga ng go = readVoltage (a, 'A1'); temp = (halaga * 100); disp (temp); x =; balangkas (hawakan.axes1, x); grid sa; xlabel ('Oras (segundo)') ylabel ('Temperatura (° C)'); pamagat ('Real-Time Temperature Graph'); set ng drawnow (humahawak.edit1, 'String', num2str (temp)); i-pause (1); magtapos
Ngayon, hayaan mong makita kung paano gumagana ang code. Sa ibaba ng tatlong linya ng linya itinakda namin ang paunang halaga ng ' x ' sa zero, tinutukoy ang ' go ' bilang totoo upang simulan ang habang loop at idineklarang ' pandaigdigang' para sa pagtawag sa Arduino sa pagpapaandar.
x = 0; pumunta = totoo; pandaigdigan a;
Ang linya ng code sa ibaba ay ginagamit upang maunawaan ang halaga ng boltahe mula sa analog pin A1 ng Arduino na konektado sa 'OUT' na pin ng LM35 Temperature Sensor. Ang output ay ang halaga ng boltahe hindi ang halagang analog.
halaga = readVoltage (a, 'A1');
Dito maaari nating direktang i- convert ang halaga ng boltahe sa halaga ng temperatura (degree Celsius), sa pamamagitan ng pag-multiply nito ng 10
temp = (halaga * 100);
Ngayon, upang mailagay ang pag- andar ng grap na 'plot (handles.axes1, x)' na ginagamit, kung saan ang axes1 ay ang sanggunian o pangalan ng lugar ng Graph. Kaya't kung nagpaplano ka ng higit sa isang graph pagkatapos ay kailangan mo lamang baguhin ang pangalan ng mga palakol, tulad ng kung maglalagay ka ng isa pang grap maaari kang magsulat ng isang lagay ng lupa (hawakan.axes2, x) '
Ginamit ang 'Grid on' sa Sa view ng Grid ng grap , ginagamit ang 'xlabel', 'ylabel' at ' pamagat ' para sa pagbibigay ng pangalan ng x-axis, y-axis at pamagat.
balangkas (hawakan.axes1, x); grid sa; xlabel ('Oras (segundo)') ylabel ('Temperatura (° C)'); pamagat ('Real-Time Temperature Graph');
Ginagamit ang ' Drawnow' upang i-update ang graphic na representasyon sa real-time.
drawnow
Upang maipakita ang halaga ng temperatura sa edit text box sa bawat segundo sa ibaba ay ginagamit ang utos, itakda (hawakan.edit1, 'String', num2str (temp));
Kinakailangan na Materyal
- Naka-install na MATLAB na Laptop (Kagustuhan: R2016a o mas mataas na mga bersyon)
- Arduino UNO
- LM35 - Sensor ng Temperatura
- Mga Koneksyon sa Mga Wires
- Breadboard
Diagram ng Circuit
I-plot ang Graph gamit ang MATLAB
Matapos itakda ang hardware alinsunod sa circuit diagram, mag-click lamang sa run button upang patakbuhin ang na-edit na code sa.m file
Ang MATLAB ay maaaring tumagal ng ilang segundo upang tumugon, huwag mag-click sa anumang mga pindutan ng GUI hanggang sa magpakita ang MATLAB ng abalang mensahe sa ibabang kaliwang sulok tulad ng ipinakita sa ibaba,
Kapag handa na ang lahat, mag-click sa pindutan ng pagsisimula at magsisimulang makuha ang data ng temperatura sa Graphical Area at sa kahon ng I - edit ang Teksto . Awtomatikong maa-update ang halaga sa bawat isang segundo. Ang agwat na ito ng isang segundo ay maaari mong baguhin sa MATLAB code nang naaayon.
Ang output ay magiging hitsura ng imaheng ipinakita sa ibaba,
Ito ay kung paano mo mailalagay ang grap para sa anumang papasok na halaga mula sa Arduino gamit ang MATLAB.
Suriin ang demonstration video sa ibaba para sa wastong pag-unawa.