- Komponenter, der kræves
- Kredsløbsdiagram
- Bluetooth-kommunikation ved hjælp af MATLAB-kommandovindue
- Bluetooth-kommunikation ved hjælp af MATLAB GUI
Bluetooth er den enkleste og mest populære protokol til trådløs kommunikation i kort rækkevidde i indlejrede systemer. Bluetooth bruges ikke kun til overførsel af data fra en enhed til en anden, men bruges også til at styre enhederne trådløst. Næsten hver elektronisk gadget har Bluetooth-support nu dage, så det er klogt at have Bluetooth-kontrolmulighed i din integrerede applikation.
Her i denne vejledning lærer vi, hvordan man bruger Bluetooth i MATLAB til at kommunikere trådløst. Vi bruger computerens indbyggede Bluetooth med MATLAB på den ene side og HC-05 med Arduino på den anden side. Der er to måder at konfigurere kommunikation mellem MATLAB og Arduino via Bluetooth, den ene bruger kommandovinduet og den anden bruger MATLAB GUI. Arduino-koden for begge metoder forbliver den samme. Hvis du er ny hos MATLAB, anbefales det at komme i gang med et enkelt LED-blinkprogram med MATLAB og lære den grundlæggende terminologi, der bruges i MATLAB. Du kan yderligere udforske flere MATLAB-projekter:
- Seriel kommunikation mellem MATLAB og Arduino
- DC-motorstyring ved hjælp af MATLAB og Arduino
- Stepper Motor Control ved hjælp af MATLAB og Arduino
- Kom godt i gang med billedbehandling ved hjælp af MATLAB
Komponenter, der kræves
- MATLAB installeret bærbar computer (præference: R2016a eller nyere versioner)
- Arduino UNO
- Bluetooth-modul (HC-05)
- LED (enhver farve)
- Modstand (330 ohm)
- Jumper Wires
For at lære mere om HC-05 og dets grænseflade med Arduino, skal du kontrollere følgende artikler.
- Bluetooth-styret servomotor ved hjælp af Arduino
- Stemmestyrede lysdioder ved hjælp af Arduino og Bluetooth
- Mobiltelefonstyret vekselstrøm ved hjælp af Arduino og Bluetooth
Kredsløbsdiagram
Skemaer til Bluetooth-kommunikation mellem MATLAB og Arduino er vist nedenfor:
Bluetooth-kommunikation ved hjælp af MATLAB-kommandovindue
Dette er den enkle metode til opsætning af Bluetooth-kommunikation mellem Arduino og MATLAB. Her bruger MATLAB den bærbare computers bluetooth til at forbinde HC-05 forbundet med Arduino. Først skal vi kode Arduino for at læse de serielle indgående data, der kommer fra MATLAB (ved hjælp af bærbar Bluetooth).
Derefter kan disse Bluetooth-transmitterede data fra MATLAB bruges til at kontrollere alt, der er forbundet med Arduino. Her har vi tilsluttet en LED til Arduino, der kan styres fra bærbare computeren ved hjælp af MATLAB.
Først uploade givet Arduino kode i Arduino UNO og derefter starte kodning i Matlab Command Window.
#omfatte
Kopier og indsæt derefter nedenstående MATLAB-kode i kommandovinduet til Bluetooth-kommunikation mellem MATLAB og Arduino.
instrhwinfo ('Bluetooth', 'HC-05'); bt = Bluetooth ('HC-05', 1); fopen (bt);
I nedenstående kode bruges kommando fprintf (bt, '0') til at slukke LED'en ved at sende '0' til Arduino. Hvis du nu vil tænde lysdioden, skal du bare sende '1' i stedet for '0' ved hjælp af nedenstående kommando.
fprintf (bt, '1');
Brug nedenstående kommando for at kontrollere oplysningerne om den tilgængelige hardware
instrhwinfo ('type', 'Device name');
For at åbne Bluetooth-porten skal du bruge kommandoen under brugt
fopen (bt);
Tjek videoen nedenfor for at forstå den komplette proces med at sende data fra MATLAB til Arduino ved hjælp af Bluetooth.
Bluetooth-kommunikation ved hjælp af MATLAB GUI
For at demonstrere Bluetooth-kommunikation ved hjælp af MATLAB GUI opretter vi tre grafiske knapper i MATLAB for at tænde, slukke og blinke LED'en tilsluttet Arduino. Data sendes via Bluetooth fra MATLAB til HC-05 ved at klikke på disse grafiske knapper. Arduino indeholder koden til at modtage de Bluetooth-transmitterede data fra MATLAB til HC-05 og kontrollere LED'en i henhold til de modtagne data. Arduino-koden forbliver den samme som den forrige, kun forskellen er, at vi tidligere sendte data '1' og '0' gennem kommandovinduet i MATLAB, og nu sendes de samme data ved at klikke på tre grafiske knapper.
For at starte GUI skal du skrive nedenstående kommando i kommandovinduet
guide
Et popup-vindue åbnes, og vælg derefter en ny tom GUI som vist i billedet nedenfor,
Vælg nu tre trykknapper til at tænde, slukke og blinke LED, som vist nedenfor,
For at ændre størrelsen eller ændre formen på trykknapperne skal du bare klikke på den og du vil kunne trække hjørnerne på knappen. Ved at dobbeltklikke på trykknappen kan du ændre farve, streng og tag på den pågældende knap. Vi har tilpasset tre trykknapper som vist på billedet nedenfor.
Du kan tilpasse knapperne efter eget valg. Når du nu gemmer dette, genereres en kode i Editor-vinduet i MATLAB. Rediger denne kode i henhold til den opgave, du vil udføre af din Arduino ved modtagelse af Bluetooth-data ved hjælp af MATLAB GUI. Så nedenfor har vi redigeret MATLAB-koden. Du kan lære mere om kommandovindue, editorvindue osv. I Kom godt i gang med MATLAB-vejledning.
Komplet MATLAB-kode til styring af LED fra MATLAB via Bluetooth gives i slutningen af dette projekt. Yderligere inkluderer vi GUI-filen (.fig) og kodefilen (.m) her til download, ved hjælp af hvilken du kan tilpasse knapperne efter dit behov. Nedenfor er nogle tweaks, vi gjorde for at kontrollere LED'en forbundet med Arduino.
Kopier og indsæt nedenstående kode på linjenr. 74 til opsætning eller tilslutning af MATLAB til den bærbare computers Bluetooth.
Slet alt; global bt; instrhwinfo ('Bluetooth', 'HC-05'); bt = Bluetooth ('HC-05', 1); fopen (bt);
hvor fopen (bt) bruges til at åbne Bluetooth-porten til transmission af data.
Nu, når du ruller nedad, vil du se, at der er tre funktioner oprettet til tre trykknapper i GUI. Skriv nu koden i funktionerne i henhold til den opgave, du vil udføre ved klik.
I LED ON- knappens funktion skal du kopiere og indsætte nedenstående kode lige inden funktionens afslutning for at tænde LED'en. I nedenstående kode bruges fprintf (bt, '1') til at sende '1' fra MATLAB til HC-05 ved hjælp af bærbar Bluetooth. Arduino vil modtage disse data '1' gennem HC-05 og glød LED ved at gøre sin 11 th pin HØJ.
global bt; fprintf (bt, '1');
I funktionen LED OFF- knap skal du kopiere og indsætte nedenstående kode lige inden afslutningen af funktionen for at slukke for LED'en. I nedenstående kode bruges fprintf (bt, '0') til at sende '0' fra MATLAB til HC-05 ved hjælp af bærbar Bluetooth. Arduino vil modtage '0' gennem HC-05 og slukke for LED ved at gøre sin 11 th pin LOW.
global bt; fprintf (bt, '0');
I funktionen BLINK- knap skal du bruge nedenstående kode til at blinke lysdioden. A for loop bruges til at blinke LED 10 gange.
global bt; for i = 1:10 fprintf (bt, '1'); pause (0,5); fprintf (bt, '0'); pause (0,5); ende
Efter at have afsluttet med MATLAB GUI-kodning og opsætning af hardwaren i henhold til kredsløbsdiagram, skal du bare klikke på knappen Run for at køre den redigerede kode i.m-filen.
MATLAB kan tage et par sekunder at svare, klik ikke på nogen GUI-knap, før MATLAB viser BUSY-indikation, som du kan se i nederste venstre hjørne af skærmen som vist nedenfor,
Når alt er klar, skal du klikke på LED-ON, LED OFF og BLINK-knappen for at tænde henholdsvis ON, OFF og Blink LED. Alle kodefilerne til dette projekt kan downloades herfra, eller du kan bruge koden nedenfor.
Tjek videoen nedenfor for at forstå den komplette proces med at sende data fra MATLAB til Arduino via Bluetooth ved hjælp af MATLAB GUI.