- పదార్థాలు అవసరం
- బ్లూటూత్ మాడ్యూల్ (HC-05)
- STM32 USART పోర్ట్స్
- సర్క్యూట్ రేఖాచిత్రం మరియు కనెక్షన్లు
- ప్రోగ్రామింగ్ STM32F103C8
- Android ఫోన్తో బ్లూటూత్ మాడ్యూల్ను కనెక్ట్ చేయడానికి దశలు
నేటి ప్రపంచంలో బ్లూటూత్ బాగా ప్రాచుర్యం పొందింది మరియు మొబైల్ ఫోన్, ల్యాప్టాప్ మరియు కార్ల ఇన్ఫోటైన్మెంట్ సిస్టమ్ వంటి దాదాపు ప్రతి పరికరం వైర్లెస్ కమ్యూనికేషన్ కోసం బ్లూటూత్ను ఉపయోగిస్తుంది. బ్లూటూత్ డేటాను బదిలీ చేయడానికి మాత్రమే కాకుండా, మరొక బ్లూటూత్ పరికరాలను వైర్లెస్గా నియంత్రించడానికి కూడా ఉపయోగించబడుతుంది, బ్లూటూత్ హెడ్సెట్ ఉపయోగించడం వంటివి మీరు మీ మొబైల్ ఫోన్ నుండి వైర్లెస్ లేకుండా పాటను వినవచ్చు లేదా మీ మొబైల్ నుండి పాటలను ప్లే చేయడానికి కార్ ఆడియో సిస్టమ్ను ఉపయోగించవచ్చు.
బ్లూటూత్ అనేది వైర్లెస్ టెక్నాలజీ, ఇది 2.4GHz పౌన frequency పున్యంలో పనిచేస్తుంది. సాధారణ బ్లూటూత్ సిగ్నల్ 10 మీటర్ల వ్యాసార్థంలో ఉంటుంది. కమ్యూనికేషన్ పరిధి పరిమితం అని అందించిన ఎంబెడెడ్ ప్రాజెక్టులలో బ్లూటూత్ సాధారణంగా ఉపయోగించే వైర్లెస్ టెక్నాలజీ. బ్లూటూత్ దాని తక్కువ విద్యుత్ వినియోగం మరియు తక్కువ ఖర్చుతో కూడిన ఆపరేషన్ యొక్క ప్రయోజనాన్ని జోడించింది. బ్లూటూత్ అనువర్తనాలను ఉపయోగించడం ద్వారా స్మార్ట్ ఫోన్లతో మైక్రోకంట్రోలర్లను ఇంటర్ఫేసింగ్ చేయడానికి ఇది సాధారణంగా ఉపయోగించబడుతుంది.
ఆర్డునో, 8051, పిఐసి వంటి ఇతర మైక్రోకంట్రోలర్లతో బ్లూటూత్ మాడ్యూల్ ఇంటర్ఫేసింగ్ చేయడాన్ని మేము చూశాము. ఇప్పుడు ఈ ట్యుటోరియల్లో హెచ్టి -05 బ్లూటూత్ మాడ్యూల్ను ఎస్టిఎమ్ 32 ఎఫ్ 103 సి 8 తో ఇంటర్ఫేస్ చేస్తాము మరియు ఆండ్రాయిడ్ మొబైల్ ఉపయోగించి ఎల్ఇడిని ఆన్ / ఆఫ్ చేయండి.
పదార్థాలు అవసరం
- STM32F103C8
- బ్లూటూత్ మాడ్యూల్ (HC-05)
- LED
- Android మొబైల్
- బ్రెడ్బోర్డ్
- వైర్లను కనెక్ట్ చేస్తోంది
సాఫ్ట్వేర్:
- బ్లూటూత్ టెర్మినల్ (Android అప్లికేషన్)
బ్లూటూత్ మాడ్యూల్ (HC-05)
ఇది ఎక్కువగా ఎంబెడెడ్ ప్రాజెక్టులలో బ్లూటూత్ మాడ్యూల్ ఉపయోగించబడుతుంది. ఇది సీరియల్ బ్లూటూత్ మాడ్యూల్, ఇది 100 మీ కంటే తక్కువ పరిధిని కలిగి ఉన్న సీరియల్ కమ్యూనికేషన్ను ఉపయోగిస్తుంది మరియు 5 వి (3.3 వి కనిష్ట) వద్ద పనిచేస్తుంది. ఇది రెండు మైక్రోకంట్రోలర్లను వైర్లెస్గా మరియు మొబైల్ ఫోన్ మరియు ల్యాప్టాప్లతో కనెక్ట్ చేయడానికి ఉపయోగించవచ్చు. చాలా ఆండ్రాయిడ్ అనువర్తనాలు అందుబాటులో ఉన్నందున, వైర్లెస్ బ్లూటూత్ నియంత్రిత ప్రాజెక్టులను రూపొందించడానికి ఇది చాలా ఉపయోగకరంగా ఉంటుంది.
ఇది USART కమ్యూనికేషన్ను ఉపయోగిస్తుంది మరియు USART కమ్యూనికేషన్ ప్రోటోకాల్ కలిగి ఉన్న మైక్రోకంట్రోలర్లతో ఇంటర్ఫేస్ చేయవచ్చు.
దీనికి ఇంటిగ్రేటెడ్ యాంటెన్నా ఉంది. ఇది మాస్టర్ / స్లేవ్ కాన్ఫిగరేషన్లను కలిగి ఉంది, ఇది AT కమాండ్ మోడ్లో మార్చబడుతుంది, ఇది ఒక పరికరం మాత్రమే డేటాను (మాస్టర్ టు స్లేవ్) పంపినప్పుడు ఉపయోగపడుతుంది, ఉదాహరణకు PC (MASTER) నుండి బానిస (ఏదైనా MCU). మాస్టర్ ఇతర పరికరాలకు కనెక్ట్ చేయగలడు మరియు బానిస మాస్టర్ కాకుండా ఇతర కనెక్షన్కు కనెక్ట్ చేయడు.
ఆపరేషన్ మోడ్లు
దీనికి కమాండ్ మోడ్ & డేటా మోడ్లో రెండు మోడ్లు ఉన్నాయి.
బ్లూటూత్ శక్తితో ఉన్నప్పుడు అది డేటా మోడ్ డిఫాల్ట్గా ప్రవేశిస్తుంది. డేటా బదిలీ కోసం ఈ మోడ్ ఉపయోగించబడుతుంది. పవర్ అప్ సమయంలో AT కమాండ్ మోడ్లోకి ప్రవేశించడానికి, మాస్టర్ / స్లేవ్ కాన్ఫిగరేషన్ల వంటి మాడ్యూల్ యొక్క డిఫాల్ట్ సెట్టింగులను మార్చడానికి మాడ్యూల్లో ఉన్న బటన్ను నొక్కాలి.
బ్లూటూత్ మాడ్యూల్ యొక్క పిన్స్
- EN పిన్ (ENABLE) -ఈ పిన్ డేటా మోడ్ లేదా AT కమాండ్ మోడ్ను సెట్ చేయడానికి ఉపయోగించబడుతుంది. అప్రమేయంగా ఇది డేటా మోడ్లో ఉంటుంది. పవర్ అప్ సమయంలో బటన్ నొక్కినప్పుడు అది AT కమాండ్ మోడ్కు వెళుతుంది.
- + 5 వి పిన్ - మాడ్యూల్కు విద్యుత్ సరఫరా కోసం ఇది ఉపయోగించబడుతుంది
- GND పిన్ - ఇది మాడ్యూల్ కోసం భూమి కోసం ఉపయోగించబడుతుంది
- TX పిన్ - MCU యొక్క RX పిన్తో అనుసంధానించబడిన ఈ పిన్
- RX పిన్ - ఈ పిన్ MCU యొక్క TX పిన్కు కనెక్ట్ చేయబడింది
- స్టేట్ - ఈ పిన్ మాడ్యూల్ యొక్క స్థితిని సూచిస్తుంది, సూచనలు గురించి క్రింద చూడండి
LED సూచిక
- ఇది బ్లూటూత్ మాడ్యూల్ యొక్క స్థితిని అందించే LED (RED) సూచికను కలిగి ఉంది.
- Bluetooth మాడ్యూల్ ఏ పరికరం కనెక్ట్ కానప్పుడు సిగ్నల్ తక్కువ మరియు వెళ్తాడు నిరంతరం ఎర్రని LED blinks మాడ్యూల్ సూచిస్తాయి NOT జత.
- బ్లూటూత్ మాడ్యూల్ ఏదైనా పరికరానికి కనెక్ట్ అయినప్పుడు సిగ్నల్ హై మరియు రెడ్ లీడ్ బ్లింక్స్ కొంత ఆలస్యం తో వెళుతుంది, ఇది మాడ్యూల్ పైర్డ్ అని సూచిస్తుంది.
ఇతర మైక్రోకంట్రోలర్లతో బ్లూటూత్ మాడ్యూల్ HC-05 గురించి మరింత తెలుసుకోవడానికి మా ఇతర ప్రాజెక్టులను తనిఖీ చేయండి:
- ఆర్డునో ఉపయోగించి బ్లూటూత్ కంట్రోల్డ్ టాయ్ కార్
- 8051 ఉపయోగించి బ్లూటూత్ కంట్రోల్డ్ హోమ్ ఆటోమేషన్ సిస్టమ్
- రాస్ప్బెర్రీ పై ఉపయోగించి వాయిస్ కంట్రోల్డ్ లైట్స్
- ఆర్డునో మరియు ప్రాసెసింగ్ ఉపయోగించి స్మార్ట్ ఫోన్ కంట్రోల్డ్ ఎఫ్ఎమ్ రేడియో
- జి-సెన్సార్ మరియు ఆర్డునో ఉపయోగించి మొబైల్ ఫోన్ కంట్రోల్డ్ రోబోట్ కార్
- పిఐసి మైక్రోకంట్రోలర్తో బ్లూటూత్ మాడ్యూల్ హెచ్సి -06 ఇంటర్ఫేసింగ్
STM32 USART పోర్ట్స్
STM32F103C8 (బ్లూ పిల్) USART సీరియల్ కమ్యూనికేషన్ పోర్ట్లు క్రింద ఉన్న పిన్ అవుట్ చిత్రంలో చూపించబడ్డాయి. ఇవి నీలం రంగు కలిగి ఉంటాయి (PA9-TX1, PA10- RX1, PA2-TX2, PA3- RX2, PB10-TX3, PB11- RX3). దీనికి అలాంటి మూడు కమ్యూనికేషన్ మార్గాలు ఉన్నాయి.
సర్క్యూట్ రేఖాచిత్రం మరియు కనెక్షన్లు
STM32 తో బ్లూటూత్ మాడ్యూల్ ఇంటర్ఫేసింగ్ కోసం సర్క్యూట్ కనెక్షన్లు క్రింద ఇవ్వబడ్డాయి
STM32F103C8 & బ్లూటూత్ మాడ్యూల్ (HC-05) మధ్య కనెక్షన్
- STM32F103C8 యొక్క TX పిన్ (PA9) బ్లూటూత్ మాడ్యూల్ యొక్క RX పిన్తో అనుసంధానించబడి ఉంది.
- STM32F103C8 యొక్క RX పిన్ (PA10) బ్లూటూత్ మాడ్యూల్ యొక్క TX పిన్తో అనుసంధానించబడి ఉంది.
- బ్లూటూత్ మాడ్యూల్ యొక్క VCC (+ 5V) పిన్ STM32F103C8 యొక్క 5V పిన్తో అనుసంధానించబడి ఉంది.
- బ్లూటూత్ మాడ్యూల్ యొక్క GND పిన్ STM32F103C8 యొక్క GND పిన్తో అనుసంధానించబడింది.
ఇతర కనెక్షన్లు
- STM32 (బ్లూ పిల్) యొక్క (PA0) పిన్ సిరీస్ రెసిస్టర్ ద్వారా LED యొక్క సానుకూల పిన్తో అనుసంధానించబడి ఉంది. ఇక్కడ ఎల్ఈడీ మిశ్రమ రంగు.
- దారితీసిన మరొక పిన్ STM32 యొక్క GND కి అనుసంధానించబడి ఉంది.
ప్రోగ్రామింగ్ STM32F103C8
STM32 తో బ్లూటూత్ ఇంటర్ఫేసింగ్ arduino వలె ఉంటుంది మరియు STM32 లోని ప్రోగ్రామింగ్ Arduino IDE వలె ఉంటుంది. Arduino IDE ని ఉపయోగించి USB తో STM32 ప్రోగ్రామింగ్ కోసం ఈ ట్యుటోరియల్ చూడండి.
ఇప్పటికే చెప్పినట్లుగా, ఈ ప్రాజెక్ట్లో, మేము STM32F103C8 తో (HC-05) బ్లూటూత్ మాడ్యూల్ను ఇంటర్ఫేస్ చేస్తాము మరియు LED ని ఆన్ మరియు ఆఫ్ చేయడానికి బ్లూటూత్ టెర్మినల్ ఆండ్రాయిడ్ అప్లికేషన్తో Android స్మార్ట్ ఫోన్ను ఉపయోగిస్తాము.
గమనిక: STM32F103C8 కు కోడ్ను అప్లోడ్ చేసేటప్పుడు RX & TX పిన్ తొలగించబడాలి.
ఈ ప్రాజెక్ట్ కోసం పూర్తి కోడ్ ఈ ట్యుటోరియల్ చివరిలో ప్రదర్శన వీడియోతో ఇవ్వబడుతుంది.
ఈ ప్రాజెక్ట్ కోసం కోడింగ్ చాలా సులభం. అదే ఆర్డునో కోడ్లను ఉపయోగించవచ్చు కాని పిన్ మాత్రమే మార్చాలి. STM32F103C8 లో మనకు మూడు సెట్ల USART పిన్ ఉన్నందున, బ్లూటూత్ మాడ్యూల్ను కనెక్ట్ చేయడానికి మేము ఉపయోగించిన సరైన పిన్ను తప్పక పేర్కొనాలి.
1. మొదట మనం పిన్లను వాటి సంబంధిత పిన్ నంబర్తో Int డేటా రకంతో ఈ క్రింది విధంగా పేరు పెట్టాలి
const int pinout = PA0;
2. తరువాత మనకు ఆండ్రాయిడ్ మొబైల్ నుండి సీరియల్ డేటాను నిల్వ చేయడానికి వేరియబుల్ అవసరం. డేటా ఈ క్రింది విధంగా చార్ లేదా పూర్ణాంకం కావచ్చు
చార్ ఇన్పుట్డేటా = 0;
3. శూన్య సెటప్ () లో తరువాత, మేము 9600 బాడ్ రేట్ ఇవ్వడం ద్వారా STM32 బ్లూ పిల్ మరియు బ్లూటూత్ మాడ్యూల్ మధ్య సీరియల్ కమ్యూనికేషన్ను ప్రారంభించాలి.
సీరియల్ 1.బెగిన్ (9600);
మేము ఇక్కడ సీరియల్ 1 ను ఉపయోగించాము ఎందుకంటే మేము HC-05 ను TX1 మరియు STM32 యొక్క RX1 కి కనెక్ట్ చేసాము.
మేము సీరియల్ 2 లేదా సీరియల్ 3 ను కూడా ఉపయోగించవచ్చు, కాని తదనుగుణంగా పిన్ కనెక్ట్ అయి ఉండాలి.
4. పరిచయ సందేశం సీరియల్ 1 కు సీరియల్ డేటాగా పంపబడుతుంది , అంటే బ్లూటూత్ మాడ్యూల్ HC05 కు. ఈ మాడ్యూల్ ఆండ్రాయిడ్ మొబైల్ యొక్క బ్లూటూత్ టెర్మినల్ అనువర్తనానికి డేటాను మరింత పంపుతుంది. కాబట్టి మేము క్రింద స్టేట్మెంట్లను ఉపయోగిస్తాము
సీరియల్ 1.ప్రింట్ ("CIRCUIT DIGEST \ n"); సీరియల్ 1.ప్రింట్ ("STM32 \ n తో బ్లూటూత్");
5. తరువాత మనం పిన్మోడ్ (PA0) ను అవుట్పుట్గా సెట్ చేయాలి, ఎందుకంటే మనం కనెక్ట్ చేసినందున ఈ పిన్కు దారితీసింది
పిన్మోడ్ (పిన్అవుట్, అవుట్పుట్);
6. శూన్య లూప్ () లో తరువాత, మేము సీరియల్ డేటాను చదవడానికి క్రింది డేటాను నడుపుతాము మరియు తదనుగుణంగా LED ని ఆన్ / ఆఫ్ చేయండి
void loop () { if (Serial1.available ()> 0) { inputdata = Serial1.read (); if (inputdata == '1') { DigitalWrite (pinout, HIGH); సీరియల్ 1.ప్రింట్ ("LED ON \ n"); } else if (inputdata == '0') { DigitalWrite (pinout, LOW); సీరియల్ 1.ప్రింట్ ("LED OFF \ n"); } } }
ఇక్కడ మేము ఉపయోగించే ఉంటే ప్రకటన Serial1 పోర్ట్ Bluetooth మాడ్యూల్ ఈ ప్రకటనను ఉపయోగించుకొని ఎందుకు నుండి అందుకున్న ఏ డేటా ఉన్నప్పుడు ఈ కోడ్ మాత్రమే అమలు ఎందుకంటే Serial1.available ()> 0 . లేకపోతే అది ప్రవేశించకపోతే, అది సీరియల్ కమ్యూనికేషన్ ప్రారంభమయ్యే వరకు వేచి ఉంటుంది. ఇప్పుడు అది అందుకున్న డేటాను వేరియబుల్ inputdata = Serial1.read () లో నిల్వ చేస్తుంది . అప్పుడు ఇది బ్లూటూత్ టెర్మినల్ అనువర్తనం నుండి పంపిన విలువను తనిఖీ చేస్తుంది. కాబట్టి విలువ 1 అయితే, అది LED ON ను ప్రింట్ చేస్తుంది మరియు స్టేట్మెంట్ డిజిటల్ రైట్ (పిన్అవుట్, HIGH) ద్వారా పిన్ (PA0) పైకి వెళ్ళేలా చేస్తుంది మరియు విలువ 0 అయితే, అది LED OFF ను ప్రింట్ చేస్తుంది మరియు (PA0) పిన్ తక్కువగా వెళ్తుంది.
Android ఫోన్తో బ్లూటూత్ మాడ్యూల్ను కనెక్ట్ చేయడానికి దశలు
దశ 1: - ఆర్డునో IDE నుండి STM32 లోకి కోడ్ను అప్లోడ్ చేసి, సర్క్యూట్కు శక్తినిచ్చిన తర్వాత మొబైల్ నుండి బ్లూటూత్ను తెరవండి. కోడ్ను అప్లోడ్ చేస్తున్నప్పుడు RX మరియు TX పిన్లను తొలగించాలని గుర్తుంచుకోండి
దశ 2: - అందుబాటులో ఉన్న పరికరాల్లో HC-05 ఎంచుకోండి మరియు పాస్వర్డ్ను 1234 గా నమోదు చేయండి
దశ 3: - జత చేసిన తర్వాత, బ్లూటూత్ టెర్మినల్ అనువర్తనాన్ని తెరిచి, ఒక పరికరాన్ని కనెక్ట్ చేసి, క్రింద చూపిన విధంగా HC-05 ని ఎంచుకోండి
దశ 4: - HC-05 బ్లూటూత్ మాడ్యూల్తో కనెక్ట్ అయిన తరువాత, టెర్మినల్ 1 లేదా 0 లో విలువలను అందించండి మరియు LED ని ఆపివేయండి. LED ఆన్ లేదా ఆఫ్లో ఉన్న సందేశాన్ని కూడా మీరు అందుకుంటారు.