- మెటీరియల్ అవసరం
- సర్క్యూట్ రేఖాచిత్రం
- జాయ్ స్టిక్ మాడ్యూల్
- కోడ్ మరియు వివరణ
- Arduino తో జాయ్ స్టిక్ ఉపయోగించి LED లను నియంత్రించడం
జాయ్ స్టిక్ అనే పదాన్ని వినడం మన మనస్సులో మొదటి విషయం గేమ్ కంట్రోలర్. అవును, ఇది సరిగ్గా అదే మరియు గేమింగ్ ప్రయోజనం కోసం ఉపయోగించవచ్చు. గేమింగ్ కాకుండా, ఇది DIY ఎలక్ట్రానిక్స్లో అనేక ఇతర అనువర్తనాలను కలిగి ఉంది. ఈ జాయ్ స్టిక్ వరుసగా X మరియు Y విమానం కోసం రెండు పొటెన్షియోమీటర్ల కలయిక తప్ప మరొకటి కాదు. ఇది పొటెన్షియోమీటర్ ద్వారా వోల్టేజ్ను చదువుతుంది మరియు ఆర్డునోకు అనలాగ్ విలువను ఇస్తుంది మరియు మేము జాయ్ స్టిక్ షాఫ్ట్ (ఇది కేవలం పొటెన్షియోమీటర్ పాయింటర్) కదిలేటప్పుడు అనలాగ్ విలువ మారుతుంది.
ఈ సర్క్యూట్లో, జాయ్ స్టిక్ యొక్క కదలిక ప్రకారం నాలుగు LED లను నియంత్రించడం ద్వారా మేము Arduino తో జాయ్ స్టిక్ ను ఇంటర్ఫేస్ చేస్తున్నాము. జాయ్ స్టిక్ షాఫ్ట్ కదలిక దిశను సూచించే విధంగా మేము 4 LED లను ఉంచాము. ఈ జాయ్స్టిక్లో పుష్ బటన్ కూడా ఉంది, దీనిని వివిధ ఇతర ప్రయోజనాల కోసం ఉపయోగించవచ్చు లేదా పనిలేకుండా ఉంచవచ్చు. జాయ్ స్టిక్ యొక్క స్విచ్కు సింగిల్ ఎల్ఇడి కూడా జతచేయబడుతుంది, ఎందుకంటే జాయ్ స్టిక్ బటన్ నొక్కితే సింగిల్ ఎల్ఇడి ఆన్ అవుతుంది.
మెటీరియల్ అవసరం
- ఆర్డునో UNO
- జాయ్ స్టిక్ మాడ్యూల్
- LED లు -5
- రెసిస్టర్: 100ohm-3
- వైర్లను కనెక్ట్ చేస్తోంది
- బ్రెడ్బోర్డ్
సర్క్యూట్ రేఖాచిత్రం
జాయ్ స్టిక్ మాడ్యూల్
జాయ్స్టిక్లు వేర్వేరు ఆకారాలు మరియు పరిమాణాలలో లభిస్తాయి. ఒక సాధారణ జాయ్ స్టిక్ మాడ్యూల్ క్రింద ఉన్న చిత్రంలో చూపబడింది. ఈ జాయ్ స్టిక్ మాడ్యూల్ సాధారణంగా అనలాగ్ అవుట్పుట్లను అందిస్తుంది మరియు ఈ మాడ్యూల్ అందించిన అవుట్పుట్ వోల్టేజీలు మనం దానిని కదిలే దిశకు అనుగుణంగా మారుతూ ఉంటాయి. కొన్ని వోల్టేజ్ మార్పులను కొన్ని మైక్రోకంట్రోలర్ ఉపయోగించి అర్థం చేసుకోవడం ద్వారా మనం కదలిక దిశను పొందవచ్చు. ఇంతకుముందు మేము జాయ్స్టిక్ను AVR మరియు రాస్ప్బెర్రీ పైతో కలిపాము.
ఈ జాయ్ స్టిక్ మాడ్యూల్ మీరు చూడగలిగినట్లుగా రెండు గొడ్డలిని కలిగి ఉంది. అవి X- అక్షం మరియు Y- అక్షం. JOYSTICK యొక్క ప్రతి అక్షం ఒక పొటెన్షియోమీటర్ లేదా కుండకు అమర్చబడుతుంది. ఈ కుండల మధ్య బిందువులు Rx మరియు Ry గా నడపబడతాయి. కాబట్టి Rx మరియు Ry ఈ కుండలకు వేరియబుల్ పాయింట్లు. జాయ్ స్టిక్ స్టాండ్బైలో ఉన్నప్పుడు, Rx మరియు Ry వోల్టేజ్ డివైడర్గా పనిచేస్తాయి.
జాయ్ స్టిక్ క్షితిజ సమాంతర అక్షం వెంట కదిలినప్పుడు, Rx పిన్ వద్ద వోల్టేజ్ మారుతుంది. అదేవిధంగా, ఇది నిలువు అక్షం వెంట కదిలినప్పుడు, Ry పిన్ వద్ద వోల్టేజ్ మారుతుంది. కాబట్టి మేము నాలుగు రెండు ADC ప్రతిఫలాన్ని న జాయ్స్టిక్ ఆదేశాల. కర్ర కదిలినప్పుడు, ప్రతి పిన్లోని వోల్టేజ్ దిశను బట్టి ఎక్కువ లేదా తక్కువగా ఉంటుంది.
ఇక్కడ, మేము ఈ జాయ్ స్టిక్ మాడ్యూల్ను ఆర్డునో యుఎన్ఓతో కనెక్ట్ చేస్తున్నాము, ఇది చివరిలో వీడియోలో చూపిన విధంగా ఇన్బిల్ట్ ఎడిసి (అనలాగ్ టు డిజిటల్ కన్వర్టర్) మెకానిజంతో వస్తుంది. Arduino యొక్క ADC ని ఉపయోగించడం గురించి ఇక్కడ మరింత తెలుసుకోండి.
కోడ్ మరియు వివరణ
పూర్తి ఆర్డునో కోడ్ చివరిలో ప్రస్తావించబడింది.
దిగువ కోడ్లో, మేము వరుసగా అనలాగ్ పిన్ A0 మరియు A1 కోసం జాయ్ స్టిక్ మాడ్యూల్ యొక్క X మరియు Y అక్షాలను నిర్వచించాము.
# joyX A0 ని నిర్వచించండి # ఆనందం Y1 ని నిర్వచించండి
ఇప్పుడు, ఈ క్రింది కోడ్లో, మేము జాయ్ స్టిక్ మాడ్యూల్ యొక్క స్విచ్ (పుష్ బటన్) కోసం ఆర్డునో యొక్క పిన్ 2 ను ప్రారంభిస్తున్నాము మరియు బటన్స్టేట్ మరియు బటన్స్టేట్ 1 విలువ ప్రారంభంలో 0 గా ఉంటుంది.
పూర్ణాంక బటన్ = 2; పూర్ణాంక బటన్ స్టేట్ = 0; పూర్ణాంక బటన్ స్టేట్ 1 = 0;
దిగువ కోడ్లో, మేము బాడ్ రేటును 9600 కు సెటప్ చేస్తున్నాము మరియు పిన్ 7 ను అవుట్పుట్ పిన్గా మరియు బటన్ పిన్ను ఇన్పుట్ పిన్గా నిర్వచించాము. ప్రారంభంలో, స్విచ్ నొక్కే వరకు బటన్ పిన్ ఎక్కువగా ఉంటుంది.
శూన్య సెటప్ () {పిన్మోడ్ (7, OUTPUT); పిన్మోడ్ (బటన్, ఇన్పుట్); డిజిటల్ రైట్ (బటన్, హై); సీరియల్.బెగిన్ (9600); }
ఇక్కడ, ఈ కోడ్లో మనం అనలాగ్ పిన్ A0 మరియు A1 నుండి విలువలను చదువుతున్నాము మరియు సీరియల్గా ప్రింటింగ్ చేస్తున్నాము.
int xValue = అనలాగ్ రీడ్ (జాయ్ఎక్స్); int yValue = అనలాగ్ రీడ్ (joyY); సీరియల్.ప్రింట్ (xValue); సీరియల్.ప్రింట్ ("\ t"); సీరియల్.ప్రింట్ల్న్ (yValue);
జాయ్ స్టిక్ షాఫ్ట్ యొక్క కదలిక ప్రకారం LED ని ఆన్ మరియు ఆఫ్ చేయడానికి షరతులు క్రింది కోడ్లో నిర్వచించబడ్డాయి. ఇక్కడ మనం ఆర్డునో యొక్క పిన్ A0 మరియు A1 వద్ద వోల్టేజ్ యొక్క అనలాగ్ విలువలను తీసుకుంటున్నాము. మేము జాయ్ స్టిక్ కదిలేటప్పుడు ఈ అనలాగ్ విలువలు మారుతాయి మరియు జాయ్ స్టిక్ యొక్క కదలిక ప్రకారం LED ప్రకాశిస్తుంది.
ఈ పరిస్థితి -Y అక్షం దిశలో జాయ్ స్టిక్ షాఫ్ట్ యొక్క కదలిక కోసం
if (xValue> = 0 && yValue <= 10) {DigitalWrite (10, HIGH); } else {డిజిటల్ రైట్ (10, తక్కువ);}
ఈ పరిస్థితి -X అక్షం దిశలో జాయ్ స్టిక్ షాఫ్ట్ యొక్క కదలిక కోసం
if (xValue <= 10 && yValue> = 500) {DigitalWrite (11, HIGH); } else {డిజిటల్ రైట్ (11, తక్కువ);}
ఈ పరిస్థితి + X అక్షం దిశలో జాయ్ స్టిక్ షాఫ్ట్ యొక్క కదలిక కోసం
if (xValue> = 1020 && yValue> = 500) {DigitalWrite (9, HIGH); } else {డిజిటల్ రైట్ (9, తక్కువ);}
ఈ పరిస్థితి + Y అక్షం దిశలో జాయ్ స్టిక్ షాఫ్ట్ యొక్క కదలిక కోసం
if (xValue> = 500 && yValue> = 1020) {DigitalWrite (8, HIGH); } else {డిజిటల్ రైట్ (8, తక్కువ);}
మేము జాయ్ స్టిక్ షాఫ్ట్ను వికర్ణంగా కదిలినప్పుడు, X మరియు Y యొక్క అనలాగ్ విలువ వరుసగా 1023 మరియు 1023 అయినప్పుడు ఒక స్థానం వస్తుంది, పిన్ 9 మరియు పిన్ 8 LED రెండూ మెరుస్తాయి. ఎందుకంటే ఇది ఎల్ఈడీ పరిస్థితిని సంతృప్తిపరుస్తుంది. కాబట్టి, ఆ అసమతుల్యతను తొలగించడానికి (X, Y) విలువ (1023, 1023) ఉంటే, LED రెండూ ఆఫ్ స్థితిలో ఉంటాయి
if (xValue> = 1020 && yValue> = 1020) {DigitalWrite (9, LOW); డిజిటల్ రైట్ (8, తక్కువ); }
పుష్బటన్ స్విచ్కు అనుసంధానించబడిన LED ని ఆపరేట్ చేయడానికి క్రింది షరతు ఉపయోగించబడుతుంది. మేము జాయ్ స్టిక్ స్విచ్ నొక్కినప్పుడు LED ఆన్ చేసి బటన్ విడుదల అయ్యే వరకు గొళ్ళెం వేస్తుంది. జాయ్ స్టిక్ మాడ్యూల్లో పుష్ బటన్ స్విచ్ను ఉపయోగించడం దీని ఐచ్ఛికం.
if (buttonState == LOW) {Serial.println ("Switch = High"); డిజిటల్ రైట్ (7, హై); } else {డిజిటల్ రైట్ (7, తక్కువ);}
Arduino తో జాయ్ స్టిక్ ఉపయోగించి LED లను నియంత్రించడం
ఆర్డునోకు కోడ్ను అప్లోడ్ చేసిన తరువాత మరియు సర్క్యూట్ రేఖాచిత్రం ప్రకారం భాగాలను కనెక్ట్ చేసిన తరువాత, మనం ఇప్పుడు జాయ్స్టిక్తో LED లను నియంత్రించవచ్చు. జాయ్ స్టిక్ షాఫ్ట్ కదలిక ప్రకారం మేము ప్రతి దిశలో నాలుగు LED లను ఆన్ చేయవచ్చు. జాయ్ స్టిక్ దాని లోపల రెండు పొటెన్షియోమీటర్ కలిగి ఉంది, ఒకటి ఎక్స్-యాక్సిస్ కదలిక కోసం మరియు మరొకటి వై-యాక్సిస్ కదలిక కోసం. ప్రతి పొటెన్షియోమీటర్ Arduino నుండి 5v పొందుతోంది. కాబట్టి మేము జాయ్స్టిక్ను తరలించినప్పుడు, వోల్టేజ్ విలువ మారుతుంది మరియు అనలాగ్ పిన్స్ A0 మరియు A1 వద్ద అనలాగ్ విలువ కూడా మారుతుంది.
కాబట్టి, ఆర్డునో నుండి, మేము X మరియు Y అక్షం కోసం అనలాగ్ విలువను చదువుతున్నాము మరియు జాయ్ స్టిక్ యొక్క అక్షం కదలిక ప్రకారం LED లను ఆన్ చేస్తున్నాము. దిగువ వీడియోలో చూపిన విధంగా సర్క్యూట్లోని సింగిల్ ఎల్ఇడిని నియంత్రించడానికి జాయ్ స్టిక్ మాడ్యూల్పై పుష్ బటన్ స్విచ్ ఉపయోగించబడుతుంది.