- Potrebne komponente
- Shema vezja
- Bluetooth komunikacija z ukaznim oknom MATLAB
- Bluetooth komunikacija z uporabo MATLAB GUI
Bluetooth je najpreprostejši in najbolj priljubljen protokol za brezžično komunikacijo kratkega dosega v vgrajenih sistemih. Bluetooth se ne uporablja samo za prenos podatkov iz ene naprave v drugo, temveč se uporablja tudi za brezžični nadzor naprav. Skoraj vsak elektronski pripomoček ima danes podporo za Bluetooth, zato je pametno, da imate vgrajeno možnost nadzora Bluetooth.
V tej vadnici bomo izvedeli, kako uporabljati Bluetooth v MATLAB-u za brezžično komunikacijo. Uporabili bomo vgrajeni računalnik Bluetooth z MATLAB-om na eni strani in HC-05 z Arduinom na drugi strani. Obstajata dva načina za nastavitev komunikacije med MATLAB in Arduino prek Bluetootha, eden uporablja ukazno okno, drugi pa MATLAB GUI. Koda Arduino za obe metodi bo ostala enaka. Če ste nov v MATLAB-u, je priporočljivo začeti s preprostim programom za utripanje LED z MATLAB-om in se naučiti osnovne terminologije, ki se uporablja v MATLAB-u. Nadalje lahko raziščete več projektov MATLAB:
- Zaporedna komunikacija med MATLAB in Arduino
- Upravljanje enosmernega motorja z uporabo MATLAB in Arduino
- Nadzor koračnega motorja z uporabo MATLAB in Arduino
- Uvod v obdelavo slik z uporabo MATLAB
Potrebne komponente
- Prenosni računalnik MATLAB (Preference: R2016a ali novejše različice)
- Arduino UNO
- Modul Bluetooth (HC-05)
- LED (poljubna barva)
- Upor (330 ohm)
- Jumper žice
Če želite izvedeti več o HC-05 in njegovem povezovanju z Arduinom, si oglejte naslednje članke.
- Brezžični servo motor z uporabo Arduina
- LED z glasovnim nadzorom z uporabo Arduino in Bluetooth
- Mobitel je nadzorovan z uporabo Arduino in Bluetooth
Shema vezja
Sheme Bluetooth komunikacije med MATLAB in Arduino so navedene spodaj:
Bluetooth komunikacija z ukaznim oknom MATLAB
To je preprost način za nastavitev Bluetooth komunikacije med Arduino in MATLAB. Tu MATLAB uporablja prenosni računalnik Bluetooth za povezavo HC-05, ki je povezan z Arduino. Najprej moramo Arduino kodirati za branje serijskih dohodnih podatkov, ki prihajajo iz MATLAB-a (z uporabo prenosnega Bluetootha).
Potem lahko te podatke, ki jih Bluetooth prenaša iz MATLAB, uporabite za nadzor vsega, kar je povezano z Arduinom. Tukaj smo na Arduino priključili LED, ki jo je mogoče upravljati s prenosnika s pomočjo MATLAB-a.
Najprej naložite dano Arduino kodo v Arduino UNO in nato začnite s kodiranjem v ukaznem oknu MATLAB.
#include
Nato kopirajte in prilepite spodnjo kodo MATLAB v okno Ukaz za komunikacijo Bluetooth med MATLAB in Arduino.
instrhwinfo ('Bluetooth', 'HC-05'); bt = Bluetooth ('HC-05', 1); fopen (bt);
V spodnji kodi se ukaz fprintf (bt, '0') uporablja za izklop LED s pošiljanjem '0' v Arduino. Zdaj, če želite vklopiti LED, s spodnjim ukazom pošljite '1' namesto '0'.
fprintf (bt, '1');
Če želite preveriti informacije o razpoložljivi strojni opremi, uporabite spodnji ukaz
instrhwinfo ('tip', 'Ime naprave');
Če želite odpreti vrata Bluetooth, uporabite spodnji ukaz
fopen (bt);
Oglejte si spodnji video, da boste razumeli celoten postopek pošiljanja podatkov iz MATLAB v Arduino z uporabo Bluetootha.
Bluetooth komunikacija z uporabo MATLAB GUI
Za predstavitev Bluetooth komunikacije z uporabo MATLAB GUI bomo v MATLAB-u ustvarili tri grafične gumbe za vklop, izklop in utripanje LED, priključene na Arduino. Podatki bodo po kliku na te grafične gumbe prek bluetooth-a poslani iz MATLAB na HC-05. Arduino vsebuje kodo za sprejem podatkov, ki jih Bluetooth prenaša od MATLAB do HC-05, in nadzor LED glede na prejete podatke. Koda Arduino bo ostala enaka prejšnji, edina razlika je v tem, da smo prej pošiljali podatke '1' in '0' skozi ukazno okno MATLAB, zdaj pa bodo isti podatki poslani s klikom na tri grafične gumbe.
Če želite zagnati GUI, v ukazno okno vnesite spodnji ukaz
vodnik
Odpre se pojavno okno, nato izberite nov prazen GUI, kot je prikazano na spodnji sliki,
Zdaj izberite tri tipke za vklop, izklop in utripanje LED, kot je prikazano spodaj,
Če želite spremeniti velikost ali spremeniti obliko gumbov, samo kliknite nanjo in lahko povlečete vogale gumba. Z dvoklikom na gumb lahko spremenite barvo, niz in oznako tega gumba. Prilagodili smo tri tipke, kot je prikazano na spodnji sliki.
Gumbe lahko prilagodite po svoji izbiri. Ko to shranite, se bo v oknu urejevalnika MATLAB ustvarila koda. Uredite to kodo v skladu z nalogo, ki jo želite izvesti s svojim Arduinom ob prejemu podatkov Bluetooth z uporabo vmesnika MATLAB. Torej spodaj smo uredili kodo MATLAB. Več o ukaznem oknu, oknu urejevalnika itd. Lahko preberete v Uvodu za MATLAB.
Popolna koda MATLAB za nadzor LED iz MATLAB prek Bluetootha je podana na koncu tega projekta. Poleg tega sem za prenos vključil datoteko GUI (.fig) in kodno datoteko (.m), s pomočjo katerih lahko gumbe prilagodite svojim zahtevam. Spodaj je nekaj sprememb, ki smo jih naredili za nadzor LED, povezane z Arduino.
Kopirajte in prilepite spodnjo kodo v vrstico št. 74 za nastavitev ali priključitev MATLAB-a na Bluetooth prenosnega računalnika.
Počisti vse; globalni bt; instrhwinfo ('Bluetooth', 'HC-05'); bt = Bluetooth ('HC-05', 1); fopen (bt);
kjer se fopen (bt) uporablja za odpiranje vrat Bluetooth za prenos podatkov.
Ko se pomaknete navzdol, boste videli, da so v GUI-ju ustvarjene tri funkcije za tri tipke. Zdaj v funkcije napišite kodo glede na nalogo, ki jo želite izvesti s klikom.
V funkciji gumba za vklop LED kopirajte in prilepite spodnjo kodo tik pred koncem funkcije, da vklopite LED. V spodnji kodi se fprintf (bt, '1') uporablja za pošiljanje '1' iz MATLAB na HC-05 z uporabo prenosnega Bluetootha. Arduino bo te podatke prejel od '1' do HC-05 in zasvetil LED, tako da bo 11- ti pin VISOK.
globalni bt; fprintf (bt, '1');
V funkciji gumba LED OFF kopirajte in prilepite spodnjo kodo tik pred koncem funkcije, da izklopite LED. V spodnji kodi se fprintf (bt, '0') uporablja za pošiljanje '0' iz MATLAB na HC-05 z uporabo prenosnega Bluetootha. Arduino bodo prejeli "0" s HC-05 in izklop LED tako da je njegova 11 th pin LOW.
globalni bt; fprintf (bt, '0');
V funkciji gumba BLINK uporabite spodnjo kodo, da utripate LED. Z zanko for se 10-krat utripa LED.
globalni bt; za i = 1:10 fprintf (bt, '1'); pavza (0,5); fprintf (bt, '0'); pavza (0,5); konec
Po končanem kodiranju s programskim vmesnikom MATLAB in nastavitvi strojne opreme v skladu s shemo vezja, kliknite gumb za zagon, da zaženete urejeno kodo v datoteki.m.
MATLAB lahko traja nekaj sekund, da se odzove, ne kliknite nobenega gumba na GUI, dokler MATLAB ne prikaže indikator zasedenosti, kar lahko vidite v levem spodnjem kotu zaslona, kot je prikazano spodaj,
Ko je vse pripravljeno, kliknite gumb LED-ON, LED OFF in BLINK, da vklopite, izklopite in utripate LED. Vse kodne datoteke za ta projekt lahko prenesete od tukaj ali pa uporabite spodnjo kodo.
Oglejte si spodnji video, da boste razumeli celoten postopek pošiljanja podatkov iz MATLAB v Arduino prek Bluetootha z uporabo MATLAB GUI.