- Wat is HM10 BLE 4.0-module?
- Verschil tussen HM10 en andere Bluetooth-module
- Componenten vereist
- Schakelschema
- Arduino Bluetooth-controller (HM-10-module) Android-applicatie
- Programmeren van Arduino UNO om LED te besturen met behulp van HM-10 Bluetooth-module
Bluetooth is een van de meest populaire en gemakkelijk te gebruiken draadloze technologie. In de afgelopen jaren zijn er veel upgrades van de Bluetooth-standaard geweest om gelijke tred te houden met de huidige technologie en toekomstige technologie en om aan de behoeften van gebruikers te voldoen. Beginnend van Bluetooth-versie 1.0 naar Bluetooth-versie 5.0, zijn er veel dingen veranderd, waaronder hogere datasnelheden, de mogelijkheid om te worden gebruikt voor IoT met een laag stroomverbruik, verbeterde beveiliging, enz. Om Bluetooth-communicatie te leren zijn er veel modules beschikbaar die kunnen worden gekoppeld aan microcontrollers. Zo'n Bluetooth-module is HM10 die is gebaseerd op Bluetooth 4.0.
Wat is HM10 BLE 4.0-module?
De HM10 is een seriële BLE-module (Bluetooth-Low-Energy) die bedoeld is om te gebruiken voor toepassingen met een laag stroomverbruik en lang kan meegaan, zelfs met een batterij ter grootte van een munt. De HM10 is een Bluetooth 4.0-module gebaseerd op de Texas Instruments CC2540 of CC2541 BLE System SoC (System on Chip). De firmware en het ontwerp van de module is gemaakt en beheerd door Jinan Huamao Technology. De module wordt geleverd met een seriële / UART-laag waardoor het apparaat kan communiceren met verschillende microcontrollers. De HM10 is ideaal om eenvoudige verbindingen te maken en te gebruiken met of als iBeacon.
De HM10 is een zeer populaire Bluetooth 4.0 BLE-module geworden. De HM10 is alleen een op Bluetooth 4.0 gebaseerde module, dus hij kan geen verbinding maken met de Bluetooth 2 / 2.1-module zoals HC-05, HC-06 en andere Bluetooth-modules. De HM10 wordt bestuurd via AT-commando's die via de seriële UART-verbinding worden verzonden. HM-10 is een Bluetooth Low Energy (BLE) -module, voor meer informatie over BLE volgt u de link. Leer ook hoe een nRF24L01-module kan worden gebruikt als BLE-module met Arduino.
Verschil tussen HM10 en andere Bluetooth-module
Het belangrijkste verschil dat HM10 bezit, is de Bluetooth-versie. De HM10 is een Bluetooth 4.0-module, dus hij wordt geleverd met alle Bluetooth-versie 4.0-functies zoals snelheid, doorvoer en bereik. De HM10 biedt een datasnelheid tot 24 Mbps met een laag energieverbruik / laag energieverbruik. Daarnaast biedt de HM10 een afstandsbereik van 100 meter in open ruimte. In vergelijking met andere Bluetooth-modules zoals HC-05, een op Bluetooth 2.0 gebaseerde module, presteert de HM10 zeker beter dan de HC-05. De HC-05 biedt slechts 3 Mbps in vergelijking met HM10, wat behoorlijk minder is.
Bluetooth-module HC-05 en HC-06 zijn nog steeds erg populair bij makers en hobbyisten, omdat ze goedkoop en gemakkelijk te koppelen zijn. We hebben ook veel projecten gemaakt met HC-05/06 en deze gekoppeld aan veel andere microcontrollers:
- Bluetooth-module Koppeling met ESP8266: bediening van een LED
- Koppeling van Bluetooth HC-05 met STM32F103C8 Blue Pill: Controlerende LED
- Koppeling HC-05 Bluetooth-module met AVR Microcontroller
- Koppeling van Bluetooth-module HC-06 met PIC-microcontroller
- Spraakgestuurde LED's met Arduino en Bluetooth
- Spraakgestuurde verlichting met Raspberry Pi
Alle Bluetooth-gerelateerde projecten zijn te vinden op deze link.
Vandaag zullen we de HM-10 BLE-module koppelen aan Arduino Uno om een LED draadloos te besturen met behulp van het Bluetooth-protocol. De aan / uit-opdrachten worden door de smartphone verzonden.
Componenten vereist
Hardware:
- Arduino UNO
- HM10 Bluetooth-module
- Weerstanden (1 kΩ, 470 Ω)
- Doorverbindingsdraden
Software:
- Arduino IDE
- Arduino Bluetooth-controller (HM-10-module) Android-app
- Android slimme telefoon
Schakelschema
Het schakelschema voor het aansluiten van de Arduino en de HM-10 Bluetooth-module is heel eenvoudig, zoals hieronder wordt weergegeven.
Voordat u met het project begint, moet u ervoor zorgen dat uw HM-10-module een echte HM-10-module is. Er zijn op grote schaal Chinese gekloonde HM-10-modules beschikbaar. Om het verschil tussen een originele en gekloonde HM-10-module te identificeren, kijk je gewoon naar de aanwezigheid van een kristaloscillator van 32 kHz op het HM-10-bord. Als de kristaloscillator aanwezig is, is het een echte HM-10-module en hoeft u de firmware niet te wijzigen. Maar als u de Crystal Oscillator er niet in kunt zien, dan is het een Cloned HM10-module en moet u de Firmware van de Cloned HM-10-module wijzigen. Zonder de HM-10-firmware te wijzigen, hebt u geen toegang tot de HM-10-module met AT-opdrachten en kunt u deze ook niet koppelen met smartphones. Hier gebruiken we ook de kloonmodule, dus we hebben de firmware geflitst voordat we deze met Ardruino verbinden. Om de Firmware van de Cloned HM-10-module te wijzigen, volgt u gewoon onze tutorial over het wijzigen of flashen van de Firmware van de Clone HM-10-module.
Arduino Bluetooth-controller (HM-10-module) Android-applicatie
De Arduino Bluetooth-controller (HM-10-module) is een Android-applicatie die gratis verkrijgbaar is in Google Play Store. Deze app heeft een eenvoudige en eenvoudige interface voor de HM-10 BLE-module. Tijdens het testen kon het HM-10 snel vinden en het maakte direct verbinding met HM-10. De app heeft een coole functie, zoals je kunt een knop maken en deze aanpassen met een aangepaste naam en functies. Hier zullen we zien hoe we twee knoppen in deze Bluetooth-controller-app kunnen maken om de LED die met Arduino is verbonden in en uit te schakelen.
Hoe de Arduino Bluetooth-controller (HM-10-module) Android-app in te stellen:
- Download de app van Google Play Store.
- De startpagina van de app ziet er als volgt uit, waar u functies kunt vinden zoals apparaat verbinden, zoekpictogram, pictogram verwijderen, apparaatstatus, tekst verzenden, sjabloon toevoegen enz. Begin met het zoeken op het apparaat door op het zoekpictogram te klikken of door te klikken op naar drie stippen in de rechterbovenhoek en kies Apparaat verbinden .
- Alle beschikbare apparaten worden in het scherm getoond. Kies de juiste HM-10-module.
- Nu is de HM-10 met succes verbonden en kunt u de status van HM-10 bovenaan het scherm zien.
- Nu kunt u ofwel direct een tekst of een string verzenden door in het tekstgedeelte te schrijven en op de pijl te drukken om te verzenden, of u kunt een aangepast sjabloon maken.
- Om een aangepast sjabloon te maken om tijd te besparen. Klik op het " + " icoon in de rechterbovenhoek en vul de details in. De " Naam " is de naam van de knop, het veld " Tekst " is voor teksten of tekenreeksen die naar de HM-10 worden gestuurd en " Beschrijving " is slechts de beschrijving van de knop die aangeeft hoe de knop zal werken.
- Ten eerste, het creëren van een knop voor turn LED aan en geef het een groene kleur. De knop stuurt een "N" -letter naar HM-10, waardoor de LED die op Arduino is aangesloten, wordt ingeschakeld. Maak op dezelfde manier een knop voor LED UIT en geef deze een rode kleur.. De knop stuurt een "F" -letter naar HM-10, waardoor de LED die op Arduino is aangesloten, wordt uitgeschakeld.
- Nu kunt u de twee knoppen zien die net onder het tekstveld zijn gemaakt. Als u nu LED wilt bedienen, klikt u gewoon op de knoppen.
Hiermee is het instellen van de Android-app voltooid om de HM-10-module te bedienen. Nu gaan we beginnen met het programmeren van Arduino Uno om de karakters uit de Android App te halen.
Programmeren van Arduino UNO om LED te besturen met behulp van HM-10 Bluetooth-module
Zoals altijd vindt u het complete programma met demonstratievideo aan het einde van deze tutorial. Het programmeren van Arduino UNO voor dit project vereist niet veel inspanning en ook geen bibliotheek. U kunt een seriële hardwarebibliotheek en een seriële softwarebibliotheek gebruiken. Als u seriële software gebruikt, voegt u de seriële softwarebibliotheek toe, anders gaat u verder met de seriële hardware. In dit project maken we gebruik van SoftwareSerial. Dus begin met het opnemen van Software Serial Library. De pinnen Rx en Tx zijn verbonden met 2 en 3 pinnen van Arduino.
# omvatten
De twee variabelen worden gebruikt om de gegevens op te slaan die zijn ontvangen van de HM10 en de Android-app.
char appData; String inData = "";
Start gewoon de hardware- en softwareserie met een baudsnelheid van 9600 en druk enkele foutopsporingsverklaringen af. De LED-pin is ingesteld als uitgang en is aanvankelijk uit.
Serial.begin (9600); Serial.println ("HM10-serienummer gestart op 9600"); HM10.begin (9600); // stel HM10 serieel in op 9600 baudrate pinMode (13, OUTPUT); // ingebouwde LED digitalWrite (13, LOW); // Schakel de LED UIT
Begin met luisteren naar de HM10-poort en lees de string totdat de HM10 beschikbaar is en de gegevens verstuurt. Sla de gegevens op in een string.
HM10.listen (); // luister naar de HM10-poort terwijl (HM10.available ()> 0) {// als HM10 iets verzendt, lees dan appData = HM10.read (); inData = String (appData); // sla de gegevens op in stringformaat Serial.write (appData); }
Voor het debuggen van de HM10 met AT-commando's, schrijft u gewoon de onderstaande coderegel die de string naar HM10 stuurt.
if (Serial.available ()) {// Lees gebruikersinvoer indien beschikbaar. vertraging (10); HM10.write (Serial.read ()); }
Als de ontvangen string "F" is, druk dan een bericht af op de seriële monitor en schakel de led UIT, anders als de ontvangen string "N" is, druk dan een bericht af op de seriële monitor en de knipperende led met een vertraging van 500ms.
if (inData == "F") { Serial.println ("LED UIT"); digitalWrite (13, LOW); // Schakel LED- vertraging UIT (500); } if (inData == "N") { Serial.println ("LED AAN"); digitalWrite (13, HIGH); // Schakel LED- vertraging UIT (500); digitalWrite (13, LOW); // Schakel LED- vertraging UIT (500); }
Hiermee is de complete tutorial voltooid over het besturen van LED met Arduino en BLE HM10 Blutooth 4.0-module. Onthoud nogmaals dat als u een echte HM10-module heeft, u de firmware niet hoeft te flashen, maar dat deze meteen kan worden gebruikt. Maar als u een gekloonde HM-10-module gebruikt, flash dan de firmware op de kloon HM10 BLE-module. Als je enige twijfel of suggestie hebt, reageer dan hieronder of schrijf naar ons forum.