- Cos'è il modulo HM10 BLE 4.0?
- Differenza tra HM10 e altri moduli Bluetooth
- Componenti richiesti
- Schema elettrico
- Applicazione Android Arduino Bluetooth Controller (modulo HM-10)
- Programmazione di Arduino UNO per controllare il LED utilizzando il modulo Bluetooth HM-10
Il Bluetooth è una delle tecnologie wireless più popolari e facili da usare. Nel corso degli anni ci sono stati molti aggiornamenti dello standard Bluetooth per tenere il passo con l'attuale tecnologia in corso con la tecnologia futura e per soddisfare le esigenze degli utenti. A partire dalla versione Bluetooth 1.0 alla versione Bluetooth 5.0, sono cambiate molte cose tra cui velocità di trasmissione dati più elevate, la possibilità di essere utilizzato per IoT con basso consumo di corrente, maggiore sicurezza, ecc. Per apprendere la comunicazione Bluetooth ci sono molti moduli disponibili che possono essere interfacciato con microcontrollori. Un tale modulo Bluetooth è HM10 che si basa su Bluetooth 4.0.
Cos'è il modulo HM10 BLE 4.0?
L'HM10 è un modulo BLE seriale (Bluetooth-Low-Energy) destinato all'uso per applicazioni a basso consumo energetico e può durare a lungo anche con una batteria delle dimensioni di una moneta. L' HM10 è un modulo Bluetooth 4.0 basato sul SoC (System on Chip) di Texas Instruments CC2540 o CC2541 BLE System. Il firmware e il design del modulo sono realizzati e gestiti da Jinan Huamao Technology. Il modulo viene fornito con un livello seriale / UART che rende il dispositivo in grado di interfacciarsi con diversi microcontrollori. L'HM10 è ideale per creare connessioni semplici e utilizzarlo con o come iBeacon.
L'HM10 è diventato un modulo Bluetooth 4.0 BLE molto popolare. L'HM10 è solo un modulo basato su Bluetooth 4.0, quindi non si connetterà con il modulo Bluetooth 2 / 2.1 come HC-05, HC-06 e altri moduli Bluetooth. L'HM10 è controllato tramite comandi AT inviati tramite la connessione seriale UART. HM-10 è un modulo Bluetooth Low Energy (BLE), per saperne di più su BLE segui il link. Scopri anche come un modulo nRF24L01 può essere utilizzato come modulo BLE con Arduino.
Differenza tra HM10 e altri moduli Bluetooth
La principale differenza che HM10 possiede è la versione Bluetooth. L'HM10 è un modulo Bluetooth 4.0, quindi viene fornito con tutte le funzionalità Bluetooth versione 4.0 come velocità, produttività e portata. L' HM10 offre una velocità di trasmissione dati fino a 24 Mbps con basso consumo energetico / basso consumo. Insieme a questo, l' HM10 offre una portata di 100 metri in spazi aperti. Rispetto ad altri moduli Bluetooth come HC-05, che è un modulo basato su Bluetooth 2.0, l'HM10 funziona sicuramente meglio dell'HC-05. L'HC-05 offre solo 3 Mbps rispetto a HM10 che è molto meno.
I moduli Bluetooth HC-05 e HC-06 sono ancora molto popolari tra i produttori e gli hobbisti poiché sono economici e facili da interfacciare. Abbiamo anche realizzato molti progetti utilizzando HC-05/06 e li abbiamo interfacciati con molti altri microcontrollori:
- Interfaccia del modulo Bluetooth con ESP8266: controllo di un LED
- Interfacciamento Bluetooth HC-05 con STM32F103C8 Blue Pill: LED di controllo
- Interfacciamento del modulo Bluetooth HC-05 con il microcontrollore AVR
- Interfacciamento del modulo Bluetooth HC-06 con microcontrollore PIC
- LED a controllo vocale utilizzando Arduino e Bluetooth
- Luci a controllo vocale utilizzando Raspberry Pi
Tutti i progetti relativi al Bluetooth possono essere trovati a questo link.
Oggi interfacciamo il modulo HM-10 BLE con Arduino Uno per controllare un LED in modalità wireless utilizzando il protocollo Bluetooth. I comandi On / Off verranno inviati da Smartphone.
Componenti richiesti
Hardware:
- Arduino UNO
- Modulo Bluetooth HM10
- Resistori (1 kΩ, 470 Ω)
- Cavi per ponticelli
Software:
- IDE Arduino
- App Android Arduino Controller Bluetooth (modulo HM-10)
- Smartphone Android
Schema elettrico
Lo schema del circuito per il collegamento di Arduino e modulo Bluetooth HM-10 è molto semplice come mostrato di seguito.
Prima di iniziare con il progetto, assicurati che il tuo modulo HM-10 sia un modulo HM-10 originale. Sono disponibili moduli HM-10 clonati ampiamente cinesi. Per identificare la differenza tra il modulo HM-10 originale e clonato, basta guardare la presenza dell'oscillatore a cristalli di 32 KHz sulla scheda HM-10. Se è presente l'oscillatore in cristallo, si tratta di un vero modulo HM-10 e non è necessario modificare il firmware. Ma se non riesci a vedere l'oscillatore di cristallo al posto di esso, allora è un modulo HM10 clonato e devi cambiare il firmware del modulo HM-10 clonato. Senza modificare il firmware HM-10, non è possibile accedere al modulo HM-10 con i comandi AT né accoppiarlo con gli smartphone. Qui stiamo anche usando il modulo clone, quindi abbiamo aggiornato il suo firmware prima di collegarlo ad Ardruino. Per modificare il firmware del modulo HM-10 clonato, segui semplicemente il nostro tutorial su Come modificare o eseguire il flashing del firmware del modulo Clone HM-10.
Applicazione Android Arduino Bluetooth Controller (modulo HM-10)
Il controller Bluetooth Arduino (modulo HM-10) è un'applicazione Android disponibile gratuitamente su Google Play Store. Questa app ha un'interfaccia facile e semplice per il modulo BLE HM-10. Durante il test, è stato in grado di trovare rapidamente HM-10 e si è connesso istantaneamente con HM-10. L'app ha alcune funzioni interessanti come creare un pulsante e personalizzarlo con nome e funzioni personalizzati. Qui vedremo come creare due pulsanti in questa app controller Bluetooth per accendere e spegnere il LED collegato ad Arduino.
Come configurare l'app Android Arduino Bluetooth Controller (modulo HM-10):
- Scarica l'app da Google Play Store.
- La home page dell'app apparirà come sotto, dove puoi trovare funzionalità come, connetti dispositivo, icona di ricerca, icona di eliminazione, stato del dispositivo, invia testo, aggiungi modello ecc. Inizia con la ricerca del dispositivo facendo clic sull'icona di ricerca o facendo clic su a tre punti nell'angolo in alto a destra e scegli Connetti dispositivo .
- Tutti i dispositivi disponibili verranno visualizzati sullo schermo. Scegli il modulo HM-10 corretto.
- Ora l'HM-10 sarà connesso con successo e sarai in grado di vedere lo stato di HM-10 nella parte superiore dello schermo.
- Ora puoi inviare direttamente un testo o una stringa scrivendo nella sezione del testo e premere la freccia per inviare oppure puoi creare un modello personalizzato.
- Per creare un modello personalizzato per risparmiare tempo. Fare clic sull'icona " + " nell'angolo in alto a destra e inserire i dettagli. Il " Nome " è il nome del pulsante, il campo " Testo " è per i testi o la stringa che verranno inviati a HM-10 e " Descrizione " è solo la descrizione del pulsante che indica come funzionerà il pulsante.
- In primo luogo, creare un pulsante per accendere il LED e dargli un colore verde. Il Button invierà la lettera "N" a HM-10 che accenderà il LED collegato ad Arduino. Allo stesso modo creare un pulsante per LED OFF e dargli un colore rosso.. Il pulsante invierà la lettera "F" a HM-10 che spegnerà il LED collegato ad Arduino.
- Ora puoi vedere i due pulsanti creati appena sotto il campo di testo. Ora, se vuoi controllare il LED, fai clic sui pulsanti.
Questo termina la configurazione dell'app Android per controllare il modulo HM-10. Ora inizieremo con la programmazione di Arduino Uno per ottenere i personaggi dall'App Android.
Programmazione di Arduino UNO per controllare il LED utilizzando il modulo Bluetooth HM-10
Come sempre il programma completo con video dimostrativo si trova alla fine di questo tutorial. La programmazione di Arduino UNO per questo progetto non richiede molti sforzi né alcuna libreria. È possibile utilizzare la libreria seriale hardware e la libreria seriale software. Se stai usando il software seriale, includi semplicemente la libreria seriale del software altrimenti procedi con l'hardware seriale. In questo progetto stiamo usando SoftwareSerial. Quindi inizia includendo la libreria seriale del software. I pin Rx e Tx sono collegati a 2 e 3 Pin di Arduino.
#includere
Le due variabili vengono utilizzate per memorizzare i dati ricevuti da HM10 e dall'app Android.
char appData; String inData = "";
Basta avviare l'Hardware and Software Serial a 9600 baud rate e stampare alcune istruzioni di debug. Il pin LED è impostato come uscita e inizialmente è spento.
Serial.begin (9600); Serial.println ("Seriale HM10 iniziato a 9600"); HM10.begin (9600); // imposta la seriale HM10 a 9600 baud rate pinMode (13, OUTPUT); // digitalWrite LED integrato (13, LOW); // spegne il LED
Inizia ad ascoltare la porta HM10 e leggi la stringa finché l'HM10 non è disponibile e invia i dati. Salva i dati in stringa.
HM10.listen (); // ascolta la porta HM10 mentre (HM10.available ()> 0) {// se HM10 invia qualcosa, leggi appData = HM10.read (); inData = String (appData); // salva i dati in formato stringa Serial.write (appData); }
Per eseguire il debug dell'HM10 con i comandi AT è sufficiente scrivere la riga di codice sottostante che invierà la stringa a HM10.
if (Serial.available ()) {// Leggi l'input dell'utente se disponibile. ritardo (10); HM10.write (Serial.read ()); }
Se la stringa ricevuta è "F" stampare un messaggio sul monitor seriale e spegnere il led altrimenti se la stringa ricevuta è "N" stampare un messaggio sul monitor seriale e lampeggiare con un ritardo di 500ms.
if (inData == "F") { Serial.println ("LED OFF"); digitalWrite (13, LOW); // disattiva il ritardo del LED (500); } if (inData == "N") { Serial.println ("LED ON"); digitalWrite (13, HIGH); // disattiva il ritardo del LED (500); digitalWrite (13, LOW); // disattiva il ritardo del LED (500); }
Questo termina il tutorial completo su come controllare i LED utilizzando Arduino e il modulo BLE HM10 Blutooth 4.0. Ricorda ancora che , se hai un modulo HM10 originale, non è necessario eseguire il flashing del firmware, può essere utilizzato immediatamente. Ma se si utilizza un modulo HM-10 clonato, eseguire il flashing del firmware sul modulo HM10 BLE clonato. Se hai dubbi o suggerimenti, commenta qui sotto o scrivi al nostro forum.