- Componente necesare
- Diagrama circuitului
- Comunicare Bluetooth folosind fereastra de comandă MATLAB
- Comunicare Bluetooth folosind MATLAB GUI
Bluetooth este cel mai simplu și cel mai popular protocol pentru comunicațiile fără fir cu rază scurtă de acțiune în sistemele încorporate. Bluetooth nu este utilizat numai pentru transferul de date de la un dispozitiv la altul, ci și pentru a controla dispozitivele fără fir. Aproape fiecare gadget electronic are suport Bluetooth acum câteva zile, deci este o alegere înțeleaptă să aveți opțiunea de control Bluetooth în aplicația dvs. încorporată.
Aici, în acest tutorial, vom învăța cum să folosim Bluetooth în MATLAB pentru a comunica fără fir. Vom folosi Bluetooth încorporat al computerului cu MATLAB pe o parte și HC-05 cu Arduino pe cealaltă parte. Există două moduri de a configura comunicarea între MATLAB și Arduino prin Bluetooth, una utilizează fereastra de comandă și alta utilizează MATLAB GUI. Codul Arduino pentru ambele metode va rămâne același. Dacă sunteți nou în MATLAB, atunci este recomandat să începeți cu un program simplu de clipire LED cu MATLAB și să învățați terminologia de bază utilizată în MATLAB. Puteți explora în continuare mai multe proiecte MATLAB:
- Comunicare în serie între MATLAB și Arduino
- Control motor DC folosind MATLAB și Arduino
- Controlul motorului pas cu pas folosind MATLAB și Arduino
- Noțiuni introductive despre procesarea imaginilor folosind MATLAB
Componente necesare
- Laptop instalat de MATLAB (preferință: versiunile R2016a sau mai sus)
- Arduino UNO
- Modul Bluetooth (HC-05)
- LED (orice culoare)
- Rezistor (330 ohm)
- Sârme jumper
Pentru a afla mai multe despre HC-05 și interfața acestuia cu Arduino, consultați următoarele articole.
- Servomotor controlat prin Bluetooth folosind Arduino
- LED-uri controlate prin voce folosind Arduino și Bluetooth
- Telefon mobil controlat AC folosind Arduino și Bluetooth
Diagrama circuitului
Schemele pentru comunicarea Bluetooth între MATLAB și Arduino sunt prezentate mai jos:
Comunicare Bluetooth folosind fereastra de comandă MATLAB
Aceasta este metoda simplă de configurare a comunicării Bluetooth între Arduino și MATLAB. Aici, MATLAB folosește Bluetooth-ul laptopului pentru a conecta HC-05 conectat cu Arduino. Mai întâi trebuie să codăm Arduino pentru a citi datele de intrare seriale provenite de la MATLAB (folosind Bluetooth-ul laptopului).
Apoi, aceste date transmise prin Bluetooth de la MATLAB pot fi utilizate pentru a controla orice este conectat la Arduino. Aici am conectat un LED la Arduino care poate fi controlat de pe LAPTOP folosind MATLAB.
În primul rând, încărcați codul Arduino dat în Arduino UNO și apoi începeți codarea în fereastra de comandă MATLAB.
#include
Apoi, copiați și lipiți codul MATLAB de mai jos în fereastra de comandă pentru comunicarea Bluetooth între MATLAB și Arduino.
instrhwinfo („Bluetooth”, „HC-05”); bt = Bluetooth („HC-05”, 1); fopen (bt);
În codul de mai jos, comanda fprintf (bt, '0') este utilizată pentru a opri LED-ul trimițând '0' către Arduino. Acum, dacă doriți să porniți LED-ul, trimiteți doar „1” în loc de „0” folosind comanda de mai jos.
fprintf (bt, '1');
Pentru a verifica informațiile despre hardware-ul disponibil, utilizați comanda de mai jos
instrhwinfo („tip”, „Numele dispozitivului”);
Pentru a deschide portul Bluetooth, comanda de mai jos este utilizată
fopen (bt);
Verificați videoclipul de mai jos pentru a înțelege procesul complet de trimitere a datelor de la MATLAB la Arduino utilizând Bluetooth.
Comunicare Bluetooth folosind MATLAB GUI
Pentru a demonstra comunicarea Bluetooth utilizând MATLAB GUI, vom crea trei butoane grafice în MATLAB pentru a porni, opri și clipi LED-ul conectat la Arduino. Datele vor fi trimise prin Bluetooth de la MATLAB la HC-05 făcând clic pe acele butoane grafice. Arduino conține codul pentru a primi datele transmise prin Bluetooth de la MATLAB la HC-05 și pentru a controla LED-ul în funcție de datele primite. Codul Arduino va rămâne același cu cel anterior, singura diferență este că, anterior, trimiteam date „1” și „0” prin fereastra de comandă a MATLAB, iar acum aceleași date vor fi trimise făcând clic pe trei butoane grafice.
Pentru a lansa interfața grafică, tastați comanda de mai jos în fereastra de comandă
ghid
Se va deschide o fereastră pop-up, apoi selectați o nouă interfață grafică goală așa cum se arată în imaginea de mai jos,
Acum alegeți trei butoane pentru pornire, oprire și clipire LED, așa cum se arată mai jos,
Pentru a redimensiona sau a schimba forma butoanelor, trebuie doar să faceți clic pe acesta și veți putea trage colțurile butonului. Dând dublu clic pe buton, puteți schimba culoarea, șirul și eticheta acelui buton. Am personalizat trei butoane, așa cum se arată în imaginea de mai jos.
Puteți personaliza butoanele după alegerea dvs. Acum, când salvați acest lucru, un cod va fi generat în fereastra Editor a MATLAB. Editați acest cod în funcție de sarcina pe care doriți să o efectuați de către Arduino la primirea datelor Bluetooth utilizând interfața grafică MATLAB. Deci, mai jos am editat codul MATLAB. Puteți afla mai multe despre fereastra de comandă, fereastra editorului, etc., în Tutorialul Noțiuni introductive despre MATLAB.
Codul complet MATLAB, pentru controlul LED-urilor de la MATLAB prin Bluetooth, este dat la sfârșitul acestui proiect. În plus, includem fișierul GUI (.fig) și fișierul de cod (.m) aici pentru descărcare, folosind care puteți personaliza butoanele conform cerințelor dvs. Mai jos sunt câteva modificări pe care le-am făcut pentru controlul LED-ului conectat cu Arduino.
Copiați și lipiți codul de mai jos pe linia nr. 74 pentru a configura sau conecta MATLAB la Bluetooth-ul laptopului.
curata tot; bt global; instrhwinfo („Bluetooth”, „HC-05”); bt = Bluetooth („HC-05”, 1); fopen (bt);
unde, fopen (bt) este utilizat pentru a deschide portul Bluetooth pentru transmiterea datelor.
Acum, când derulați în jos, veți vedea că există trei funcții create pentru trei butoane în GUI. Acum scrieți codul în funcții în funcție de sarcina pe care doriți să o efectuați pe clic.
În funcția butonului LED ON , copiați și lipiți codul de mai jos chiar înainte de sfârșitul funcției pentru a porni LED-ul. În codul de mai jos, fprintf (bt, '1') este utilizat pentru trimiterea '1' de la MATLAB la HC-05 utilizând Bluetooth-ul laptopului. Arduino va primi aceste date „1” prin HC-05 și va aprinde LED-ul făcându-i al 11- lea pin HIGH.
bt global; fprintf (bt, '1');
În funcția butonului LED OFF , copiați și lipiți codul de mai jos chiar înainte de sfârșitul funcției pentru a opri LED-ul. În codul de mai jos, fprintf (bt, '0') este utilizat pentru trimiterea '0' de la MATLAB la HC-05 utilizând Bluetooth-ul laptopului. Arduino va primi '0' prin HC-05 și va opri LED-ul făcând al 11- lea pin LOW.
bt global; fprintf (bt, '0');
În funcția butonului BLINK , utilizați codul de mai jos pentru a clipi LED-ul. O buclă for este utilizată pentru a clipi LED-ul de 10 ori.
bt global; pentru i = 1:10 fprintf (bt, '1'); pauză (0,5); fprintf (bt, '0'); pauză (0,5); Sfârșit
După ce ați terminat cu codificarea GUI MATLAB și ați configurat hardware-ul conform schemei de circuit, trebuie doar să faceți clic pe butonul Run pentru a rula codul editat în fișierul.m.
MATLAB poate dura câteva secunde pentru a răspunde, nu faceți clic pe niciun buton GUI până când MATLAB nu afișează indicația BUSY, pe care o puteți vedea în colțul din stânga jos al ecranului, așa cum se arată mai jos,
Când totul este gata, faceți clic pe butonul LED-ON, LED OFF și BLINK pentru a porni ON, OFF și, respectiv, a clipi LED-ul. Toate fișierele de cod pentru acest proiect pot fi descărcate de aici sau puteți utiliza codul de mai jos.
Verificați videoclipul de mai jos pentru a înțelege procesul complet de trimitere a datelor de la MATLAB la Arduino prin Bluetooth utilizând MATLAB GUI.