- Hvad er HM10 BLE 4.0 modul?
- Forskel mellem HM10 og andet Bluetooth-modul
- Komponenter, der kræves
- Kredsløbsdiagram
- Arduino Bluetooth-controller (HM-10-modul) Android-applikation
- Programmering af Arduino UNO til kontrol af LED ved hjælp af HM-10 Bluetooth-modul
Bluetooth er en af de mest populære og brugervenlige trådløse teknologier. I løbet af de få år har der været mange opgraderinger af Bluetooth-standarden for at holde trit med den nuværende igangværende teknologi med fremtidig teknologi og for at tilfredsstille brugernes behov. Fra og med Bluetooth-version 1.0 til Bluetooth-version 5.0 er der mange ting ændret, herunder højere datahastigheder, muligheden for at blive brugt til IoT med lavt strømforbrug, forbedret sikkerhed osv. For at lære Bluetooth-kommunikation er der mange moduler til rådighed, som kan grænseflade med mikrokontrollere. Et sådant Bluetooth-modul er HM10, som er baseret på Bluetooth 4.0.
Hvad er HM10 BLE 4.0 modul?
HM10 er et serielt BLE-modul (Bluetooth-Low-Energy), der er beregnet til brug til applikationer med lavt strømforbrug og kan vare længe selv med et møntstørrelsesbatteri. Den HM10 er en Bluetooth 4.0 modul baseret på Texas Instruments CC2540 eller CC2541 BLE System SoC (System on chip). Firmware og design af modulet er lavet og administreret af Jinan Huamao Technology. Modulet leveres med serielt / UART-lag, der gør enheden i stand til at grænseflade med forskellige mikrocontrollere. HM10 er ideel til at oprette enkle forbindelser og bruge den med eller som en iBeacon.
HM10 er blevet et meget populært Bluetooth 4.0 BLE-modul. HM10 er kun et Bluetooth 4.0-baseret modul, så det forbinder ikke med Bluetooth 2 / 2.1-modul som HC-05, HC-06 og andre Bluetooth-moduler. HM10 styres via AT-kommandoer sendt over den serielle UART-forbindelse. HM-10 er et Bluetooth Low Energy (BLE) modul, hvis du vil vide mere om BLE, skal du følge linket. Lær også, hvordan et nRF24L01-modul kan bruges som BLE-modul med Arduino.
Forskel mellem HM10 og andet Bluetooth-modul
Den største forskel, som HM10 besidder, er Bluetooth-versionen. HM10 er Bluetooth 4.0-modul, så det kommer med alle Bluetooth-version 4.0-funktioner såsom hastighed, kapacitet og rækkevidde. Den HM10 tilbud en datahastighed på op til 24 Mbps med lavenergi / lavt energiforbrug. Sammen med dette tilbyder HM10 en afstandsafstand på 100 meter i åbent rum. Sammenlignet med andre Bluetooth-moduler såsom HC-05, som er et Bluetooth 2.0-baseret modul, fungerer HM10 bestemt bedre end HC-05. HC-05 tilbyder kun 3 Mbps sammenlignet med HM10, hvilket er ret mindre.
Bluetooth-modul HC-05 og HC-06 er stadig meget populære blandt producenter og hobbyister, da de er billige og nemme at interface. Vi lavede også mange projekter ved hjælp af HC-05/06 og interfacede dem med mange andre mikrocontrollere:
- Bluetooth-modulgrænseflade med ESP8266: Styring af en LED
- Interfacing Bluetooth HC-05 med STM32F103C8 Blue Pill: Kontrollerende LED
- Interfacing HC-05 Bluetooth-modul med AVR-mikrocontroller
- Interfacing Bluetooth-modul HC-06 med PIC-mikrocontroller
- Stemmestyrede lysdioder ved hjælp af Arduino og Bluetooth
- Stemmestyrede lys ved hjælp af Raspberry Pi
Alle Bluetooth-relaterede projekter kan findes på dette link.
I dag vil vi interface HM-10 BLE-modul med Arduino Uno for at styre en LED trådløst ved hjælp af Bluetooth-protokol. On / Off-kommandoerne sendes via Smartphone.
Komponenter, der kræves
Hardware:
- Arduino UNO
- HM10 Bluetooth-modul
- Modstande (1 kΩ, 470 Ω)
- Jumper Wires
Software:
- Arduino IDE
- Arduino Bluetooth-controller (HM-10-modul) Android-app
- Android Smart telefon
Kredsløbsdiagram
Kredsløbsdiagram til tilslutning af Arduino og HM-10 Bluetooth-modul er meget simpelt som vist nedenfor.
Inden du starter med projektet, skal du sørge for, at dit HM-10-modul er et ægte HM-10-modul. Der er bredt kinesiske klonede HM-10-moduler tilgængelige. For at identificere forskellen mellem ægte og klonet HM-10-modul skal du bare se tilstedeværelsen af Crystal Oscillator på 32 KHz på HM-10-kortet. Hvis Crystal Oscillator er til stede, er det et ægte HM-10-modul, og du behøver ikke skifte firmware. Men hvis du ikke kan se Crystal Oscillator i stedet for det, er det et klonet HM10-modul, og du skal ændre firmwaren til det klonede HM-10-modul.. Uden at ændre HM-10-firmwaren har du hverken adgang til HM-10-modulet med AT-kommandoer, eller du kan parre det med smartphones. Her bruger vi også klonmodulet, så vi blinkede firmwaren, inden vi forbinder det med Ardruino. For at ændre firmwaren til det klonede HM-10-modul skal du blot følge vores vejledning om, hvordan du ændrer eller blinker firmwaren til Clone HM-10-modulet.
Arduino Bluetooth-controller (HM-10-modul) Android-applikation
Arduino Bluetooth Controller (HM-10 Module) er en Android-applikation, som er tilgængelig gratis i Google Play Butik. Denne app har nem og enkel grænseflade til HM-10 BLE-modul. Under testen var det i stand til hurtigt at finde HM-10, og det forbandt øjeblikkeligt med HM-10. Appen har nogle seje funktioner, som om du kan oprette en knap og tilpasse den med brugerdefineret navn og funktioner. Her vil vi se, hvordan du opretter to knapper i denne Bluetooth-controller-app for at tænde og slukke for LED'en, der er forbundet med Arduino.
Sådan konfigureres Arduino Bluetooth-controller (HM-10-modul) Android-app:
- Download appen fra Google Play Butik.
- Startsiden for appen vil se ud nedenfor, hvor du kan finde funktioner som, forbinde enhed, søgeikon, Slet ikon, enhedsstatus, send tekst, tilføj skabelon osv. Start med at søge på enheden enten ved at klikke på søgeikonet eller ved at klikke til tre prikker i øverste højre hjørne, og vælg tilslut enhed .
- Alle tilgængelige enheder vises på skærmen. Vælg det rigtige HM-10 modul.
- Nu vil HM-10 være tilsluttet med succes, og du vil kunne se status for HM-10 øverst på skærmen.
- Nu kan du enten sende en tekst eller streng direkte ved at skrive i tekstafsnittet og trykke på pilen for at sende, eller du kan oprette en brugerdefineret skabelon.
- At oprette en brugerdefineret skabelon for at spare tid. Klik på ikonet " + " i øverste højre hjørne og udfyld detaljerne. " Navn " er knapnavn, " Tekst " -feltet er for tekster eller streng, der sendes til HM-10, og " Beskrivelse " er kun knapbeskrivelsen for, hvordan knappen fungerer.
- For det første skal du oprette en knap til at tænde LED og give den en grøn farve. Knappen sender “N” brev til HM-10, som tænder den LED, der er tilsluttet Arduino. Opret ligeledes en knap til LED OFF og giv den en rød farve.. Knappen sender “F” brev til HM-10, som slukker for LED'en, der er tilsluttet Arduino.
- Nu kan du se de to knapper, der er oprettet lige under tekstfeltet. Hvis du nu vil styre LED, skal du bare klikke på knapperne.
Dette afslutter opsætningen af Android-appen til styring af HM-10-modulet. Nu starter vi med programmeringen Arduino Uno for at få tegnene fra Android App.
Programmering af Arduino UNO til kontrol af LED ved hjælp af HM-10 Bluetooth-modul
Som altid kan komplet program med demonstrationsvideo findes i slutningen af denne tutorial. Programmering af Arduino UNO til dette projekt kræver hverken meget indsats eller noget bibliotek. Du kan bruge serielt hardware- og softwarebibliotek. Hvis du bruger seriel software, skal du blot inkludere serielt softwarebibliotek ellers fortsæt med hardwareserie. I dette projekt bruger vi SoftwareSerial. Så start med at inkludere Software Serial Library. Stifterne Rx og Tx er forbundet med 2 og 3 stifter af Arduino.
#omfatte
De to variabler bruges til at gemme de data, der modtages fra HM10 og android-appen.
char appData; Streng inData = "";
Start bare hardware- og softwareserien ved 9600 baudhastighed, og udskriv nogle fejlretningserklæringer. LED-stiften er indstillet som output, og først er den slukket.
Serial.begin (9600); Serial.println ("HM10-serie startede ved 9600"); HM10. Begyndte (9600); // indstil HM10 seriel til 9600 baud rate pinMode (13, OUTPUT); // indbygget LED digitalWrite (13, LAV); // sluk LED
Start med at lytte til HM10-porten, og læs strengen, indtil HM10 er tilgængelig og sender dataene. Gem dataene i streng.
HM10.listen (); // lyt til HM10-porten, mens (HM10.available ()> 0) {// hvis HM10 sender noget, så læs appData = HM10.read (); inData = String (appData); // gem dataene i strengformat Serial.write (appData); }
For fejlretning af HM10 med AT-kommandoer skal du bare skrive nedenstående kodelinje, som sender strengen til HM10.
if (Serial.available ()) {// Læs brugerinput, hvis det er tilgængeligt. forsinkelse (10); HM10.write (Serial.read ()); }
Hvis den modtagne streng er “F”, skal du udskrive en meddelelse på den serielle skærm og slukke for lysdioden ellers, hvis den modtagne streng er “N”, skal du udskrive en meddelelse på den serielle skærm og Blink led med en forsinkelse på 500 ms.
hvis (inData == "F") { Serial.println ("LED OFF"); digitalWrite (13, LAV); // sluk for LED- forsinkelse (500); } hvis (inData == "N") { Serial.println ("LED ON"); digitalWrite (13, HIGH); // sluk for LED- forsinkelse (500); digitalWrite (13, LAV); // sluk for LED- forsinkelse (500); }
Dette afslutter den komplette tutorial om, hvordan du styrer LED ved hjælp af Arduino og BLE HM10 Blutooth 4.0-modulet. Husk igen, at hvis du har et ægte HM10-modul, behøver du ikke at blinke firmwaren, det kan bruges med det samme. Men hvis du bruger et klonet HM-10-modul, så flash firmwaren på klonet HM10 BLE-modulet. Hvis du er i tvivl eller forslag, bedes du kommentere nedenfor eller skrive til vores forum.