- Què és el mòdul HM10 BLE 4.0?
- Diferència entre HM10 i un altre mòdul Bluetooth
- Components necessaris
- Esquema de connexions
- Aplicació per a Android Arduino Bluetooth Controller (Mòdul HM-10)
- Programació Arduino UNO per controlar LED mitjançant el mòdul Bluetooth HM-10
El Bluetooth és una de les tecnologies sense fils més populars i fàcils d’utilitzar. Al llarg dels pocs anys hi ha hagut moltes actualitzacions de l'estàndard Bluetooth per mantenir el ritme de la tecnologia actual amb tecnologia futura i per satisfer les necessitats dels usuaris. Començant des de la versió 1.0 de Bluetooth fins a la versió 5.0 de Bluetooth, hi ha moltes coses que han canviat, incloses les taxes de dades més altes, la possibilitat d’utilitzar-se per IoT amb baix consum de corrent, seguretat millorada, etc. Per aprendre la comunicació Bluetooth hi ha molts mòduls disponibles interfície amb microcontroladors. Aquest mòdul Bluetooth és HM10, que es basa en Bluetooth 4.0.
Què és el mòdul HM10 BLE 4.0?
L’HM10 és un mòdul BLE de sèrie (Bluetooth-Low-Energy) que s’utilitza per a aplicacions de baix consum d’energia i pot durar molt fins i tot amb una bateria de mida moneda. L' HM10 és un mòdul Bluetooth 4.0 basat en el SoC (System on Chip) del sistema Texas Instruments CC2540 o CC2541 BLE. El firmware i el disseny del mòdul estan fabricats i gestionats per Jinan Huamao Technology. El mòdul ve amb capa serial / UART que fa que el dispositiu pugui interactuar amb diferents microcontroladors. L'HM10 és ideal per crear connexions senzilles i utilitzar-lo amb o com a iBeacon.

L’HM10 s’ha convertit en un mòdul Bluetooth 4.0 BLE molt popular. L'HM10 només és un mòdul basat en Bluetooth 4.0, de manera que no es connectarà amb mòduls Bluetooth 2 / 2.1 com ara HC-05, HC-06 i altres mòduls Bluetooth. El HM10 es controla mitjançant ordres AT enviades a través de la connexió UART serial. HM-10 és un mòdul Bluetooth de baix consum (BLE), per obtenir més informació sobre BLE, seguiu l'enllaç. Apreneu també com es pot utilitzar un mòdul nRF24L01 com a mòdul BLE amb Arduino.
Diferència entre HM10 i un altre mòdul Bluetooth
La principal diferència que posseeix HM10 és la versió Bluetooth. L’HM10 és un mòdul Bluetooth 4.0, de manera que inclou totes les funcions de la versió 4.0 de Bluetooth, com ara velocitat, rendiment i abast. L’ HM10 ofereix una velocitat de dades de fins a 24 Mbps amb un consum baix d’energia / baix consum. Juntament amb això, l' HM10 ofereix una distància de 100 metres en espai obert. En comparació amb altres mòduls Bluetooth com l’HC-05, que és un mòdul basat en Bluetooth 2.0, l’HM10 té un rendiment millor que l’HC-05. L’HC-05 només ofereix 3 Mbps en comparació amb l’HM10, que és bastant inferior.
Els mòduls Bluetooth HC-05 i HC-06 segueixen sent molt populars entre els fabricants i aficionats, ja que són barats i fàcils d’interfacer. També hem realitzat molts projectes amb HC-05/06 i els hem interfaciat amb molts altres microcontroladors:
- Interfície de mòduls Bluetooth amb ESP8266: control d’un LED
- Interfície Bluetooth HC-05 amb píndola blava STM32F103C8: LED de control
- Interfície del mòdul Bluetooth HC-05 amb microcontrolador AVR
- Interfície del mòdul Bluetooth HC-06 amb microcontrolador PIC
- LED controlats per veu mitjançant Arduino i Bluetooth
- Llums controlades per veu mitjançant Raspberry Pi

