- Komponenter kreves
- ESP8266 HC-05 Bluetooth-modul kretsdiagram
- HC-05 Bluetooth-modul
- Bruke seriell Bluetooth-terminal (Android-app)
- Programmering av NodeMCU ESP8266 for å grensesnitt Bluetooth
Nå om dagen har Bluetooth blitt en integrert del av digitale enheter, og den kommer innebygd i de fleste enhetene som smarttelefon, bærbar PC, PC, kamera, klokker, treningsbånd og mange flere. Bluetooth har alltid vært dominerende i protokollen i trådløs kommunikasjon helt siden den ble oppdaget. Selv om Bluetooth-teknologi i utgangspunktet er et kabelutskiftningssystem, men det bruker også en universell bro til eksisterende datanettverk og en ad hoc-tilkoblingsmekanisme for antall enheter i forskjellige konfigurasjoner. Vi har brukt Bluetooth-modulen HC05 og HC06 med mange andre mikrokontrollere for å få dem til å kommunisere trådløst:
- Grensesnitt Bluetooth HC-05 med STM32F103C8 Blue Pill: Kontrollerende LED
- Grensesnitt HC-05 Bluetooth-modul med AVR Microcontroller
- Android-kontrollert robot ved bruk av 8051 Microcontroller
- Kontrollerer Raspberry Pi GPIO ved hjelp av Android-app via Bluetooth
- Bluetooth-kontrollert lekebil ved hjelp av Arduino
I dag vil vi grensesnitt HC-05 Bluetooth-modul med populær Wi-Fi-modul ESP8266 og kontrollere en LED trådløst ved å sende kommandoer via Bluetooth. Denne LED-lampen kan erstattes av et relé og et vekselstrømsapparat for å bygge en hjemme-automatiseringsapplikasjon.
Komponenter kreves
Maskinvare:
- NodeMCU ESP8266
- HC-05 Bluetooth-modul
Programvare:
- Arduino IDE
- Seriell Bluetooth-terminal (Android-app): For å overvåke Bluetooth-data på smarttelefon.
ESP8266 HC-05 Bluetooth-modul kretsdiagram
Kretsskjema for å koble Bluetooth-modul HC-05 med NodeMCU ESP8266 er veldig enkelt og vist nedenfor:
En ekstern Bluetooth-modul er nødvendig med ESP8266, da den ikke har innebygd Bluetooth som ESP32. ESP32 har innebygd Bluetooth Low Energy (BLE) og Classic Bluetooth, som vi tidligere har dekket noen tutorials på:
- ESP32 BLE Server - GATT-tjeneste for indikering av batterinivå
- ESP32 BLE Client - Koble til Fitness Band for å utløse en pære
- Hvordan bruke seriell Bluetooth i ESP32
HC-05 Bluetooth-modul
HC-05 er en seriell Bluetooth-modul. Den kan konfigureres ved hjelp av AT-kommandoer. Den kan fungere i tre forskjellige konfigurasjoner (Master, Slave, Loop back). I prosjektet vårt vil vi bruke det som en slave. Funksjonene til HC-05-modulen inkluderer,
- Typisk -80dBm følsomhet.
- Standard baudrate: 9600bps, 8 databiter, 1 stoppbit, ingen paritet.
- Automatisk paring av PIN-kode: “1234” eller “0000” standard PIN-kode.
- Den har 6 pinner.
- Vcc og GND-pinner brukes til å drive HC-05.
- Tx- og Rx-pinner brukes til å kommunisere med mikrokontrolleren.
- Aktiver pin for å aktivere HC-05-modulen. når den er lav, er modulen deaktivert
- Statusindikator for statusnål. Når den ikke er paret / koblet til noen annen Bluetooth-enhet, blinker LED kontinuerlig. Når den er koblet til / sammenkoblet med en hvilken som helst annen Bluetooth-enhet, blinker LED-lampen med konstant forsinkelse på 2 sekunder.
For å lære mer om Bluetooth-modulen, gå gjennom våre andre Bluetooth-relaterte prosjekter.
Bruke seriell Bluetooth-terminal (Android-app)
Å bruke denne appen er veldig enkel og krever få trinn. Skjermbildene er gitt nedenfor med trinn. Bare par HC-05 med smarttelefon. Standardkoden er '0000' eller '1234', men hovedsakelig fungerer '1234'.
- Først last ned og installer appen. Gå deretter til enheter for å finne HC-05-modulen. Velg HC-05-modul som er søkt i appen. Hvis ikke funnet, sjekk om HC-05 har riktig strøm.
- Etter å ha klikket på HC-05 blir den koblet til. Skriv nå en melding i meldingsboksen og send den. Den blir skrevet ut på Arduino Serial Monitor.
Programmering av NodeMCU ESP8266 for å grensesnitt Bluetooth
For å programmere NodeMCU ESP8266 ved hjelp av ArduinoIDE, er det bare å koble den fra bærbar PC eller PC med Micro USB-kabel og åpne Arduino IDE. For denne opplæringen vil maskinvareserien og programvareserien bli brukt. Maskinvareserien vil bli brukt til å lese og skrive data til Arduino Serial Monitor og Sofware Serial vil bli brukt til å kommunisere med HC-05. Som alltid blir fullstendig kode og demonstrasjonsvideo gitt på slutten av opplæringen.
Først må du inkludere programvareseriebiblioteket siden det vil bli brukt i denne opplæringen.
#inkludere
Definer RX og TX-pin for programvareseriekommunikasjon, definer også led-pin som er koblet til NodeMCU. Vi bruker intern LED av NodeMCU som er på Pin D4.
SoftwareSerial btSerial (D2, D3); // RX, int ledet = D4;
Start programvare- og maskinvareserien med 9600 baudrate. Sett Led Pin som utgang. Skriv ut en velkomst- og feilsøkingsmelding.
Serial.begin (9600); btSerial.begin (9600); pinMode (D4, OUTPUT); Serial.println ("Startet…");
Først må du lese fra Bluetooth-modulen og definere et tilfelle at hvis Bluetooth-modulen mottar “B” fra telefonen, så begynn å blinke lysdiode koblet til D4 i NodeMCU ellers hvis den mottar “S”, så slutte å blinke. Vi bruker ikke forsinkelse () her. Men Arduino 'millis' vil bli brukt for ikke å hemme ytelsen til Arduino.
hvis (btSerial.available ()> 0) { char data = btSerial.read (); switch (data) { case 'B': ledB = "blink"; gå i stykker; sak 'S': ledB = "stopp"; gå i stykker; standard: pause; } }
Millis er definert og setter forsinkelsen til 500 ms, dvs. ledet vil blinke etter hver 500 ms. Du kan også konfigurere LED-forsinkelsen ved å endre verdien på "intervall". Den ledede staten vil veksles.
usignert langstrømMillis = millis ();
if (ledB == "blink") { Serial.println ("blinking started"); hvis (currentMillis - previousMillis> = intervall) { previousMillis = currentMillis; hvis (ledState == LOW) { ledState = HIGH; } annet { ledState = LAV; } digitalWrite (ledet, ledet stat); } }
Og dette vil fullføre programmeringen av NodeMCU til å blinke LED trådløst ved hjelp av Bluetooth. Du kan også endre programmet for å utføre forskjellige oppgaver med LED, slik at LED kan erstattes av et relé med AC-apparat for å lage Bluetooth-hjemmeautomatiseringsprosjekt. Ved tvil eller forslag, vennligst kontakt forumet eller kommentaren nedenfor.