- Co je modul HM10 BLE 4.0?
- Rozdíl mezi HM10 a jiným modulem Bluetooth
- Požadované komponenty
- Kruhový diagram
- Ovladač Bluetooth Arduino (modul HM-10) pro Android
- Programování Arduino UNO na ovládání LED pomocí modulu Bluetooth HM-10
Bluetooth je jednou z nejpopulárnějších a snadno použitelných bezdrátových technologií. Během několika let došlo k mnoha upgradům standardu Bluetooth, aby držel krok se současnou probíhající technologií s budoucí technologií a uspokojoval potřeby uživatelů. Počínaje verzí Bluetooth 1.0 až Bluetooth verze 5.0 se změnilo mnoho věcí, včetně vyšších přenosových rychlostí, možnosti použití pro IoT s nízkou spotřebou proudu, lepšího zabezpečení atd. K učení komunikace Bluetooth existuje mnoho modulů, které lze propojen s mikrokontroléry. Takový Bluetooth modul je HM10, který je založen na Bluetooth 4.0.
Co je modul HM10 BLE 4.0?
HM10 je sériový modul BLE (Bluetooth-Low-Energy), který je určen pro aplikace s nízkou spotřebou energie a vydrží dlouho i s baterií velikosti mince. HM10 je 4,0 Bluetooth modul založený na Texas Instruments CC2540 a CC2541 BLE systému SoC (System on Chip). Firmware a design modulu vyrábí a spravuje společnost Jinan Huamao Technology. Modul je dodáván se sériovou / UART vrstvou, která umožňuje zařízení komunikovat s různými mikrokontroléry. HM10 je ideální pro vytváření jednoduchých připojení a jeho použití s nebo jako iBeacon.
HM10 se stal velmi populárním modulem Bluetooth 4.0 BLE. HM10 je pouze modul založený na Bluetooth 4.0, takže se nepřipojí k modulu Bluetooth 2 / 2.1, jako jsou HC-05, HC-06 a dalším modulům Bluetooth. HM10 je řízen pomocí AT příkazů odeslaných přes sériové UART připojení. HM-10 je modul Bluetooth Low Energy (BLE). Chcete-li se dozvědět více informací o BLE, přejděte na odkaz. Naučte se také, jak lze modul nRF24L01 použít jako modul BLE s Arduino.
Rozdíl mezi HM10 a jiným modulem Bluetooth
Hlavní rozdíl, který HM10 má, je verze Bluetooth. HM10 je modul Bluetooth 4.0, takže přichází se všemi funkcemi Bluetooth verze 4.0, jako je rychlost, propustnost a dosah. Model HM10 nabízí datovou rychlost až 24 Mb / s při nízké spotřebě energie / nízké spotřebě energie. Spolu s tím nabízí HM10 v otevřeném prostoru vzdálenost 100 metrů. Ve srovnání s jinými moduly Bluetooth, jako je HC-05, což je modul založený na Bluetooth 2.0, si HM10 jistě vede lépe než HC-05. HC-05 nabízí ve srovnání s HM10 pouze 3 Mb / s, což je o dost méně.
Bluetooth moduly HC-05 a HC-06 jsou stále velmi populární mezi tvůrci a fandy, protože jsou levné a snadno ovladatelné. Udělali jsme také mnoho projektů pomocí HC-05/06 a propojili je s mnoha dalšími mikrokontroléry:
- Rozhraní Bluetooth modulu s ESP8266: Ovládání LED
- Rozhraní Bluetooth HC-05 s modrou pilulkou STM32F103C8: kontrolka LED
- Propojení modulu HC-05 Bluetooth s mikrokontrolérem AVR
- Propojení modulu Bluetooth HC-06 s mikrokontrolérem PIC
- Hlasově ovládané LED diody pomocí Arduina a Bluetooth
- Hlasově ovládaná světla pomocí Raspberry Pi
Všechny projekty související s Bluetooth najdete na tomto odkazu.
Dnes budeme propojovat modul HM-10 BLE s Arduino Uno pro bezdrátové ovládání LED pomocí protokolu Bluetooth. Příkazy pro zapnutí / vypnutí budou odesílány chytrým telefonem.
Požadované komponenty
Hardware:
- Arduino UNO
- Modul Bluetooth HM10
- Rezistory (1 kΩ, 470 Ω)
- Propojovací dráty
Software:
- Arduino IDE
- Ovladač Bluetooth Arduino (modul HM-10) pro Android
- Chytrý telefon Android
Kruhový diagram
Schéma zapojení Arduina a modulu Bluetooth HM-10 je velmi jednoduché, jak je znázorněno níže.
Než začnete s projektem, ujistěte se, že váš modul HM-10 je originální modul HM-10. K dispozici jsou široce čínské klonované moduly HM-10. Chcete-li zjistit rozdíl mezi originálním a klonovaným modulem HM-10, stačí se podívat na přítomnost Crystal Oscillator 32KHz na desce HM-10. Pokud je Crystal Oscillator přítomen, jedná se o originální modul HM-10 a nemusíte měnit firmware. Pokud ale místo něj nevidíte Crystal Oscillator, jedná se o klonovaný modul HM10 a musíte změnit firmware klonovaného modulu HM-10.. Bez změny firmwaru HM-10 nemůžete přistupovat k modulu HM-10 pomocí AT příkazů ani jej spárovat se smartphony. Zde také používáme klonový modul, takže jsme před připojením k Ardruinu zablikali jeho firmware. Chcete-li změnit modul firmwaru klonované HM-10, jednoduše postupujte podle našeho tutoriálu Jak změnit nebo blikat modul firmwaru klonu HM-10.
Ovladač Bluetooth Arduino (modul HM-10) pro Android
Řadič Bluetooth Arduino (modul HM-10) je aplikace pro Android, která je k dispozici zdarma v obchodě Google Play. Tato aplikace má jednoduché a jednoduché rozhraní pro modul HM-10 BLE. Během testování dokázal rychle najít HM-10 a okamžitě se spojil s HM-10. Aplikace má některé skvělé funkce, jako je vytvoření tlačítka a přizpůsobení pomocí vlastního názvu a funkcí. Zde ukážeme, jak v této aplikaci Bluetooth Controller vytvořit dvě tlačítka pro zapnutí a vypnutí LED připojené k Arduinu.
Jak nastavit Arduino Bluetooth Controller (modul HM-10) pro Android:
- Stáhněte si aplikaci z obchodu Google Play.
- Domovská stránka aplikace bude vypadat níže, kde najdete funkce, jako je připojení zařízení, ikona hledání, ikona odstranění, stav zařízení, odeslání textu, přidání šablony atd. Začněte vyhledávat zařízení buď kliknutím na ikonu Hledat nebo kliknutím na tři tečky v pravém horním rohu a vyberte připojit zařízení .
- Na obrazovce se zobrazí všechna dostupná zařízení. Vyberte správný modul HM-10.
- Nyní bude HM-10 úspěšně připojen a v horní části obrazovky uvidíte stav HM-10.
- Nyní můžete buď přímo odeslat text nebo řetězec napsáním do textové části a stisknutím šipky odeslat, nebo můžete vytvořit vlastní šablonu.
- Chcete-li vytvořit vlastní šablonu, abyste ušetřili čas. Klikněte na ikonu „ + “ v pravém horním rohu a vyplňte podrobnosti. „ Název “ je název tlačítka, pole „ Text “ je pro texty nebo řetězce, které budou odeslány na HM-10, a „ Popis “ je pouze popis tlačítka, které vysvětluje, jak bude tlačítko fungovat.
- Nejprve vytvořte tlačítko pro zapnutí LED a dejte mu zelenou barvu. Tlačítko pošle písmeno „N“ HM-10, které rozsvítí LED připojenou k Arduinu. Podobně vytvořte tlačítko pro LED VYPNUTO a dejte mu červenou barvu.. Tlačítko pošle písmeno „F“ na HM-10, čímž zhasne LED připojená k Arduinu.
- Nyní vidíte dvě tlačítka vytvořená těsně pod textovým polem. Nyní, pokud chcete ovládat LED, stačí kliknout na tlačítka.
Tím je nastavení aplikace pro Android k ovládání modulu HM-10 dokončeno. Nyní začneme s programováním Arduino Uno, abychom získali postavy z aplikace pro Android.
Programování Arduino UNO na ovládání LED pomocí modulu Bluetooth HM-10
Jako vždy kompletní program s demonstračním videu lze nalézt na konci tohoto návodu. Programování Arduino UNO pro tento projekt nevyžaduje velké úsilí ani žádnou knihovnu. Můžete použít hardwarové sériové a softwarové sériové knihovny. Pokud používáte softwarové sériové číslo, stačí přidat softwarovou sériovou knihovnu, jinak pokračujte hardwarovým sériovým číslem. V tomto projektu používáme SoftwareSerial. Začněte tedy zahrnutím softwarové sériové knihovny. Piny Rx a Tx jsou připojeny na 2 a 3 piny Arduina.
#zahrnout
Tyto dvě proměnné se používají k ukládání dat přijatých z aplikace HM10 a aplikace pro Android.
char appData; Řetězec inData = "";
Stačí spustit hardwarové a softwarové sériové rozhraní s přenosovou rychlostí 9600 a vytisknout si některé ladicí příkazy. Pin LED je nastaven jako výstup a zpočátku je vypnutý.
Serial.begin (9600); Serial.println ("seriál HM10 začal na 9600"); HM10.začátek (9600); // set HM10 serial at 9600 baud rate pinMode (13, OUTPUT); // integrovaná LED digitalWrite (13, LOW); // zhasne LED
Začněte poslouchat port HM10 a přečtěte si řetězec, dokud nebude k dispozici HM10 a odešle data. Uložte data do řetězce.
HM10.listen (); // poslouchejte port HM10 while (HM10.available ()> 0) {// pokud HM10 něco pošle, přečtěte si appData = HM10.read (); inData = String (appData); // uložení dat ve formátu řetězce Serial.write (appData); }
Pro ladění HM10 pomocí AT příkazů stačí napsat níže uvedený řádek kódu, který pošle řetězec do HM10.
if (Serial.available ()) {// Přečtěte si vstup uživatele, pokud je k dispozici. zpoždění (10); HM10.write (Serial.read ()); }
Pokud je přijatý řetězec „F“, vytiskněte zprávu na sériovém monitoru a vypněte LED, pokud je přijatý řetězec „N“, poté vytiskněte zprávu na sériovém monitoru a bliká LED se zpožděním 500 ms.
if (inData == "F") { Serial.println ("LED nesvítí"); digitalWrite (13, LOW); // vypnutí LED zpoždění (500); } if (inData == "N") { Serial.println ("LED Svítí"); digitalWrite (13, HIGH); // vypnutí LED zpoždění (500); digitalWrite (13, LOW); // vypnutí LED zpoždění (500); }
Tím je dokončen kompletní návod, jak ovládat LED pomocí modulu Arduino a BLE HM10 Blutooth 4.0. Opět si pamatujte, že pokud máte originální modul HM10, nemusíte jeho firmware flashovat, lze jej ihned použít. Pokud ale používáte klonovaný modul HM-10, proveďte aktualizaci firmwaru na klonovaném modulu HM10 BLE. Pokud máte jakékoli pochybnosti nebo návrhy, pak prosím komentujte níže nebo napište na naše fórum.