- Szükséges anyagok
- Bluetooth modul (HC-05)
- STM32 USART portok
- Áramkör és kapcsolatok
- STM32F103C8 programozása
- A Bluetooth modul és az Android telefon összekapcsolásának lépései
A mai világban a Bluetooth nagyon népszerűvé vált, és szinte minden eszköz, például a mobiltelefon, a laptop és az autók információs és szórakoztató rendszere a Bluetooth-ot használja a vezeték nélküli kommunikációhoz. A Bluetooth-t nemcsak adatátvitelre használják, hanem egy másik Bluetooth-eszköz vezeték nélküli vezérlésére is, például a Bluetooth fülhallgató használatával vezeték nélkül hallhatja a dalt a mobiltelefonjáról, vagy használhatja az autórádió-rendszert a dalok lejátszására a mobiljáról.
A Bluetooth egy vezeték nélküli technológia, amely a 2,4 GHz frekvencián működik. A normál Bluetooth jel 10 méteres sugarú tartományban van. A Bluetooth a leggyakrabban használt vezeték nélküli technológia beágyazott projektekben, feltéve, hogy a kommunikáció tartománya korlátozott. A Bluetooth előnye az alacsony energiafogyasztás és az alacsony költségű működés. Általában a mikrovezérlők és az intelligens telefonok összekapcsolására használják Bluetooth alkalmazások segítségével.
Láttuk, hogy a Bluetooth modul összekapcsolódik más mikrovezérlőkkel, például Arduino, 8051, PIC stb. Ebben a bemutatóban egy HC-05 Bluetooth modult fogunk összekapcsolni az STM32F103C8-val, és be- / kikapcsolni egy LED-et az Android mobil segítségével.
Szükséges anyagok
- STM32F103C8
- Bluetooth modul (HC-05)
- VEZETTE
- Android Mobile
- Kenyérlemez
- Csatlakozó vezetékek
Szoftver:
- Bluetooth terminál (Android alkalmazás)
Bluetooth modul (HC-05)
Leginkább beágyazott projektekben használják a Bluetooth modult. Ez egy soros Bluetooth modul, amely 100 m-nél kisebb hatótávolságú soros kommunikációt használ és 5 V-on (minimum 3,3 V) működik. Használható két mikrovezérlő vezeték nélküli csatlakoztatására, valamint mobiltelefonnal és laptopokkal is. Mivel sok androidos alkalmazás érhető el, nagyon hasznos vezeték nélküli Bluetooth-vezérelt projektek készítéséhez.
USART kommunikációt használ, és összekapcsolható az USART kommunikációs protokollal rendelkező mikrovezérlőkkel.
Integrált antennával rendelkezik. Master / Slave konfigurációi vannak, amelyek AT parancs módban megváltoztathatók, és ez akkor hasznos, ha csak egy eszköznek kell elküldenie az adatokat (a masterről a slave-re), például a PC-ről (MASTER) a slave-re (bármelyik MCU-ra). A master csatlakozhat más eszközökhöz, és a slave nem csatlakozik más kapcsolatokhoz, csak a master.
Működési módok
Ez a két mód AT parancs Mode & Adatmód.
A Bluetooth bekapcsolásakor alapértelmezés szerint adatmódba lép. Ez az üzemmód használható adatátvitelre. Az AT Parancs módba történő bekapcsoláshoz bekapcsoláskor meg kell nyomnunk a modulban található gombot, hogy megváltoztassuk a modul alapértelmezett beállításait, például a master / slave konfigurációkat.
A Bluetooth modul csapjai
- EN pin (ENABLE) - Ezzel a tűvel lehet beállítani az adat módot vagy az AT parancs módot. Alapértelmezés szerint DATA MODE-ban van. Amikor a gombot megnyomja bekapcsolás közben, az AT parancs módba vált.
- + 5 V-os tű - Ez a modul áramellátására szolgál
- GND pin - Ez a modul földelésére szolgál
- TX pin - Ez a tű az MCU RX tűjéhez csatlakozik
- RX pin - Ez a tű az MCU TX tűjéhez csatlakozik
- ÁLLAPOT - Ez a gomb jelzi a modul állapotát, lásd alább a jelzésekről
LED jelzés
- Van egy LED (RED) jelzője, amely biztosítja a Bluetooth modul állapotát.
- Ha a Bluetooth modult NEM CSATLAKOZTÁK egyetlen eszközhöz sem, akkor a jel gyengül és a piros led folyamatosan villog, ami azt jelzi, hogy a modul NEM PÁROSÍTOTT.
- Ha a Bluetooth modult bármilyen eszközhöz CSATLAKOZTUK, a jel HIGH-ra vált, és a piros led némi késéssel villog, ami azt jelzi, hogy a modul PÁROSZTOTT.
Nézze meg más projektjeinket, hogy többet tudjon meg a HC-05 Bluetooth modulról más mikrovezérlőkkel:
- Bluetooth vezérlésű játékautó Arduino használatával
- Bluetooth vezérlésű otthoni automatizálási rendszer a 8051 használatával
- Hangvezérelt fények Raspberry Pi használatával
- Intelligens telefon által vezérelt FM rádió Arduino és Processing használatával
- Mobiltelefon vezérelt robotautó a G-Sensor és az Arduino segítségével
- A HC-06 Bluetooth modul összekapcsolása PIC mikrovezérlővel
STM32 USART portok
Az STM32F103C8 (KÉK PILL) USART soros kommunikációs portok az alábbi pin out képen láthatók. Ezek kék színűek (PA9-TX1, PA10-RX1, PA2-TX2, PA3-RX2, PB10-TX3, PB11-RX3). Három ilyen kommunikációs csatornája van.
Áramkör és kapcsolatok
Az áramköri csatlakozásokat a Bluetooth modul és az STM32 összeköttetéséhez az alábbiak szerint készítjük
Csatlakozás az STM32F103C8 és a Bluetooth modul (HC-05) között
- Az STM32F103C8 TX tűje (PA9) csatlakozik a Bluetooth modul RX tűjéhez.
- Az STM32F103C8 RX tűje (PA10) csatlakozik a Bluetooth modul TX tűjéhez.
- A Bluetooth modul VCC (+ 5V) tűje az STM32F103C8 5V tűjéhez csatlakozik.
- A Bluetooth-modul GND-tűje csatlakozik az STM32F103C8 GND-tűjéhez.
Egyéb kapcsolatok
- Az STM32 (kék tabletta) (PA0) tűje soros ellenálláson keresztül csatlakozik a LED pozitív tűjéhez. A LED itt vegyes színű.
- A vezetett másik tű csatlakozik az STM32 GND-jéhez.
STM32F103C8 programozása
A Bluetooth összekapcsolása az STM32-vel megegyezik az arduino-val, az STM32-ben pedig a programozás megegyezik az Arduino IDE-vel. Tekintse meg ezt az oktatóanyagot az STM32 USB-vel történő programozásához az Arduino IDE használatával.
Mint már elmondtuk, ebben a projektben összekapcsolunk egy (HC-05) Bluetooth modult az STM32F103C8 készülékkel, és egy Android okostelefont használunk Bluetooth terminállal android alkalmazással a LED be- és kikapcsolásához.
Megjegyzés: A kód STM32F103C8-ba történő feltöltése közben el kell távolítani az RX & TX tűt.
A projekt teljes kódja az oktatóanyag végén található, bemutató videóval.
A projekt kódolása olyan egyszerű. Ugyanazok az Arduino kódok használhatók, de csak a csapot kell megváltoztatni. Mivel az STM32F103C8-ban három USART-csatlakozó van, ezért meg kell adnunk azt a helyes csapot, amelyet a Bluetooth-modul csatlakoztatásához használtunk.
1. Először az alábbiak szerint kell megneveznünk a csapokat a hozzájuk tartozó pin számmal, int adattípussal
const int pinout = PA0;
2. Ezután rendelkeznünk kell egy változóval az androidos mobil soros adatainak tárolásához. Az adatok lehetnek karakterek vagy egészek, az alábbiak szerint
char inputdata = 0;
3. Ezután a void setup () alatt el kell indítanunk a soros kommunikációt az STM32 Blue Pill és a Bluetooth modul között 9600 adatátviteli sebesség megadásával
Serial1.begin (9600);
Itt használtuk a Serial1-et, mert a HC-05-et csatlakoztattuk az STM32 TX1-hez és RX1-jéhez.
Használhatunk Serial2-t vagy Serial3-t is, de ennek megfelelően a tűt össze kell kötni.
4. A bevezető üzenet soros adatként kerül elküldésre a serial1-re, vagyis a HC05 Bluetooth modulra. Ez a modul tovább továbbítja az adatokat az Android mobil Bluetooth terminál alkalmazásához. Tehát az alábbi állításokat használjuk
Serial1.print ("CIRCUIT DIGEST \ n"); Serial1.print ("BLUETOOTH STM32-vel \ n");
5. Ezután be kell állítanunk kimenetnek a pinmode-ot (PA0) , amint ehhez a pinhez csatlakoztattuk a vezetéket
pinMode (pinout, OUTPUT);
6. Ezután a void ciklusban () a következő adatokat futtatjuk a soros adatok kiolvasásához és ennek megfelelően a LED be- / kikapcsolásához
void loop () { If (Soros1.elérhető ()> 0) { inputdata = Soros1.olvasott (); if (inputdata == '1') { digitalWrite (pinout, HIGH); Serial1.print ("LED BE \ n"); } else if (inputdata == '0') { digitalWrite (pinout, LOW); Serial1.print ("LED KI \ n"); } } }
Itt azért használjuk az if utasítást, mert ezek a kódok csak akkor hajtódnak végre, ha a Serial1 portnak vannak olyan adatai, amelyek a Bluetooth modultól származnak, és ezért használja ezt az utasítást Serial1.available ()> 0 . Ellenkező esetben, ha nem kerül be, akkor megvárja, amíg megkezdi a soros kommunikációt. Most a kapott adatokat az inputdata = Serial1.read () változóban tárolja. Ezután ellenőrizze a Bluetooth terminál alkalmazásból küldött értéket. Tehát ha az érték 1, akkor a LED be van nyomtatva, és a csapot (PA0) a digitalWrite (pinout, HIGH) utasítással HIGH-ra emeli, és ha az értéke 0, akkor a LED kikapcsol és a (PA0) tűt LOW-ra állítja.
A Bluetooth modul és az Android telefon összekapcsolásának lépései
1. lépés: - Nyissa meg a Bluetooth-ot mobilról, miután feltöltötte a kódot az STM32-be az Arduino IDE-től, és áramot adott az áramkörnek. Ne felejtse el eltávolítani az RX és TX tűt a kód feltöltése közben
2. lépés: - A rendelkezésre álló eszközökben válassza a HC-05 elemet, és írja be a jelszót 1234 néven
3. lépés: - A párosítás után nyissa meg a Bluetooth Terminal alkalmazást, válassza ki az eszköz csatlakoztatását, és válassza az HC-05 lehetőséget az alábbiak szerint
4. lépés: - Miután csatlakozott a HC-05 Bluetooth modulhoz, adjon meg értékeket az 1. vagy a 0. terminálon a LED be- és kikapcsolásához. Azt is kapja, hogy a LED világít vagy nem világít.