- Požadované komponenty
- Kruhový diagram
- Komunikace Bluetooth pomocí příkazového okna MATLAB
- Komunikace Bluetooth pomocí MATLAB GUI
Bluetooth je nejjednodušší a nejoblíbenější protokol pro bezdrátovou komunikaci na krátkou vzdálenost ve vestavěných systémech. Bluetooth se používá nejen k přenosu dat z jednoho zařízení do druhého, ale také k bezdrátovému ovládání zařízení. Téměř každý elektronický gadget má dnes podporu Bluetooth, takže je rozumné zvolit ve své vestavěné aplikaci možnost ovládání Bluetooth.
Tady v tomto tutoriálu se naučíme, jak používat Bluetooth v MATLABu pro bezdrátovou komunikaci. Budeme používat vestavěné Bluetooth počítače s MATLAB na jedné straně a HC-05 s Arduino na druhé straně. Existují dva způsoby, jak nastavit komunikaci mezi MATLAB a Arduino přes Bluetooth, jeden používá příkazové okno a druhý používá MATLAB GUI. Arduino kód pro obě metody zůstane stejný. Pokud jste v MATLABu nováčci, doporučujeme začít s jednoduchým LED blikajícím programem v MATLABu a naučit se základní terminologii používanou v MATLABu. Můžete dále prozkoumat další projekty MATLAB:
- Sériová komunikace mezi MATLAB a Arduino
- Řízení stejnosměrného motoru pomocí MATLAB a Arduino
- Ovládání krokového motoru pomocí MATLAB a Arduino
- Začínáme se zpracováním obrazu pomocí MATLABu
Požadované komponenty
- Notebook nainstalovaný v MATLABu (preference: verze R2016a nebo vyšší)
- Arduino UNO
- Bluetooth modul (HC-05)
- LED (libovolná barva)
- Rezistor (330 ohmů)
- Propojovací dráty
Chcete-li se dozvědět více o HC-05 a jeho propojení s Arduino, podívejte se na následující články.
- Bluetooth řízený servomotor pomocí Arduina
- Hlasově ovládané LED diody pomocí Arduina a Bluetooth
- Ovládání mobilním telefonem pomocí Arduina a Bluetooth
Kruhový diagram
Schémata komunikace Bluetooth mezi MATLAB a Arduino jsou uvedena níže:
Komunikace Bluetooth pomocí příkazového okna MATLAB
Jedná se o jednoduchý způsob nastavení komunikace Bluetooth mezi Arduino a MATLAB. Zde MATLAB využívá Bluetooth notebooku k připojení HC-05 připojeného k Arduinu. Nejprve musíme kódovat Arduino pro čtení sériových příchozích dat pocházejících z MATLABu (pomocí Bluetooth notebooku).
Pak lze tato data přenášená Bluetooth z MATLABu použít k ovládání čehokoli připojeného k Arduinu. Zde jsme k Arduinu připojili LED, kterou lze ovládat z LAPTOP pomocí MATLABu.
Nejprve nahrajte daný Arduino kód do Arduino UNO a poté začněte kódovat v příkazovém okně MATLAB.
#zahrnout
Poté zkopírujte a vložte níže uvedený kód MATLAB do příkazového okna pro komunikaci Bluetooth mezi MATLAB a Arduino.
instrhwinfo ('Bluetooth', 'HC-05'); bt = Bluetooth ('HC-05', 1); fopen (bt);
V níže uvedeném kódu se příkaz fprintf (bt, '0') používá k vypnutí LED zasláním '0' do Arduina. Nyní, pokud chcete ZAPNOUT, stačí pomocí níže uvedeného příkazu poslat „1“ místo „0“.
fprintf (bt, '1');
Chcete-li zkontrolovat informace o dostupném hardwaru, použijte níže uvedený příkaz
instrhwinfo ('typ', 'název zařízení');
Chcete-li otevřít port Bluetooth, použijte níže uvedený příkaz
fopen (bt);
Podívejte se na video níže, abyste pochopili kompletní proces odesílání dat z MATLABu do Arduina pomocí Bluetooth.
Komunikace Bluetooth pomocí MATLAB GUI
Pro demonstraci komunikace Bluetooth pomocí MATLAB GUI vytvoříme v MATLABu tři grafická tlačítka pro zapnutí, vypnutí a blikání LED připojené k Arduinu. Data budou zasílána přes bluetooth z MATLABu do HC-05 po kliknutí na tato grafická tlačítka. Arduino obsahuje kód pro příjem dat přenášených přes Bluetooth z MATLABu do HC-05 a ovládání LED podle přijatých dat. Arduino kód zůstane stejný jako ten předchozí, rozdíl je pouze v tom, že jsme dříve posílali data „1“ a „0“ prostřednictvím příkazového okna MATLABu a nyní budou stejná data odeslána po kliknutí na tři grafická tlačítka.
Chcete-li spustit grafické uživatelské rozhraní, zadejte do příkazového okna následující příkaz
průvodce
Otevře se vyskakovací okno a poté vyberte nové prázdné grafické uživatelské rozhraní, jak je znázorněno na následujícím obrázku,
Nyní zvolte tři tlačítka pro zapnutí, vypnutí a blikání LED, jak je znázorněno níže,
Chcete-li změnit velikost nebo změnit tvar tlačítek, jednoduše na něj klikněte a budete moci přetáhnout rohy tlačítka. Poklepáním na tlačítko můžete změnit barvu, řetězec a značku konkrétního tlačítka. Upravili jsme tři tlačítka, jak je znázorněno na následujícím obrázku.
Tlačítka můžete upravit podle svého výběru. Když to nyní uložíte, vygeneruje se kód v okně editoru MATLABu. Upravte tento kód podle úkolu, který má váš Arduino provést při příjmu dat Bluetooth pomocí grafického uživatelského rozhraní MATLAB. Níže jsme tedy upravili kód MATLABu. Další informace o příkazovém okně, okně editoru atd. Najdete v tutoriálu Začínáme s MATLABem.
Kompletní kód MATLAB pro ovládání LED z MATLABu přes Bluetooth je uveden na konci tohoto projektu. Dále zde uvádíme ke stažení soubor GUI (.fig) a soubor kódu (.m), pomocí kterého můžete přizpůsobit tlačítka podle svého požadavku. Níže uvádíme několik vylepšení, která jsme provedli pro ovládání LED připojené k Arduinu.
Zkopírujte a vložte níže uvedený kód na řádek č. 74 pro nastavení nebo připojení MATLABu k Bluetooth notebooku.
vymazat vše; globální bt; instrhwinfo ('Bluetooth', 'HC-05'); bt = Bluetooth ('HC-05', 1); fopen (bt);
kde se fopen (bt) používá k otevření portu Bluetooth pro přenos dat.
Nyní, když se posunete dolů, uvidíte, že existují tři funkce vytvořené pro tři tlačítka v grafickém uživatelském rozhraní. Nyní napište kód do funkcí podle úkolu, který chcete provést kliknutím.
Ve funkci tlačítka LED ON zkopírujte a vložte níže uvedený kód těsně před koncem funkce, abyste rozsvítili LED. V níže uvedeném kódu se fprintf (bt, '1') používá k odesílání '1' z MATLABu do HC-05 pomocí Bluetooth notebooku. Arduino obdrží tyto údaje ‚1‘až HC-05 a záře LED tím, že jeho 11 th pin HIGH.
globální bt; fprintf (bt, '1');
Ve funkci tlačítka LED VYPNUTO zkopírujte a vložte níže uvedený kód těsně před koncem funkce a LED VYPNĚTE. V níže uvedeném kódu se fprintf (bt, '0') používá k odesílání '0' z MATLABu do HC-05 pomocí Bluetooth notebooku. Arduino obdrží '0' až HC-05 a vypnout LED tím, že jeho 11 th pin LOW.
globální bt; fprintf (bt, '0');
Ve funkci tlačítka BLINK použijte níže uvedený kód k blikání LED. Pro smyčku se používá k bliká kontrolka LED 10 krát.
globální bt; pro i = 1:10 fprintf (bt, '1'); pauza (0,5); fprintf (bt, '0'); pauza (0,5); konec
Po dokončení kódování grafického uživatelského rozhraní MATLAB a nastavení hardwaru podle schématu zapojení stačí kliknout na tlačítko spuštění a spustit upravený kód v souboru.m.
MATLABu může trvat několik sekund, než odpoví, neklikejte na žádné tlačítko grafického uživatelského rozhraní, dokud MATLAB nezobrazí indikaci BUSY, kterou můžete vidět v levém dolním rohu obrazovky, jak je znázorněno níže,
Když je vše připraveno, klikněte na LED-ON, LED OFF a BLINK pro zapnutí, vypnutí a blikání LED. Všechny soubory kódu pro tento projekt si můžete stáhnout odtud nebo můžete použít níže uvedený kód.
Podívejte se na video níže, abyste pochopili kompletní proces odesílání dat z MATLABu do Arduina přes Bluetooth pomocí MATLAB GUI.