- మెటీరియల్ అవసరం
- HC-06 బ్లూటూత్ మాడ్యూల్
- సర్క్యూట్ రేఖాచిత్రం
- సర్వోను నియంత్రించడానికి రోబోరెమో అనువర్తనాన్ని కాన్ఫిగర్ చేస్తోంది:
- కోడ్ మరియు వివరణ
- బ్లూటూత్ ఉపయోగించి సర్వో మోటార్ కంట్రోల్ యొక్క పని:
ఖచ్చితమైన నియంత్రణ కోసం రోబోటిక్స్లో సర్వో మోటారును ఉపయోగించడం సాధారణం. ఇక్కడ, ఈ ట్యుటోరియల్లో ఆర్డ్యునో యుఎన్ఓ మరియు బ్లూటూత్ కనెక్షన్ ద్వారా ఆండ్రాయిడ్ పరికరంతో వైర్లెస్ లేకుండా సర్వో మోటారును ఎలా ఉపయోగించాలో మీకు చూపించబోతున్నాం. మేము ఇప్పటికే ఆర్డునోతో సర్వోను నియంత్రించాము, ఈసారి మేము ఆర్డునో మరియు బ్లూటూత్ ఉపయోగించి సర్వో మోటార్ను నియంత్రిస్తున్నాము.
మెటీరియల్ అవసరం
- ఆర్డునో UNO
- HC-05 లేదా HC-06 బ్లూటూత్ మాడ్యూల్
- సర్వో మోటార్
- ప్లేస్టోర్ నుండి రోబోరెమో అనువర్తనం
- బ్రెడ్బోర్డ్
- వైర్ కనెక్ట్
HC-06 బ్లూటూత్ మాడ్యూల్
బ్లూటూత్ క్రింది రెండు మోడ్లలో పనిచేయగలదు:
- కమాండ్ మోడ్
- ఉపయోగించు విధానం
లో కమాండ్ మోడ్ మనం Bluetooth సిగ్నల్ యొక్క పేరు వలె Bluetooth లక్షణాలు ఆకృతీకరించుటకు చెయ్యగలరు, దాని పాస్వర్డ్, ఆపరేటింగ్ బాడ్ రేటు మొదలైనవి ది ఆపరేటింగ్ మోడ్ మేము పంపండి చేయగలరు మరియు PIC సూక్ష్మ మధ్య డేటా అందుకుంటారు దీనిలో ఒకటి మరియు బ్లూటూత్ మాడ్యూల్. అందువల్ల ఈ ట్యుటోరియల్లో మేము ఆపరేటింగ్ మోడ్తో మాత్రమే ఆడుకుంటున్నాము. కమాండ్ మోడ్ డిఫాల్ట్ సెట్టింగులకు వదిలివేయబడుతుంది. పరికర పేరు HC-05 (నేను HC-06 ఉపయోగిస్తున్నాను) మరియు పాస్వర్డ్ 0000 లేదా 1234 అవుతుంది మరియు ముఖ్యంగా అన్ని బ్లూటూత్ మాడ్యూళ్ళకు డిఫాల్ట్ బాడ్ రేటు 9600 అవుతుంది.
మాడ్యూల్ 5 వి సరఫరాలో పనిచేస్తుంది మరియు సిగ్నల్ పిన్స్ 3.3 విలో పనిచేస్తాయి, అందువల్ల 3.3 వి రెగ్యులేటర్ మాడ్యూల్లోనే ఉంటుంది. అందువల్ల మనం దాని గురించి ఆందోళన చెందాల్సిన అవసరం లేదు. ఆరు పిన్స్లో నాలుగు మాత్రమే ఆపరేటింగ్ మోడ్లో ఉపయోగించబడతాయి. పిన్ కనెక్షన్ పట్టిక క్రింద చూపబడింది
ఎస్ | HC-05 / HC-06 పై పిన్ చేయండి | MCU లో పిన్ పేరు | పిఐసిలో పిన్ నంబర్ |
1 | విసిసి | Vdd | 31 స్టంప్ పిన్ |
2 | విసిసి | Gnd | 32 వ పిన్ |
3 | Tx | RC6 / Tx / CK | 25 వ పిన్ |
4 | Rx | RC7 / Rx / DT | 26 వ పిన్ |
5 | రాష్ట్రం | NC | NC |
6 | EN (ప్రారంభించు) | NC | NC |
ఇతర మైక్రోకంట్రోలర్లతో బ్లూటూత్ మాడ్యూల్ HC-05 గురించి మరింత తెలుసుకోవడానికి మా ఇతర ప్రాజెక్టులను తనిఖీ చేయండి:
- ఆర్డునో ఉపయోగించి బ్లూటూత్ కంట్రోల్డ్ టాయ్ కార్
- 8051 ఉపయోగించి బ్లూటూత్ కంట్రోల్డ్ హోమ్ ఆటోమేషన్ సిస్టమ్
- రాస్ప్బెర్రీ పై ఉపయోగించి వాయిస్ కంట్రోల్డ్ లైట్స్
- ఆర్డునో మరియు ప్రాసెసింగ్ ఉపయోగించి స్మార్ట్ ఫోన్ కంట్రోల్డ్ ఎఫ్ఎమ్ రేడియో
- పిఐసి మైక్రోకంట్రోలర్తో బ్లూటూత్ మాడ్యూల్ హెచ్సి -06 ఇంటర్ఫేసింగ్
బ్లూటూత్ సంబంధిత ప్రాజెక్టులన్నింటినీ ఇక్కడ తనిఖీ చేయండి.
సర్క్యూట్ రేఖాచిత్రం
ఈ ఆర్డునో బ్లూటూత్ సర్వో మోటార్ కంట్రోల్ ప్రాజెక్ట్ కోసం సర్క్యూట్ రేఖాచిత్రం క్రింద ఇవ్వబడింది:
సర్వోను నియంత్రించడానికి రోబోరెమో అనువర్తనాన్ని కాన్ఫిగర్ చేస్తోంది:
దశ 1: - ఆండ్రాయిడ్ ప్లే స్టోర్ నుండి రోబోరెమో అనువర్తనాన్ని డౌన్లోడ్ చేసి, దాన్ని మీ స్మార్ట్ఫోన్లో ఇన్స్టాల్ చేయండి. దీన్ని ఇన్స్టాల్ చేసిన తర్వాత మీరు ఫిగర్ 1 లో చూపిన విధంగా అనువర్తన విండోను చూస్తారు మరియు 'మెనూ' బటన్పై క్లిక్ చేయడం ద్వారా మీరు క్రింద ఉన్న ఫిగర్ 2 లో చూపిన విండోను చూస్తారు:
దశ 2: - ఆపై కనెక్ట్ బటన్ పై క్లిక్ చేయండి మరియు క్రింద ఉన్న ఫిగర్ 3 లో చూపిన విండోను మీరు చూస్తారు, అప్పుడు మీరు ' బ్లూటూత్ RFCOMM' ను ఎంచుకోవాలి, ఆపై మీరు మీ HC-06 బ్లూటూత్ మాడ్యూల్ను మీ Android అనువర్తనం 'రోబోరెమో'తో కనెక్ట్ చేయగలుగుతారు.
దశ 3: - HC-06 బ్లూటూత్ మాడ్యూల్కు కనెక్ట్ అయిన తరువాత ఫిగర్ 2 విండోకు తిరిగి వచ్చి, ఆపై మీ అవసరానికి అనుగుణంగా యూజర్ ఇంటర్ఫేస్ను సృష్టించడానికి ' ఎడిట్ యుఐ ' పై క్లిక్ చేయండి.
' Edit ui' పై క్లిక్ చేసినప్పుడు మీరు మళ్ళీ ఫిగర్ 1 లో చూపిన విండోను చూస్తారు, ఆపై స్క్రీన్పై ఎక్కడైనా క్లిక్ చేస్తే మీకు ఫిగర్ 4 వంటి యాప్ విండో కనిపిస్తుంది మరియు బటన్ స్ట్రక్చర్ పొందడానికి ' బటన్ ' ఎంచుకోండి.
దశ 4: - బటన్ను ఎంచుకున్న తర్వాత మీరు సవరించడానికి తెరపై బటన్ నిర్మాణాన్ని పొందుతారు. మీరు స్క్రీన్పై ఎక్కడైనా పరిమాణాన్ని మార్చవచ్చు మరియు నిర్మాణాన్ని తరలించవచ్చు. ఇప్పుడు, బ్లూటూత్ ద్వారా క్లిక్ ద్వారా పంపవలసిన విలువను సెట్ చేయడానికి మీరు 'ప్రెస్ యాక్షన్ సెట్' చేసారు (ఫిగర్ 6 లో చూపిన విధంగా) మరియు మీరు నిర్దిష్ట బటన్ నుండి పంపించదలిచిన విలువను టైప్ చేయండి. ఇలా, రోబోరెమో ఆండ్రాయిడ్ అప్లికేషన్లోని 'స్టార్ట్' బటన్ను నొక్కడం ద్వారా సర్వోను తిప్పడానికి '1' పంపుతున్నాము.
మీరు తరువాత ఇచ్చిన విభాగంలో, వేర్వేరు బటన్లపై క్లిక్ చేయడం ద్వారా పంపబడే అన్ని విలువలను తనిఖీ చేయవచ్చు.
దశ 5: - చివరగా స్మార్ట్ఫోన్ను ఉపయోగించి సర్వో మోటారును నియంత్రించడానికి యూజర్ ఇంటర్ఫేస్ ఉంది.
కోడ్ మరియు వివరణ
ఆర్డునో కంట్రోల్ సర్వో మోటార్ వయా బ్లూటూత్ కోసం పూర్తి కోడ్ చివరిలో ఇవ్వబడింది.
ఆర్డునోకు సర్వో మోటార్స్ కోసం లైబ్రరీ ఉంది మరియు ఇది సర్వోను తిప్పడానికి అన్ని పిడబ్ల్యుఎం సంబంధిత విషయాలను నిర్వహిస్తుంది, మీరు తిప్పాలనుకుంటున్న కోణాన్ని నమోదు చేయాలి మరియు ఫంక్షన్ సర్వో 1.రైట్ (కోణం) ఉంది; ఇది సర్వోను కావలసిన కోణానికి తిరుగుతుంది.
కాబట్టి ఇక్కడ మేము సర్వో మోటార్ కోసం లైబ్రరీని నిర్వచించడం ద్వారా ప్రారంభిస్తున్నాము మరియు Rx మరియు Tx పిన్ను నిర్వచించడానికి సాఫ్ట్వేర్ సీరియల్ లైబ్రరీ ఉపయోగించబడుతుంది.
# చేర్చండి
దిగువ కోడ్లో, మేము Rx మరియు Tx కోసం Arduino పిన్లను ప్రారంభిస్తున్నాము, సర్వో మరియు ఇతర విషయాల కోసం వేరియబుల్స్ నిర్వచించాము .
సర్వో మైసర్వో; int TxD = 11; int RxD = 10; పూర్ణాంక సేవ; int సర్వోపోస్; int new1; సాఫ్ట్వేర్ సీరియల్ బ్లూటూత్ (TxD, RxD);
ఇప్పుడు, అన్ని వేరియబుల్ మరియు భాగాలను ప్రారంభ దశకు సెటప్ చేయండి. ఇక్కడ మేము ఆర్డునో యొక్క 9 వ పిన్ వద్ద సర్వోను అటాచ్ చేసాము మరియు సర్వో యొక్క ప్రారంభ స్థానాన్ని 0 డిగ్రీకి చేసాము. సీరియల్ మరియు బ్లూటూత్ కమ్యూనికేషన్ కోసం బాడ్ రేటును 9600 కు నిర్ణయించారు.
శూన్య సెటప్ () { int pos = 0; myServo.attach (9); myServo.write (0); సీరియల్.బెగిన్ (9600); // 9600bps bluetooth.begin (9600) వద్ద సీరియల్ కమ్యూనికేషన్ను ప్రారంభించండి ; }
లో గర్జన లూప్ ఫంక్షన్, Arduino సమయం వచ్చే విలువలు తనిఖీ మరియు స్మార్ట్ ఫోన్ నుండి అందుకున్న విలువ ప్రకారం సర్వో తిరుగుతాయి. అన్ని విలువలు సీరియల్ కమ్యూనికేషన్ ఉపయోగించి స్వీకరించబడతాయి.
విలువ 0 అయితే సర్వో 0 డిగ్రీకి తిరుగుతుంది. అదేవిధంగా మేము బ్లూటూత్ అప్లికేషన్ నుండి 45, 90, 135 మరియు 180 లను పంపితే, సర్వో వరుసగా 45, 90, 135 మరియు 180 డిగ్రీల కోణానికి తిరుగుతుంది.
void loop () { if (bluetooth.available ()) { స్ట్రింగ్ విలువ = బ్లూటూత్.రెడ్ స్ట్రింగ్ (); servoposition = value.toInt (); if (value.toInt () == 0) { Serial.println (servoposition); myServo.write (0); } if (value.toInt () == 45) { Serial.println (servoposition); myServo.write (45); } if (value.toInt () == 90) { Serial.println (servoposition); myServo.write (90); } if (value.toInt () == 135) { Serial.println (servoposition); myServo.write (135); } if (value.toInt () == 180) { Serial.println (servoposition); myServo.write (180); }
ప్రారంభ బటన్ను నొక్కడం ద్వారా మనం '1' విలువను పంపితే, స్టాప్ బటన్ను నొక్కే వరకు సర్వో నిరంతరం తిరుగుతుంది. ఇక్కడ మేము నొక్కడం పంపుతున్నారు '2' స్టాప్ Arduino చదవగలిగిన బటన్, మరియు అది విచ్ఛిన్నం చేస్తుంది , అయితే లూప్ మరియు సర్వో నిలిపివేయబడుతుంది.
అయితే (value.toInt () == 1) {if (bluetooth.available ()) {value = bluetooth.readString (); సీరియల్.ప్రింట్ల్న్ (విలువ); if (value.toInt () == 2) {Serial.println ("YYY"); విచ్ఛిన్నం; }} సర్వోపోస్ ++; ఆలస్యం (30); సీరియల్.ప్రింట్ల్న్ (సర్వోపోస్); myServo.write (సర్వోపోస్); if (servopos == 180) {servopos = 0; విచ్ఛిన్నం;}}}}
బ్లూటూత్ ఉపయోగించి సర్వో మోటార్ కంట్రోల్ యొక్క పని:
ఈ ప్రాజెక్ట్లో, మేము “రోబోరెమో” అనే Android అనువర్తనాన్ని ఉపయోగించి సర్వో మోటార్ను నియంత్రిస్తున్నాము. ఈ అనువర్తనం యొక్క ఇంటర్ఫేస్లో, ముందు వివరించిన విధంగా సర్వో మోటారును నియంత్రించడానికి మేము 5 బటన్లను సృష్టించాము. ప్రతి బటన్ యొక్క పని క్రింది పట్టికలో ఇవ్వబడింది:
ఎస్. |
బటన్ పేరు |
విలువను పంపుతోంది |
వివరణ |
1. |
ప్రారంభించండి |
1 |
సర్వోను 0⁰ నుండి 180⁰ వరకు తిప్పడం ప్రారంభించడానికి ఈ బటన్ ఉపయోగించబడుతుంది. |
2. |
ఆపు |
2 |
ఏ సమయంలోనైనా సర్వోను ఆపడానికి ఈ బటన్ ఉపయోగించబడుతుంది. |
3. |
0⁰ |
0 |
సర్వోను 0⁰ కు తిప్పడానికి ఈ బటన్ ఉపయోగించబడుతుంది. |
4. |
90⁰ |
90 |
సర్వోను 90⁰ కు తిప్పడానికి ఈ బటన్ ఉపయోగించబడుతుంది. |
5. |
180⁰ |
180 |
సర్వోను 180⁰ కు తిప్పడానికి ఈ బటన్ ఉపయోగించబడుతుంది. |
కాబట్టి, మీ Android అనువర్తనం రోబోరెమోలోని ఈ బటన్లను నొక్కడం ద్వారా, డేటా స్మార్ట్ఫోన్ యొక్క బ్లూటూత్ ద్వారా HC-06 బ్లూటూత్ మాడ్యూల్కు పంపబడుతుంది. ఆ HC-06 మాడ్యూల్ డేటాను Arduino అందుకుంటుంది మరియు Arduino నిర్దిష్ట బటన్ కోసం కోడ్లో నిర్వచించిన కోణంలో సర్వోను తిరుగుతుంది. మేము కోణం 45 మరియు 135 లకు కూడా కోడ్ చేసాము, కానీ రోబోరెమో అనువర్తనం యొక్క పరిమితి కారణంగా, మీరు 5 బటన్లను మాత్రమే సృష్టించగలరు, కాబట్టి మేము రెండు బటన్లను దాటవేసాము.
కాబట్టి మీరు సర్వోను వైర్లెస్గా నియంత్రించడానికి స్మార్ట్ఫోన్ నుండి డేటాను బ్లూటూత్ ఉపయోగించి ఆర్డునోకు పంపవచ్చు. టాయ్ కార్లు, రోబోట్లు మొదలైన అనేక అనువర్తనాల్లో దీనిని ఉపయోగించవచ్చు.