Tots els projectes relacionats amb Bluetooth es poden trobar en aquest enllaç.
Avui farem una interfície del mòdul HM-10 BLE amb Arduino Uno per controlar un LED sense fils mitjançant el protocol Bluetooth. Les ordres On / Off s’enviaran mitjançant un telèfon intel·ligent.
Components necessaris
Maquinari:
- Arduino UNO
- Mòdul Bluetooth HM10
- Resistències (1 kΩ, 470 Ω)
- Jumper Wires
Programari:
- IDE Arduino
- Aplicació d'Android per al controlador Bluetooth Arduino (mòdul HM-10)
- Telèfon intel·ligent Android
Esquema de connexions
El diagrama de circuits per connectar el mòdul Bluetooth Arduino i HM-10 és molt senzill, tal com es mostra a continuació.


Abans de començar amb el projecte , assegureu-vos que el mòdul HM-10 sigui un mòdul HM-10 genuí. Hi ha mòduls HM-10 clonats àmpliament xinesos disponibles. Per identificar la diferència entre el mòdul HM-10 genuí i el clonat, només cal veure la presència de Crystal Oscillator de 32 KHz a la placa HM-10. Si el Crystal Oscillator és present, és un mòdul HM-10 genuí i no cal canviar el firmware. Però si no podeu veure el Crystal Oscillator en lloc seu, es tracta d’un mòdul HM10 clonat i heu de canviar el firmware del mòdul HM-10 clonat.. Sense canviar el microprogramari HM-10, no podeu accedir al mòdul HM-10 amb ordres AT ni el podeu emparellar amb telèfons intel·ligents. Aquí també estem utilitzant el mòdul de clonació, de manera que hem llançat el firmware abans de connectar-lo amb Ardruino. Per canviar el mòdul Firmware of Cloned HM-10, simplement seguiu el nostre tutorial sobre Com canviar o fer flash el mòdul Firmware of Clone HM-10.
Aplicació per a Android Arduino Bluetooth Controller (Mòdul HM-10)
El controlador Bluetooth Arduino (mòdul HM-10) és una aplicació per a Android que està disponible de forma gratuïta a Google Play Store. Aquesta aplicació té una interfície senzilla i senzilla per al mòdul BLE HM-10. Durant les proves, va poder trobar l’HM-10 ràpidament i es va connectar a l’instant amb l’HM-10. L'aplicació té algunes funcions interessants, com ara que podeu crear un botó i personalitzar-lo amb un nom i funcions personalitzats. Aquí veurem com crear dos botons en aquesta aplicació de controlador Bluetooth per encendre i apagar el LED connectat amb Arduino.
Com es configura l'aplicació d'Android Arduino Bluetooth Controller (Mòdul HM-10):
- Baixeu l'aplicació de Google Play Store.

- La pàgina d'inici de l'aplicació es mostrarà a continuació, on podeu trobar funcions com ara: connectar dispositiu, icona de cerca, icona de supressió, estat del dispositiu, enviar text, afegir plantilla, etc. Comenceu a cercar el dispositiu fent clic a la icona de cerca o fent clic a a tres punts a l'extrem superior dret i trieu Connecta dispositiu .

- Tots els dispositius disponibles es mostraran a la pantalla. Trieu el mòdul HM-10 correcte.

- Ara l'HM-10 es connectarà amb èxit i podreu veure l'estat de l'HM-10 a la part superior de la pantalla.

- Ara podeu enviar directament un text o una cadena escrivint a la secció de text i prémer la fletxa per enviar o podeu crear una plantilla personalitzada.

- Per crear una plantilla personalitzada per estalviar temps. Feu clic a la icona " + " a l'extrem superior dret i empleneu els detalls. El " Nom " és el nom del botó, el camp " Text " és per a textos o cadenes que s'enviaran a HM-10 i " Descripció " és només la descripció del botó de com funcionarà el botó.

