- Nødvendig materiale
- Bluetooth-modul (HC-05)
- STM32 USART-porter
- Kretsdiagram og tilkoblinger
- Programmering STM32F103C8
- Fremgangsmåte for tilkobling av Bluetooth-modul med Android-telefon
I dagens verden har Bluetooth blitt veldig populært, og nesten alle enheter som infotainmentsystemer for mobiltelefoner, bærbare datamaskiner og biler bruker Bluetooth for trådløs kommunikasjon. Bluetooth brukes ikke bare til å overføre data, men også til å kontrollere andre Bluetooth-enheter trådløst, som å bruke Bluetooth-hodesett, kan du høre sangen trådløst fra mobiltelefonen eller bruke billydsystem til å spille sangene fra mobilen din.
Bluetooth er en trådløs teknologi som fungerer på frekvensen 2,4 GHz. Normalt Bluetooth-signal er innenfor en radius på 10 meter. Bluetooth er mest brukte trådløs teknologi i innebygde prosjekter forutsatt at kommunikasjonsområdet er begrenset. Bluetooth har lagt fordelene av det lave strømforbruket og de lave kostnadene. Den brukes vanligvis til å grense mikrocontrollere med smarte telefoner ved hjelp av Bluetooth-applikasjoner.
Vi har sett grensesnitt mellom Bluetooth-modul og andre mikrokontrollere som Arduino, 8051, PIC osv. Nå i denne opplæringen vil vi grensesnitt en HC-05 Bluetooth-modul med STM32F103C8 og slå PÅ / AV en LED ved hjelp av Android-mobil.
Nødvendig materiale
- STM32F103C8
- Bluetooth-modul (HC-05)
- LED
- Android mobil
- Brettbrett
- Koble ledninger
Programvare:
- Bluetooth-terminal (Android-applikasjon)
Bluetooth-modul (HC-05)
Det er mest brukt Bluetooth-modul i innebygde prosjekter. Det er en seriell Bluetooth-modul som bruker seriell kommunikasjon som har en rekkevidde på mindre enn 100 meter og fungerer på 5V (3,3V minimum). Den kan brukes til å koble to mikrokontrollere trådløst og også med mobiltelefon og bærbare datamaskiner. Siden det er mange Android-applikasjoner er tilgjengelige, er det veldig nyttig for å lage trådløse Bluetooth-kontrollerte prosjekter.
Den bruker USART-kommunikasjon og kan grensesnittes med mikrokontrollere som har USART-kommunikasjonsprotokoll.
Den har en integrert antenne. Den har Master / Slave-konfigurasjoner som kan endres i AT-kommandomodus som er nyttig når bare en enhet skal sende dataene (master til slave) som for eksempel fra PC (MASTER) til slave (hvilken som helst MCU). En master kan koble til andre enheter, og slave kobler ikke til annen tilkobling enn master.
Driftsmåter
Den har to moduser AT Command Mode & Data Mode.
Når Bluetooth er slått på, går det inn i datamodus som standard. Denne modusen kan brukes til dataoverføring. For å gå inn i AT Command-modus under oppstart, må vi trykke på knappen som er tilstede i modulen for å endre standardinnstillingene til modulen som master / slave-konfigurasjoner.
Pins av Bluetooth-modul
- EN pin (ENABLE) - Denne pin brukes til å stille inn Data Mode eller AT Command Mode. Som standard er det i DATA MODE. Når du trykker på knappen under oppstart, går den til AT-kommandomodus.
- + 5V pin - Dette brukes til strømforsyning til modulen
- GND pin - Dette brukes til jord for modul
- TX-pin - Denne pinnen kobles til RX-pinnen på MCU
- RX-pinne - Denne pinnen er koblet til TX-pinnen på MCU
- STATE - Denne pinnen indikerer statusen til modulen, se nedenfor om indikasjoner
LED-indikasjon
- Den har en LED (RØD) indikator som gir status for Bluetooth-modulen.
- Når Bluetooth-modulen IKKE er TILKOBLET til noen enhet, blir signalet lavt og rød LED blinker kontinuerlig, noe som indikerer at modulen IKKE er PARET.
- Når Bluetooth-modulen er TILKOBLET til en hvilken som helst enhet, blir signalet HØYT og rød LED blinker med en viss forsinkelse, noe som indikerer at modulen er PARET.
Sjekk våre andre prosjekter for å lære mer om Bluetooth-modul HC-05 med andre mikrokontrollere:
- Bluetooth-kontrollert lekebil ved hjelp av Arduino
- Bluetooth-kontrollert hjemmeautomatiseringssystem ved bruk av 8051
- Stemmestyrte lys med Raspberry Pi
- Smarttelefonstyrt FM-radio ved hjelp av Arduino og Processing
- Mobiltelefonstyrt robotbil ved hjelp av G-sensor og Arduino
- Grensesnitt Bluetooth-modul HC-06 med PIC-mikrokontroller
STM32 USART-porter
STM32F103C8 (BLÅ PILL) USART serielle kommunikasjonsporter vises i utstikkingsbildet nedenfor. Disse er blåfarget med (PA9-TX1, PA10- RX1, PA2-TX2, PA3- RX2, PB10-TX3, PB11- RX3). Den har tre slike kommunikasjonskanaler.
Kretsdiagram og tilkoblinger
Kretsforbindelsene for grensesnitt Bluetooth-modul med STM32 er laget som nedenfor
Forbindelse mellom STM32F103C8 og Bluetooth-modul (HC-05)
- TX-pinnen (PA9) på STM32F103C8 er koblet til RX-pinnen på Bluetooth-modulen.
- RX-pinnen (PA10) på STM32F103C8 er koblet til TX-pinnen på Bluetooth-modulen.
- VCC (+ 5V) -pinne på Bluetooth-modulen er koblet til 5V-pinnen på STM32F103C8.
- GND-pinnen på Bluetooth-modulen er koblet til GND-pinnen på STM32F103C8.
Andre tilkoblinger
- (PA0) -pinnen til STM32 (Blue Pill) er koblet til LED-pinnen via en seriemotstand. LED-en som brukes her er blandet i farger.
- Den ledede en annen pinnen er koblet til GND på STM32.
Programmering STM32F103C8
Grensesnitt Bluetooth med STM32 er det samme som arduino og programmering i STM32 er det samme som Arduino IDE. Se denne veiledningen for programmering av STM32 med USB ved bruk av Arduino IDE.
Som allerede fortalt, i dette prosjektet vil vi grensesnitt en (HC-05) Bluetooth-modul med STM32F103C8 og bruke en Android-smarttelefon med Bluetooth Terminal android-applikasjon for å slå PÅ og AV LED.
Merk: RX & TX-pinnen må fjernes mens du laster opp koden til STM32F103C8.
Komplett kode for dette prosjektet er gitt i slutten av denne opplæringen med en demonstrasjon video.
Koding for dette prosjektet er så enkelt. Samme Arduino-koder kan brukes, men bare pinnen skal endres. Fordi vi har tre sett med USART-pinne i STM32F103C8, må vi spesifisere riktig pinne som vi brukte til å koble til Bluetooth-modulen.
1. Først må vi navngi pinnene med deres respektive pin-nummer med int- datatype som følger
const int pinout = PA0;
2. Deretter trenger vi en variabel for å lagre seriell data fra Android-mobilen. Dataene kan være et rødt eller heltall som følger
char inputdata = 0;
3. Neste i ugyldig oppsett (), må vi starte seriell kommunikasjon mellom STM32 Blue Pill og Bluetooth-modulen ved å gi overføringshastighet på 9600
Serial1.begin (9600);
Vi brukte Serial1 her fordi vi koblet HC-05 til TX1 og RX1 av STM32.
Vi kan også bruke Serial2 eller Serial3, men pin må derfor være koblet til.
4. En intro-melding sendes som seriell data til serial1, det vil si til Bluetooth-modul HC05. Denne modulen sender videre data til Bluetooth Terminal-appen på Android mobile. Så vi bruker utsagnene nedenfor
Serial1.print ("CIRCUIT DIGEST \ n"); Serial1.print ("BLUETOOTH MED STM32 \ n");
5. Deretter må vi sette pinmode (PA0) som utgang, da vi koblet førte til denne pin. Så vi bruker
pinMode (pinout, OUTPUT);
6. Neste i tomgangssløyfen () kjører vi følgende data for å lese seriedataene og slå på / av lysdioden tilsvarende
ugyldig sløyfe () { If (Serial1.available ()> 0) { inputdata = Serial1.read (); hvis (inputdata == '1') { digitalWrite (pinout, HIGH); Serial1.print ("LED PÅ \ n"); } annet hvis (inputdata == '0') { digitalWrite (pinout, LOW); Serial1.print ("LED OFF \ n"); } } }
Her bruker vi if- setning fordi denne koden bare kjøres når Serial1-porten har data mottatt fra Bluetooth-modulen, hvorfor denne setningen brukes Serial1.available ()> 0 . Ellers venter den til den seriell kommunikasjon hvis den ikke kommer inn. Nå lagrer den mottatte data i en variabel inndata = Serial1.read (). Deretter sjekker den verdien som sendes fra Bluetooth-terminalappen. Så hvis verdien er 1, skriver den ut LED PÅ og får pinnen (PA0) til å gå HØY ved utsagn digitalWrite (pinout, HØY), og hvis verdien er 0, skriver den ut LED AV og gjør (PA0) pinne LAV.
Fremgangsmåte for tilkobling av Bluetooth-modul med Android-telefon
Trinn 1: - Åpne Bluetooth fra mobil etter at du har lastet opp kode til STM32 fra Arduino IDE og gitt strøm til kretsen. HUSK å fjerne RX- og TX-pin mens du LADER opp koden
Trinn 2: - På tilgjengelige enheter velger du HC-05 og skriver inn passord som 1234
Trinn 3: - Etter paring, åpne Bluetooth Terminal app og velg koble til en enhet og velg HC-05 som vist nedenfor
Trinn 4: - Etter tilkobling med HC-05 Bluetooth-modul, oppgi verdier i terminal 1 eller 0 for å slå PÅ og AV LED. Du vil også motta en melding om at LED er på eller av.