- Potrebné materiály
- Modul Bluetooth (HC-05)
- Porty USM STM32
- Schéma zapojenia a zapojenia
- Programovanie STM32F103C8
- Kroky na pripojenie modulu Bluetooth k telefónu Android
V dnešnom svete sa Bluetooth stáva veľmi populárnym a takmer každé zariadenie ako mobilný telefón, notebook alebo informačný systém automobilu používa Bluetooth na bezdrôtovú komunikáciu. Bluetooth sa nepoužíva iba na prenos dát, ale aj na bezdrôtové ovládanie ďalších zariadení Bluetooth, napríklad pomocou náhlavnej súpravy Bluetooth môžete skladbu počuť bezdrôtovo z mobilného telefónu alebo môžete pomocou autorádia do auta prehrávať skladby z mobilu.
Bluetooth je bezdrôtová technológia, ktorá pracuje na frekvencii 2,4 GHz. Normálny signál Bluetooth je v dosahu 10 metrov. Bluetooth je najbežnejšie používanou bezdrôtovou technológiou vo vstavaných projektoch za predpokladu, že je obmedzený rozsah komunikácie. Bluetooth pridalo výhodu v podobe nízkej spotreby energie a nízkych nákladov na prevádzku. Spravidla sa používa na prepojenie mikrokontrolérov s inteligentnými telefónmi pomocou aplikácií Bluetooth.
Videli sme prepojenie Bluetooth modulu s inými mikrokontrolérmi ako Arduino, 8051, PIC atď. Teraz v tomto tutoriále prepojíme Bluetooth modul HC-05 s STM32F103C8 a zapneme / vypneme LED pomocou mobilného telefónu s Androidom.
Potrebné materiály
- STM32F103C8
- Modul Bluetooth (HC-05)
- LED
- Android Mobile
- Nepál
- Pripojovacie vodiče
Softvér:
- Terminál Bluetooth (aplikácia pre Android)
Modul Bluetooth (HC-05)
Najčastejšie sa používa modul Bluetooth vo vstavaných projektoch. Jedná sa o sériový modul Bluetooth, ktorý využíva sériovú komunikáciu s dosahom menším ako 100 m a pracuje pri 5 V (minimálne 3,3 V). Môže byť použitý na bezdrôtové pripojenie dvoch mikrokontrolérov a tiež k mobilným telefónom a notebookom. Pretože je k dispozícii veľa aplikácií pre Android, je veľmi užitočné na vytváranie bezdrôtových projektov ovládaných technológiou Bluetooth.
Používa komunikáciu USART a môže byť prepojená s mikrokontrolérmi, ktoré majú komunikačný protokol USART.
Má integrovanú anténu. Má konfiguráciu Master / Slave, ktorú je možné zmeniť v príkazovom režime AT, čo je užitočné, keď má iba jedno zariadenie odosielať údaje (master - slave), napríklad z PC (MASTER) - slave (akýkoľvek MCU). Master sa môže pripojiť k iným zariadeniam a slave sa nepripojí k inému spojeniu okrem Master.
Prevádzkové režimy
Má dva režimy AT Command Mode a Data Mode.
Keď je Bluetooth zapnuté, prepne sa na predvolený dátový režim. Tento režim je možné použiť na dátové prenosy. Pre vstup do režimu AT príkazu počas zapínania musíme stlačiť tlačidlo v module, aby sme zmenili predvolené nastavenia modulu ako konfigurácia master / slave.
Kolíky modulu Bluetooth
- Pin EN (ENABLE) - Tento pin sa používa na nastavenie dátového režimu alebo príkazového režimu AT. Predvolene je v DATA MODE. Po stlačení tlačidla počas napájania sa prepne do príkazového režimu AT.
- + 5 V pin - Používa sa na napájanie modulu
- Pin GND - slúži na uzemnenie modulu
- Pin TX - Tento pin je pripojený k konektoru RX MCU
- Pin RX - Tento pin je pripojený k TX pinu MCU
- STAV - Tento pin označuje stav modulu, indikácie nájdete nižšie
LED indikácia
- Má indikátor LED (ČERVENÝ), ktorý informuje o stave modulu Bluetooth.
- Ak modul Bluetooth NIE JE PRIPOJENÝ k žiadnemu zariadeniu, signál klesne a červená LED nepretržite bliká, čo naznačuje, že modul NIE JE PÁROVANÝ.
- Keď je modul Bluetooth PRIPOJENÝ k ľubovoľnému zariadeniu, signál stúpne na VYSOKÚ a červená LED bliká s určitým oneskorením, čo naznačuje, že modul je SPÁROVANÝ.
V našich ďalších projektoch sa dozviete viac o Bluetooth module HC-05 s ďalšími mikrokontrolérmi:
- Bluetooth ovládané autíčko pomocou Arduina
- Bluetooth riadený domáci automatizačný systém využívajúci 8051
- Hlasom ovládané svetlá pomocou Raspberry Pi
- Inteligentný telefón ovládaný FM rádiom pomocou Arduina a spracovania
- Robotické auto ovládané mobilným telefónom pomocou G-senzora a Arduina
- Prepojenie modulu Bluetooth HC-06 s mikrokontrolérom PIC
Porty USM STM32
Sériové komunikačné porty USART STM32F103C8 (BLUE PILL) sú zobrazené na obrázku nižšie. Tieto sú modro zafarbené (PA9-TX1, PA10-RX1, PA2-TX2, PA3-RX2, PB10-TX3, PB11-RX3). Má tri takéto komunikačné kanály.
Schéma zapojenia a zapojenia
Pripojenia obvodov na prepojenie Bluetooth modulu s STM32 sú vykonané nižšie
Prepojenie medzi STM32F103C8 a Bluetooth modulom (HC-05)
- Pin TX (PA9) na STM32F103C8 je pripojený k konektoru RX na module Bluetooth.
- Pin RX (PA10) modulu STM32F103C8 je pripojený k konektoru TX modulu Bluetooth.
- Kolík VCC (+ 5 V) modulu Bluetooth je pripojený k kolíku 5 V modulu STM32F103C8.
- GND pin modulu Bluetooth je pripojený k GND pinu STM32F103C8.
Ostatné pripojenia
- Pin (PA0) STM32 (Blue Pill) je pripojený k kladnému pólu LED cez sériový rezistor. Tu sa používa LED zmiešaná farba.
- Vedený ďalší pin je pripojený k GND STM32.
Programovanie STM32F103C8
Rozhranie Bluetooth s STM32 je rovnaké ako arduino a programovanie v STM32 je rovnaké ako Arduino IDE. V tomto výučbe nájdete programovanie STM32 s USB pomocou Arduino IDE.
Ako už bolo povedané, v tomto projekte prepojíme Bluetooth modul (HC-05) s STM32F103C8 a na zapnutie a vypnutie LED diódy použijeme inteligentný telefón Android s aplikáciou Bluetooth Terminal pre Android.
Poznámka: Počas nahrávania kódu do STM32F103C8 musí byť pin RX a TX odstránený.
Kompletný kód tohto projektu je uvedený na konci tohto tutoriálu s ukážkovým videom.
Programovanie tohto projektu je také jednoduché. Môžu sa použiť rovnaké kódy Arduino, zmeniť by sa však mal iba pin. Pretože v STM32F103C8 máme tri sady pinov USART, musíme určiť správny pin, ktorý sme použili na pripojenie modulu Bluetooth.
1. Najprv musíme pomenovať piny s ich príslušným číslom pinu s dátovým typom int nasledovne
const int pinout = PA0;
2. Ďalej potrebujeme premennú na ukladanie sériových údajov z mobilu Android. Dáta môžu byť znak alebo celé číslo nasledovne
char inputdata = 0;
3. Ďalej vo void setup () musíme zahájiť sériovú komunikáciu medzi STM32 Blue Pill a Bluetooth modulom s prenosovou rýchlosťou 9600
Serial1.begin (9600);
Použili sme tu Serial1, pretože sme pripojili HC-05 k TX1 a RX1 z STM32.
Môžeme tiež použiť Serial2 alebo Serial3, ale podľa toho musí byť pripojený pin.
4. Úvodná správa sa odošle ako sériové dáta do zariadenia serial1, to znamená do modulu Bluetooth HC05. Tento modul ďalej odosiela údaje do aplikácie Bluetooth Terminal v mobilnom telefóne Android. Používame teda nasledujúce vyhlásenia
Serial1.print ("CIRCUIT DIGEST \ n"); Serial1.print ("BLUETOOTH S STM32 \ n");
5. Ďalej musíme nastaviť pinmode (PA0) ako výstup, pretože sme sa pripojili k tomuto pinu. Takže používame
pinMode (pinout, OUTPUT);
6. Ďalej vo void loop () spustíme nasledujúce dáta, aby sme načítali sériové dáta a podľa toho zapneme / vypneme LED
void loop () { If (Serial1.available ()> 0) { inputdata = Serial1.read (); if (inputdata == '1') { digitalWrite (pinout, HIGH); Serial1.print ("LED svieti \ n"); } else if (inputdata == '0') { digitalWrite (pinout, LOW); Serial1.print ("LED VYPNUTÁ \ n"); } } }
Tu použijeme -Li tvrdenie, pretože tieto kód vykoná iba vtedy, keď Serial1 port má všetky dáta prijaté z modulu Bluetooth že dôvod, prečo sa používa toto tvrdenie Serial1.available ()> 0 . V opačnom prípade, ak sa nedostane do, počká, kým nezačne sériovú komunikáciu. Teraz ukladá prijaté dáta do premennej inputdata = Serial1.read (). Potom skontroluje hodnotu odoslanú z aplikácie terminálu Bluetooth. Takže ak je hodnota 1, vytlačí LED diódu ZAPNUTÚ a spôsobí, že pin (PA0) bude VYSOKÝ pomocou príkazu digitalWrite (pinout, HIGH) a ak je hodnota 0, vytlačí LED VYPNUTÝ a pin (PA0) bude v režime LOW.
Kroky na pripojenie modulu Bluetooth k telefónu Android
Krok 1: - Po nahraní kódu do STM32 z Arduino IDE a pripojení napájania k obvodu otvorte Bluetooth z mobilu. PRIPOMÍNAJTE a odstráňte špendlík RX a TX pri NAHRÁVANÍ kódu
Krok 2: - Na dostupných zariadeniach vyberte HC-05 a zadajte heslo ako 1234
Krok 3: - Po spárovaní otvorte aplikáciu Bluetooth Terminal a vyberte pripojenie zariadenia a zvoľte HC-05, ako je uvedené nižšie
Krok 4: - Po pripojení k modulu Bluetooth HC-05 zadajte hodnoty do svorky 1 alebo 0, aby sa rozsvietila a zhasla LED dióda. Dostanete tiež správu, že LED svieti alebo nesvieti.