- En primer lloc, creeu un botó per encendre el LED i doneu-li un color verd. El botó enviarà una carta "N" a HM-10 que encendrà el LED connectat a Arduino. De la mateixa manera, creeu un botó per al LED APAGAT i doneu-li un color vermell.. El botó enviarà la carta "F" a HM-10 que apagarà el LED connectat a Arduino.

- Ara podeu veure els dos botons creats just a sota del camp de text. Ara bé, si voleu controlar el LED, feu clic als botons.

S'acaba la configuració de l'aplicació per a Android per controlar el mòdul HM-10. Ara començarem amb la programació Arduino Uno per obtenir els personatges de l'App Android.
Programació Arduino UNO per controlar LED mitjançant el mòdul Bluetooth HM-10
Com sempre , es pot trobar un programa complet amb vídeo de demostració al final d’aquest tutorial. Programar Arduino UNO per a aquest projecte no requereix gaire esforç ni cap biblioteca. Podeu fer servir la sèrie de programari i la biblioteca de maquinari. Si utilitzeu el programari de sèrie, només cal que inclogueu la biblioteca de programari, en cas contrari, procediu amb la sèrie de maquinari. En aquest projecte estem utilitzant SoftwareSerial. Comenceu, doncs, amb la inclusió de la biblioteca en sèrie de programari. Els pins Rx i Tx estan connectats a 2 i 3 pins d'Arduino.
#incloure
Les dues variables s'utilitzen per emmagatzemar les dades rebudes de l'aplicació HM10 i Android.
char appData; String inData = "";
Només cal que inicieu la sèrie de maquinari i programari a una velocitat de 9600 baud i imprimiu algunes declaracions de depuració. El pin LED està configurat com a sortida i inicialment està apagat.
Serial.begin (9600); Serial.println ("HM10 serial va començar a 9600"); HM10.begin (9600); // Estableix la sèrie HM10 a 9600 baud de velocitat pinMode (13, OUTPUT); // LED digitalWrite a bord (13, BAIX); // apaga el LED
Comenceu a escoltar el port HM10 i llegiu la cadena fins que l'HM10 estigui disponible i enviï les dades. Deseu les dades en una cadena.
HM10.listen (); // escolteu el port HM10 mentre (HM10.available ()> 0) {// si HM10 envia alguna cosa, llegiu appData = HM10.read (); inData = Cadena (appData); // deseu les dades en format de cadena Serial.write (appData); }
Per depurar l'HM10 amb ordres AT, només cal escriure la línia de codi següent que enviarà la cadena a HM10.
if (Serial.available ()) {// Llegiu l'entrada de l'usuari si està disponible. retard (10); HM10.write (Serial.read ()); }
Si la cadena rebuda és “F”, imprimiu un missatge al monitor serial i apagueu el led, si la cadena rebuda és “N”, imprimiu un missatge al monitor serial i el LED Blink amb un retard de 500 ms.
if (inData == "F") { Serial.println ("LED APAGAT"); digitalWrite (13, BAIX); // apaga el retard del LED (500); } if (inData == "N") { Serial.println ("LED ON"); digitalWrite (13, ALTA); // apaga el retard del LED (500); digitalWrite (13, BAIX); // apaga el retard del LED (500); }

Finalitza el tutorial complet sobre com controlar el LED mitjançant el mòdul Arduino i BLE HM10 Blutooth 4.0. Recordeu de nou que , si teniu un mòdul HM10 autèntic, no cal que feu flaix el firmware, es pot utilitzar immediatament. Però si utilitzeu un mòdul HM-10 clonat, feu flaix el firmware del mòdul clon HM10 BLE. Si teniu algun dubte o suggeriment, si us plau comenteu a continuació o escriviu al nostre fòrum.
