- Material som krävs
- Bluetooth-modul (HC-05)
- STM32 USART-portar
- Kretsschema och anslutningar
- Programmering STM32F103C8
- Steg för att ansluta Bluetooth-modul till Android-telefon
I dagens värld har Bluetooth blivit mycket populärt och nästan alla enheter som infotainmentsystem för mobiltelefoner, bärbara datorer och bilar använder Bluetooth för trådlös kommunikation. Bluetooth används inte bara för att överföra data utan också för att styra andra Bluetooth-enheter trådlöst, som att använda Bluetooth-headset kan du höra låten trådlöst från din mobiltelefon eller använda bilens ljudsystem för att spela låtar från din mobil.
Bluetooth är en trådlös teknik som fungerar på frekvensen 2,4 GHz. Normal Bluetooth-signal ligger inom 10 meters radie. Bluetooth är vanligast trådlös teknik i inbäddade projekt förutsatt att kommunikationsområdet är begränsat. Bluetooth har gynnat dess låga energiförbrukning och låga kostnad. Den används vanligtvis för gränssnitt mellan mikrokontroller och smarta telefoner med hjälp av Bluetooth-applikationer.
Vi har sett gränssnitt mellan Bluetooth-modulen och andra mikrokontroller som Arduino, 8051, PIC etc. Nu i denna handledning kommer vi att koppla in en HC-05 Bluetooth-modul med STM32F103C8 och slå på / stänga av en LED med Android-mobil.
Material som krävs
- STM32F103C8
- Bluetooth-modul (HC-05)
- LED
- Android Mobile
- Bakbord
- Anslutande ledningar
Programvara:
- Bluetooth-terminal (Android-applikation)
Bluetooth-modul (HC-05)
Det används oftast Bluetooth-modul i inbäddade projekt. Det är en seriell Bluetooth-modul som använder seriell kommunikation som har en räckvidd mindre än 100 m och arbetar vid 5V (3,3V minimum). Den kan användas för att ansluta två mikrokontroller trådlöst och även till mobiltelefoner och bärbara datorer. Eftersom det finns många Android-applikationer tillgängliga är det mycket användbart för att göra trådlösa Bluetooth-styrda projekt.
Den använder USART-kommunikation och kan anslutas till mikrokontroller som har USART-kommunikationsprotokoll.
Den har en integrerad antenn. Den har Master / Slave-konfigurationer som kan ändras i AT-kommandoläge, vilket är användbart när endast en enhet ska skicka data (master till slave) som till exempel från PC (MASTER) till slave (vilken MCU som helst). En master kan ansluta till andra enheter och slaven ansluter inte till andra anslutningar än master.
Driftlägen
Den har två lägen AT Command Mode & Data Mode.
När Bluetooth startas går det in i dataläge som standard. Detta läge kan användas för dataöverföring. För att gå in i AT-kommandoläge under uppstart måste vi trycka på knappen som finns i modulen för att ändra standardinställningarna för modulen som master / slave-konfigurationer.
Stift av Bluetooth-modul
- EN-stift (ENABLE) - Denna stift används för att ställa in dataläge eller AT-kommandoläge. Som standard är det i DATA MODE. När du trycker på knappen under uppstart går den till AT-kommandoläge.
- + 5V-stift - Detta används för strömförsörjning till modulen
- GND-stift - Detta används för mark för modul
- TX-stift - Denna stift som är ansluten till RX-stift på MCU
- RX-stift - Denna stift är ansluten till TX-stift på MCU
- STATE - Denna pin anger status för modulen, se nedan om indikationer
LED-indikering
- Den har en LED-indikator (RÖD) som ger status för Bluetooth-modulen.
- När Bluetooth-modulen INTE är ANSLUTEN till någon enhet blir signalen låg och den röda lysdioden blinkar kontinuerligt vilket indikerar att modulen INTE är PARAD.
- När Bluetooth-modulen är ANSLUTEN till någon enhet blir signalen HÖG och den röda lysdioden blinkar med viss fördröjning vilket indikerar att modulen är PARAD.
Kolla in våra andra projekt för att lära dig mer om Bluetooth-modul HC-05 med andra mikrokontroller:
- Bluetooth-kontrollerad leksaksbil med Arduino
- Bluetooth-kontrollerat hemautomationssystem med 8051
- Röststyrda lampor med Raspberry Pi
- Smart telefonstyrd FM-radio med Arduino och Processing
- Mobiltelefonstyrd robotbil med G-sensor och Arduino
- Gränssnitt Bluetooth-modul HC-06 med PIC-mikrokontroller
STM32 USART-portar
STM32F103C8 (BLÅ PILL) USART seriella kommunikationsportar visas i uttagsbilden nedan. Dessa är blåfärgade med (PA9-TX1, PA10- RX1, PA2-TX2, PA3- RX2, PB10-TX3, PB11- RX3). Den har tre sådana kommunikationskanaler.
Kretsschema och anslutningar
Kretsanslutningarna för gränssnitt mellan Bluetooth-modulen och STM32 görs som nedan
Anslutning mellan STM32F103C8 och Bluetooth-modul (HC-05)
- TX-stift (PA9) på STM32F103C8 är ansluten till RX-stiftet på Bluetooth-modulen.
- RX-stift (PA10) på STM32F103C8 är ansluten till TX-stiftet på Bluetooth-modulen.
- VCC-stift (+ 5V) på Bluetooth-modulen är ansluten till 5V-stift på STM32F103C8.
- GND-stift på Bluetooth-modulen är ansluten till GND-stift på STM32F103C8.
Andra anslutningar
- (PA0) stift på STM32 (Blue Pill) är ansluten till positiv stift av LED genom ett seriemotstånd. Lysdioden används här är blandad färg.
- Den ledde en annan stift är ansluten till GND på STM32.
Programmering STM32F103C8
Gränssnitt Bluetooth med STM32 är detsamma som arduino och programmering i STM32 är detsamma som Arduino IDE. Se den här guiden för programmering av STM32 med USB med Arduino IDE.
Som redan sagt kommer vi i det här projektet att ansluta en (HC-05) Bluetooth-modul med STM32F103C8 och använda en Android-smarttelefon med Android-applikationen Bluetooth Terminal för att tända och stänga av LED.
Obs! RX & TX-stiftet måste tas bort när du laddar upp koden till STM32F103C8.
Hela koden för detta projekt ges i slutet av denna handledning med en demonstration video.
Kodning för detta projekt är så enkelt. Samma Arduino-koder kan användas men endast stiftet ska ändras. Eftersom vi har tre uppsättningar USART-stift i STM32F103C8 måste vi ange rätt stift som vi använde för att ansluta Bluetooth-modulen.
1. Först måste vi namnge stiften med deras respektive stiftnummer med int- datatyp enligt följande
const int pinout = PA0;
2. Därefter behöver vi ha en variabel för att lagra seriell data från Android-mobilen. Data kan vara ett char eller heltal enligt följande
char inputdata = 0;
3. Nästa i ogiltig installation () måste vi starta seriell kommunikation mellan STM32 Blue Pill och Bluetooth-modulen genom att ge en baudhastighet på 9600
Serial1.begin (9600);
Vi använde Serial1 här eftersom vi kopplade HC-05 till TX1 och RX1 av STM32.
Vi kan också använda Serial2 eller Serial3 men stift måste följaktligen anslutas.
4. Ett intro-meddelande skickas som seriell data till serial1, det vill säga till Bluetooth-modulen HC05. Denna modul skickar vidare data till Bluetooth Terminal-appen på Android Mobile. Så vi använder uttalanden nedan
Serial1.print ("CIRCUIT DIGEST \ n"); Serial1.print ("BLUETOOTH MED STM32 \ n");
5. Därefter måste vi ställa in pinmode (PA0) som utgång, eftersom vi anslöt ledde till denna pin. Så vi använder
pinMode (pinout, OUTPUT);
6. Nästa i tomrummet () kör vi följande data för att läsa seriell data och slå på / av lysdioden i enlighet därmed
void loop () { If (Serial1.available ()> 0) { inputdata = Serial1.read (); if (inputdata == '1') { digitalWrite (pinout, HIGH); Serial1.print ("LED ON \ n"); } annars om (inputdata == '0') { digitalWrite (pinout, LOW); Serial1.print ("LED OFF \ n"); } } }
Här använder vi om uttalandet eftersom dessa kod körs endast när Serial1 port har några data som tas emot från Bluetooth-modul som varför detta uttalande används Serial1.available ()> 0 . Annars, om det inte kommer in, väntar det tills det startar seriekommunikation. Nu lagras den mottagna data i en variabel inputdata = Serial1.read (). Kontrollera sedan värdet som skickas från Bluetooth-terminalappen. Så om värdet är 1, skriver det ut lysdioden PÅ och gör att stiftet (PA0) går HÖG genom uttalande digitalWrite (utslagning, HÖGT) och om värdet är 0, skriver det ut LED och slår (PA0) stiftet LÅG.
Steg för att ansluta Bluetooth-modul till Android-telefon
Steg 1: - Öppna Bluetooth från mobil efter uppladdning av kod till STM32 från Arduino IDE och ge ström till kretsen. KOM ihåg att ta bort RX- och TX-stift medan du laddar upp KOD
Steg 2: - I tillgängliga enheter väljer du HC-05 och anger lösenord som 1234
Steg 3: - Efter parning, öppna Bluetooth Terminal-appen och välj anslut en enhet och välj HC-05 enligt bilden nedan
Steg 4: - Efter anslutning till HC-05 Bluetooth-modul, ange värden i terminal 1 eller 0 för att tända och stänga av lysdioden. Du kommer också att få ett meddelande om att lysdioden är på eller av.