- Hva er HM10 BLE 4.0-modul?
- Forskjellen mellom HM10 og annen Bluetooth-modul
- Komponenter kreves
- Kretsdiagram
- Arduino Bluetooth Controller (HM-10 Module) Android-applikasjon
- Programmering av Arduino UNO for å kontrollere LED ved hjelp av HM-10 Bluetooth-modul
Bluetooth er en av de mest populære og brukervennlige trådløse teknologiene. I løpet av de få årene har det vært mange oppgraderinger av Bluetooth-standarden for å holde tritt med dagens pågående teknologi med fremtidig teknologi og for å tilfredsstille brukernes behov. Fra og med Bluetooth-versjon 1.0 til Bluetooth-versjon 5.0 er det mange ting som endres, inkludert høyere datahastigheter, muligheten til å bli brukt til IoT med lavt strømforbruk, forbedret sikkerhet osv. For å lære Bluetooth-kommunikasjon er det mange moduler tilgjengelig som kan være grensesnitt med mikrokontrollere. En slik Bluetooth-modul er HM10 som er basert på Bluetooth 4.0.
Hva er HM10 BLE 4.0-modul?
HM10 er en seriell BLE-modul (Bluetooth-Low-Energy) som er beregnet på bruk for applikasjoner med lavt strømforbruk, og som kan vare lenge selv med et myntstort batteri. Den HM10 er et Bluetooth 4.0-modul basert på Texas Instruments CC2540 eller CC2541 BLE System SoC (System on Chip). Firmware og design av modulen er laget og administrert av Jinan Huamao Technology. Modulen leveres med seriell / UART-lag som gjør at enheten skal kunne grensesnitt med forskjellige mikrokontrollere. HM10 er ideell for å lage enkle tilkoblinger og bruke den med eller som en iBeacon.
HM10 har blitt en veldig populær Bluetooth 4.0 BLE-modul. HM10 er bare en Bluetooth 4.0-basert modul, så den kobles ikke til Bluetooth 2 / 2.1-modul som HC-05, HC-06 og andre Bluetooth-moduler. HM10 styres via AT-kommandoer sendt over den serielle UART-forbindelsen. HM-10 er en Bluetooth Low Energy (BLE) -modul, for å vite mer om BLE, følg lenken. Lær også hvordan en nRF24L01-modul kan brukes som BLE-modul med Arduino.
Forskjellen mellom HM10 og annen Bluetooth-modul
Den største forskjellen HM10 har er Bluetooth-versjonen. HM10 er Bluetooth 4.0-modul, så den kommer med alle Bluetooth versjon 4.0-funksjoner som hastighet, gjennomstrømning og rekkevidde. Den HM10 tilbyr en datahastighet på opptil 24 Mbps med lav-energi / lavt strømforbruk. Sammen med dette tilbyr HM10 et avstandsområde på 100 meter i åpent rom. Sammenlignet med andre Bluetooth-moduler som HC-05, som er en Bluetooth 2.0-basert modul, fungerer HM10 absolutt bedre enn HC-05. HC-05 tilbyr bare 3 Mbps sammenlignet med HM10, som er ganske mindre.
Bluetooth-modulen HC-05 og HC-06 er fortsatt veldig populære blant produsenter og hobbyister, da de er billige og enkle å grensesnitt. Vi laget også mange prosjekter ved hjelp av HC-05/06 og grensesnittet dem med mange andre mikrokontrollere:
- Bluetooth-modulgrensesnitt med ESP8266: Kontrollere en LED
- Grensesnitt Bluetooth HC-05 med STM32F103C8 Blue Pill: Kontrollerende LED
- Grensesnitt HC-05 Bluetooth-modul med AVR Microcontroller
- Grensesnitt Bluetooth-modul HC-06 med PIC-mikrokontroller
- Stemmestyrte lysdioder ved hjelp av Arduino og Bluetooth
- Stemmestyrte lys med Raspberry Pi
Alle Bluetooth-relaterte prosjekter finner du på denne lenken.
I dag vil vi grensesnitt HM-10 BLE-modul med Arduino Uno for å kontrollere en LED trådløst ved hjelp av Bluetooth-protokoll. På / av-kommandoene vil bli sendt via smarttelefon.
Komponenter kreves
Maskinvare:
- Arduino UNO
- HM10 Bluetooth-modul
- Motstander (1 kΩ, 470 Ω)
- Jumper Wires
Programvare:
- Arduino IDE
- Arduino Bluetooth-kontroller (HM-10-modul) Android-app
- Android-smarttelefon
Kretsdiagram
Kretsskjema for tilkobling av Arduino og HM-10 Bluetooth-modul er veldig enkelt som vist nedenfor.
Før du begynner med prosjektet, må du sørge for at HM-10-modulen din er en ekte HM-10-modul. Det er vidt kinesiske klonede HM-10-moduler tilgjengelig. For å identifisere forskjellen mellom ekte og klonet HM-10-modul, se bare tilstedeværelsen av Crystal Oscillator på 32 KHz på HM-10-kortet. Hvis Crystal Oscillator er tilstede, er det en ekte HM-10-modul, og du trenger ikke å bytte fastvare. Men hvis du ikke kan se Crystal Oscillator i stedet for den, er det en klonet HM10-modul, og du må endre firmwaren til den klonede HM-10-modulen.. Uten å endre firmwaren til HM-10 har du verken tilgang til HM-10-modulen med AT-kommandoer, og du kan heller ikke koble den til smarttelefoner. Her bruker vi også klonmodulen, så vi blinket firmware før vi koblet den til Ardruino. For å endre fastvaren til Cloned HM-10-modulen, følg bare opplæringen vår om hvordan du endrer eller blinker firmware for Clone HM-10-modulen.
Arduino Bluetooth Controller (HM-10 Module) Android-applikasjon
Arduino Bluetooth Controller (HM-10 Module) er en android-applikasjon som er tilgjengelig gratis i Google Play Store. Denne appen har enkelt og enkelt grensesnitt for HM-10 BLE-modul. Mens du testet, var det i stand til å finne HM-10 raskt, og den koblet øyeblikkelig til HM-10. Appen har noen kule funksjoner som at du kan lage en knapp og tilpasse den med tilpasset navn og funksjoner. Her vil vi hvordan du lager to knapper i denne Bluetooth-kontroller-appen for å slå på og av LED-en som er koblet til Arduino.
Slik setter du opp Arduino Bluetooth Controller (HM-10 Module) Android-app:
- Last ned appen fra Google Play Store.
- Startsiden til appen vil se ut nedenfor, der du kan finne funksjoner som, koble til enhet, søkeikon, slette ikon, enhetsstatus, sende tekst, legge til mal osv. Begynn med å søke på enheten enten ved å klikke på søkeikon eller ved å klikke til tre prikker i øvre høyre hjørne og velg koble til enhet .
- Alle tilgjengelige enheter vises på skjermen. Velg riktig HM-10-modul.
- Nå vil HM-10 være vellykket tilkoblet, og du vil kunne se statusen til HM-10 øverst på skjermen.
- Nå kan du enten sende en tekst eller streng direkte ved å skrive på tekstdelen og trykke pilen for å sende, eller du kan opprette en tilpasset mal.
- Å lage en egendefinert mal for å spare tid. Klikk på “ + ” -ikonet øverst til høyre og fyll ut detaljene. “ Navn ” er knappens navn, “ Tekst ” -feltet er for tekster eller strenger som vil bli sendt til HM-10 og “ Beskrivelse ” er bare knappebeskrivelsen for hvordan knappen vil fungere.
- For det første skaper en knapp for turn LED ON og gi det en grønn farge. Knappen vil sende "N" brev til HM-10 som vil slå på LED-en som er koblet til Arduino. På samme måte oppretter du en knapp for LED OFF og gir den en rød farge.. Knappen sender et "F" -brev til HM-10 som slår av LED-en som er koblet til Arduino.
- Nå kan du se de to knappene som er opprettet like under tekstfeltet. Nå, hvis du vil kontrollere LED, er det bare å klikke på knappene.
Dette fullfører konfigureringen av Android-appen for å kontrollere HM-10-modulen. Nå begynner vi med programmeringen Arduino Uno for å få karakterene fra Android App.
Programmering av Arduino UNO for å kontrollere LED ved hjelp av HM-10 Bluetooth-modul
Som alltid finner du komplett program med demonstrasjonsvideo på slutten av denne veiledningen. Programmering av Arduino UNO for dette prosjektet krever verken mye innsats eller noe bibliotek. Du kan bruke seriebibliotek og programvarebibliotek. Hvis du bruker programvareserie, er det bare å inkludere programvareseriebibliotek, ellers fortsett med maskinvareserien. I dette prosjektet bruker vi SoftwareSerial. Så begynn med å inkludere programvareseriebiblioteket. Pinnene Rx og Tx er koblet sammen med 2 og 3 pinner av Arduino.
#inkludere
De to variablene brukes til å lagre dataene som mottas fra HM10 og android-appen.
char appData; Streng inData = "";
Bare start maskinvare- og programvareserien med 9600 baudrate og skriv ut noen feilsøkingsuttalelser. LED-pinnen er satt som utgang, og den er først av.
Serial.begin (9600); Serial.println ("HM10-serien startet ved 9600"); HM10. Begynte (9600); // sett HM10 seriell på 9600 baud rate pinMode (13, OUTPUT); // innebygd LED digitalWrite (13, LAV); // slå av LED
Begynn å lytte til HM10-porten og les strengen til HM10 er tilgjengelig og sender dataene. Lagre dataene i streng.
HM10.listen (); // lytte til HM10-porten mens (HM10.available ()> 0) {// hvis HM10 sender noe, så les appData = HM10.read (); inData = String (appData); // lagre dataene i strengformat Serial.write (appData); }
For feilsøking av HM10 med AT-kommandoer, skriv bare kodelinjen nedenfor som vil sende strengen til HM10.
hvis (Serial.available ()) {// Les brukerinngang hvis tilgjengelig. forsinkelse (10); HM10.write (Serial.read ()); }
Hvis den mottatte strengen er "F", skriv ut en melding på seriell skjerm og slå AV ledningen, hvis den mottatte strengen er "N", skriv deretter ut en melding på seriell skjerm og Blink led med en forsinkelse på 500 ms.
hvis (inData == "F") { Serial.println ("LED OFF"); digitalWrite (13, LAV); // slå av LED- forsinkelse (500); } hvis (inData == "N") { Serial.println ("LED PÅ"); digitalWrite (13, HØY); // slå av LED- forsinkelse (500); digitalWrite (13, LAV); // slå av LED- forsinkelse (500); }
Dette avslutter den komplette opplæringen om hvordan du styrer LED ved hjelp av Arduino og BLE HM10 Blutooth 4.0-modulen. Husk igjen at hvis du har en ekte HM10-modul, trenger du ikke å blinke firmware, den kan brukes med en gang. Men hvis du bruker en klonet HM-10-modul, så blink fastvaren på klon HM10 BLE-modulen. Hvis du er i tvil eller forslag, kan du kommentere nedenfor eller skrive til forumet vårt.