- MATLAB grafikus felhasználói felület létrehozása a grafikon ábrázolásához
- MATLAB kód a grafikon ábrázolásához
- Anyag szükséges
- Kördiagramm
- Ábrázolja a grafikont a MATLAB segítségével
A grafikonok mindig hasznosak az adatok vizualizálásához, és megnézésükkel nagyon könnyű megtalálni a trendeket és mintákat. Számos szoftver áll rendelkezésre a grafikonok ábrázolásához a bemeneti értékek alapján, ma a MATLAB segítségével fogjuk ábrázolni a grafikont az LM35 szenzor hőmérsékleti adatai alapján. Ez az oktatóanyag alapvető ötletet ad a valós idejű grafikon ábrázolásához a MATLAB segítségével. Az Arduino Uno-t arra használják, hogy hőmérsékleti adatokat kapjon az LM35 hőmérséklet-érzékelőtől.
Mielőtt továbblépne, ha még nem ismeri a MATLAB alkalmazást, ellenőrizze a korábbi MATLAB oktatóprogramjainkat, hogy jobban megértsék:
- A MATLAB használatának megkezdése: gyors bemutatás
- Az Arduino és a MATLAB összekapcsolása - villogó LED
- Soros kommunikáció a MATLAB és az Arduino között
- DC motor vezérlés a MATLAB és az Arduino segítségével
- Léptetőmotor vezérlés a MATLAB és az Arduino segítségével
MATLAB grafikus felhasználói felület létrehozása a grafikon ábrázolásához
Először fel kell építenünk egy GUI-t (Graphical User Interface) a grafikon ábrázolásához a hőmérsékleti adatokkal. A GUI indításához írja be az alábbi parancsot a parancsablakba
útmutató
Megnyílik egy felugró ablak, majd válassza ki az új üres GUI- t az alábbi képen látható módon,
Most egy nyomógombot, két tengelyt és egy szövegdobozt kell választanunk a MATLAB grafikus felületéhez . A nyomógomb a hőmérséklet-érzékelés elindításához, két tengely a grafikon ábrázolásához és a Szövegdoboz a hőmérséklet aktuális értékének megjelenítéséhez.
A gomb, az Axes vagy a szöveg szerkesztése gomb átméretezéséhez vagy alakjának megváltoztatásához kattintson rá, és húzhatja a gomb sarkát. Ha ezekre duplán kattint, megváltoztathatja az adott gomb színét, karakterláncát és címkéjét. A testreszabás után így fog kinézni
Testreszabhatja a gombokat a választása szerint. Most, amikor ezt elmenti, egy kód jön létre a MATLAB Szerkesztő ablakában . Ahhoz, hogy az Arduino a projektjével kapcsolatos bármely konkrét feladatot elvégezzen, mindig szerkesztenie kell ezt a létrehozott kódot. Tehát alább szerkesztettük a MATLAB kódot. A Parancsablakról, a szerkesztőablakról stb. Többet megtudhat a MATLAB oktatóanyag kezdő lépéseiről.
MATLAB kód a grafikon ábrázolásához
A hőmérő LM35 és Arduino használatával történő megtervezéséhez szükséges teljes MATLAB-kód a projekt végén található. A letöltéshez ide beillesztjük a GUI fájlt (.fig) és a kódfájlt (.m), amelyek segítségével testre szabhatja a gombok vagy az Axes méretét az Ön igényei szerint. A generált kódot az alábbiak szerint szerkesztettük.
Másolja és illessze be az alábbi kódot a 2. sorba. 74, hogy megbizonyosodjon arról, hogy az Arduino az M-fájl minden futtatásakor beszél a MATLAB-tal.
mindent kitöröl; globális a; a = arduino ();
Amikor lefelé görget, látni fogja, hogy a GUI-ban két funkció van létrehozva a Nyomógombhoz és a Szöveg szerkesztéséhez , az Axes-hoz nem hoz létre funkciót. Most írja be a kódot a Pushbutton (start gomb) funkcióba a végrehajtani kívánt feladatnak megfelelően.
A Start gomb funkcióban másolja és illessze be az alábbi kódot közvetlenül a funkció vége előtt a hőmérséklet-érzékelés elindításához. A hőmérséklet folyamatos érzékeléséhez, megjelenítéséhez és grafikus ábrázolásához a while loop-ot használjuk . Minden iteráció után 1 másodperces szünetet biztosítottunk, így a hőmérséklet értéke másodpercenként frissül.
x = 0; megy = igaz; globális a; míg go érték = readVoltage (a, 'A1'); temp = (érték * 100); dissz (hőmérséklet); x =; plot (fogantyúk.axek1, x); rács tovább; xlabel ('Idő (másodperc)') ylabel ('Hőmérséklet (° C)'); cím („Valós idejű hőmérsékleti diagram”); húzott készlet (handles.edit1, 'String', num2str (temp)); szünet (1); vége
Most megnézhetjük a kód működését. A három sor alatt az ' x ' kezdeti értékét nulla értékre állítottuk, a ' go ' értéket igaznak definiálva a while ciklus elindításához, és kijelentettük, hogy ' globális a' az Arduino függvény hívása.
x = 0; megy = igaz; globális a;
A kódsor alatt az Arduino analóg A1-es érintkezőjének feszültségértékét érzékelik, amely az LM35 hőmérséklet-érzékelő 'OUT' tűjéhez van csatlakoztatva. A kimenet a feszültségérték lesz, nem az analóg érték.
érték = readVoltage (a, 'A1');
Itt közvetlenül átalakíthatjuk a feszültség értékét hőmérsékleti értékre (Celsius fok), szorozva azt 10-tel
temp = (érték * 100);
Most a grafikon ábrázolásához a 'plot (handles.axes1, x)' függvényt használjuk, ahol az tengely1 a Graph terület hivatkozása vagy neve. Tehát ha egynél több gráfot rajzol, akkor csak meg kell változtatnia a tengelyek nevét, például ha egy másik gráfot ábrázol, akkor plotot is írhat (handles.axes2, x) '
A „Rács bekapcsolva” a grafikon rács nézetében az „xlabel”, az „ylabel” és a „ title ” kifejezéseket használja az x tengely, az y tengely és a cím megnevezésére.
plot (fogantyúk.axek1, x); rács tovább; xlabel ('Idő (másodperc)') ylabel ('Hőmérséklet (° C)'); cím („Valós idejű hőmérsékleti diagram”);
A „ Drawnow” a grafikus ábrázolás valós idejű frissítésére szolgál.
vontatott
A hőmérséklet értékének megjelenítéséhez a szerkesztés szövegmezőben az alábbi másodpercenként minden parancsot használunk:
set (handles.edit1, 'String', num2str (temp));
Anyag szükséges
- A MATLAB telepítette a laptopot (előnyben részesítve: R2016a vagy újabb verziók)
- Arduino UNO
- LM35 - Hőmérséklet-érzékelő
- Vezetékek csatlakoztatása
- Kenyérlemez
Kördiagramm
Ábrázolja a grafikont a MATLAB segítségével
A hardver kapcsolási rajz szerinti beállítása után kattintson a futtatás gombra a szerkesztett kód futtatásához.m fájlban
A MATLAB válasza néhány másodpercet vehet igénybe, ne kattintson semmilyen GUI gombra, amíg a MATLAB nem foglalja el az üzenetet a bal alsó sarokban, az alábbiak szerint,
Amikor minden készen van, kattintson a Start gombra, és megkapja a hőmérsékleti adatokat a Grafikus területen és a Szerkesztés mezőben . Az érték másodpercenként automatikusan frissül. Ezt a másodperc intervallumot ennek megfelelően módosíthatja a MATLAB kódban.
A kimenet az alábbi képen fog kinézni,
Így ábrázolhatja az Arduino bármely bejövő értékének grafikonját a MATLAB segítségével.
Ellenőrizze az alábbi bemutató videót a megfelelő megértés érdekében.