- Komponenter kreves
- Kretsdiagram
- Bluetooth-kommunikasjon ved hjelp av MATLAB kommandovindu
- Bluetooth-kommunikasjon ved hjelp av MATLAB GUI
Bluetooth er den enkleste og mest populære protokollen for trådløs kommunikasjon i kort rekkevidde i innebygde systemer. Bluetooth brukes ikke bare for å overføre data fra en enhet til en annen, men brukes også til å kontrollere enhetene trådløst. Nesten hver elektroniske enhet har Bluetooth-støtte nå dager, så det er lurt å ha Bluetooth-kontrollalternativ i den innebygde applikasjonen.
Her i denne veiledningen vil vi lære hvordan du bruker Bluetooth i MATLAB for å kommunisere trådløst. Vi vil bruke datamaskinens innebygde Bluetooth med MATLAB på den ene siden og HC-05 med Arduino på den andre siden. Det er to måter å konfigurere kommunikasjon mellom MATLAB og Arduino via Bluetooth, den ene bruker kommandovinduet og den andre bruker MATLAB GUI. Arduino-koden for begge metodene forblir den samme. Hvis du ikke er fersk på MATLAB, anbefales det å komme i gang med et enkelt LED-blinkprogram med MATLAB og lære den grunnleggende terminologien som brukes i MATLAB. Du kan videre utforske flere MATLAB-prosjekter:
- Seriekommunikasjon mellom MATLAB og Arduino
- DC-motorstyring ved bruk av MATLAB og Arduino
- Stepper Motor Control ved hjelp av MATLAB og Arduino
- Komme i gang med bildebehandling ved hjelp av MATLAB
Komponenter kreves
- MATLAB installert bærbar PC (preferanse: R2016a eller høyere versjoner)
- Arduino UNO
- Bluetooth-modul (HC-05)
- LED (hvilken som helst farge)
- Motstand (330 ohm)
- Jumper Wires
For å lære mer om HC-05 og grensesnittet med Arduino, sjekk følgende artikler.
- Bluetooth-kontrollert servomotor ved hjelp av Arduino
- Stemmestyrte lysdioder ved hjelp av Arduino og Bluetooth
- Mobilstyrt vekselstrøm ved hjelp av Arduino og Bluetooth
Kretsdiagram
Skjemaer for Bluetooth-kommunikasjon mellom MATLAB og Arduino er gitt nedenfor:
Bluetooth-kommunikasjon ved hjelp av MATLAB kommandovindu
Dette er den enkle metoden for å konfigurere Bluetooth-kommunikasjon mellom Arduino og MATLAB. Her bruker MATLAB den bærbare datamaskinens Bluetooth for å koble HC-05 koblet til Arduino. Først må vi kode Arduino for å lese serielle innkommende data som kommer fra MATLAB (ved hjelp av bærbar Bluetooth).
Deretter kan disse Bluetooth-overførte dataene fra MATLAB brukes til å kontrollere alt som er koblet til Arduino. Her har vi koblet en LED til Arduino som kan styres fra LAPTOP ved hjelp av MATLAB.
Først laster du opp den gitte Arduino-koden i Arduino UNO og starter deretter kodingen i MATLAB Command Window.
#inkludere
Kopier og lim deretter inn MATLAB-koden nedenfor i kommandovinduet for Bluetooth-kommunikasjon mellom MATLAB og Arduino.
instrhwinfo ('Bluetooth', 'HC-05'); bt = Bluetooth ('HC-05', 1); fopen (bt);
I koden nedenfor brukes kommandoen fprintf (bt, '0') for å slå AV LED-lampen ved å sende '0' til Arduino. Nå, hvis du vil slå på LED-lampen, bare send '1' i stedet for '0' ved hjelp av kommandoen nedenfor.
fprintf (bt, '1');
Bruk kommandoen nedenfor for å sjekke informasjonen om tilgjengelig maskinvare
instrhwinfo ('type', 'Navn på enhet');
For å åpne Bluetooth-porten, under kommandoen i brukt
fopen (bt);
Sjekk videoen nedenfor for å forstå den komplette prosessen med å sende data fra MATLAB til Arduino ved hjelp av Bluetooth.
Bluetooth-kommunikasjon ved hjelp av MATLAB GUI
For å demonstrere Bluetooth-kommunikasjon ved hjelp av MATLAB GUI, lager vi tre grafiske knapper i MATLAB for å slå på, slå av og blinke LED-en som er koblet til Arduino. Data vil bli sendt via Bluetooth fra MATLAB til HC-05 ved å klikke på disse grafiske knappene. Arduino inneholder koden for å motta Bluetooth-overførte data fra MATLAB til HC-05 og kontrollere LED i henhold til mottatte data. Arduino-koden vil forbli den samme som den forrige, den eneste forskjellen er at vi tidligere sendte data '1' og '0' gjennom kommandovinduet til MATLAB, og nå vil de samme dataene bli sendt ved å klikke på tre grafiske knapper.
For å starte GUI, skriv kommandoen nedenfor i kommandovinduet
guide
Et popup-vindu åpnes, og velg deretter nytt tomt GUI som vist i bildet nedenfor,
Velg nå tre trykknapper for å slå PÅ, AV og blinke LED, som vist nedenfor,
For å endre størrelse eller endre formen på trykknappene, klikker du bare på den og du vil kunne dra hjørnene på knappen. Ved å dobbeltklikke på trykknappen kan du endre farge, streng og merke på den aktuelle knappen. Vi har tilpasset tre trykknapper som vist på bildet nedenfor.
Du kan tilpasse knappene etter eget valg. Nå når du lagrer dette, genereres en kode i Editor-vinduet til MATLAB. Rediger denne koden i henhold til oppgaven du vil utføre av Arduino når du mottar Bluetooth-data ved hjelp av MATLAB GUI. Så nedenfor har vi redigert MATLAB-koden. Du kan lære mer om kommandovindu, redigeringsvindu osv. I Komme i gang med MATLAB-opplæringen.
Komplett MATLAB-kode, for å kontrollere LED fra MATLAB via Bluetooth, er gitt på slutten av dette prosjektet. Videre inkluderer vi GUI-filen (.fig) og kodefilen (.m) her for nedlasting, ved hjelp av hvilken du kan tilpasse knappene etter behov. Nedenfor er noen justeringer vi gjorde for å kontrollere LED-en som er koblet til Arduino.
Kopier og lim inn koden nedenfor på linje nr. 74 for å sette opp eller koble MATLAB til den bærbare datamaskinens Bluetooth.
slett alt; global bt; instrhwinfo ('Bluetooth', 'HC-05'); bt = Bluetooth ('HC-05', 1); fopen (bt);
der, fopen (bt) brukes til å åpne Bluetooth-porten for overføring av data.
Nå, når du blar nedover, vil du se at det er tre funksjoner opprettet for tre trykknapper i GUI. Skriv nå koden i funksjonene i henhold til oppgaven du vil utføre ved å klikke.
I funksjonen for LED PÅ- knappen, kopier og lim inn koden nedenfor rett før slutten av funksjonen for å slå PÅ LED-lampen. I koden nedenfor brukes fprintf (bt, '1') for å sende '1' fra MATLAB til HC-05 ved hjelp av bærbar Bluetooth. Arduino vil motta disse data '1' gjennom HC-05 og lyser lysdioden ved å gjøre dens 11 th tapp HIGH.
global bt; fprintf (bt, '1');
I funksjonen for LED AV- knapp, kopier og lim inn koden nedenfor rett før slutten av funksjonen for å slå AV LED. I koden nedenfor brukes fprintf (bt, '0') for å sende '0' fra MATLAB til HC-05 ved hjelp av bærbar Bluetooth. Arduino vil motta 0 til og med HC-05 og slå av lampen ved å gjøre dens 11 th tapp LAV.
global bt; fprintf (bt, '0');
I funksjonen for BLINK- knappen, bruk koden nedenfor for å blinke LED-lampen. En for loop brukes til å blinke LED 10 ganger.
global bt; for i = 1:10 fprintf (bt, '1'); pause (0,5); fprintf (bt, '0'); pause (0,5); slutt
Etter å ha fullført MATLAB GUI-koding og konfigurere maskinvaren i henhold til kretsskjema, klikker du bare på Run-knappen for å kjøre den redigerte koden i.m-filen.
MATLAB kan ta noen sekunder å svare, ikke klikk på noen GUI-knapp før MATLAB viser OPPTAGEN indikasjon, som du kan se i nederste venstre hjørne av skjermen som vist nedenfor,
Når alt er klart, klikker du på LED-ON, LED OFF og BLINK-knappen for å slå henholdsvis PÅ, AV og Blink LED. Alle kodefilene for dette prosjektet kan lastes ned herfra, eller du kan bruke koden nedenfor.
Sjekk videoen nedenfor for å forstå den fullstendige prosessen med å sende data fra MATLAB til Arduino via Bluetooth ved hjelp av MATLAB GUI.