- భాగాలు అవసరం
- ఆర్డునో లియోనార్డో
- ద్వంద్వ అక్షం XY జాయ్ స్టిక్ మాడ్యూల్
- సర్క్యూట్ రేఖాచిత్రం
- కోడ్ మరియు వర్కింగ్ వివరణ
మేము ఇంతకుముందు జాయ్స్టిక్ను ఆర్డునో యుఎన్ఓతో ఇంటర్ఫేస్ చేసాము, ఇది ఎలా పనిచేస్తుందో అర్థం చేసుకోవడానికి మరియు దాని ఎడమ, కుడి, పైకి మరియు క్రిందికి నాలుగు ఎల్ఇడిలను నియంత్రించింది. ఈ ప్రాజెక్ట్లో ఎడమ, కుడి, పైకి మరియు క్రిందికి కదలికలు అవసరమయ్యే ఏదైనా కంప్యూటర్ ఆటలను ఆడటానికి గేమ్ప్యాడ్ లేదా గేమ్ కంట్రోలర్ వలె అదే జాయ్స్టిక్ను ఉపయోగిస్తాము. ఎక్కువ నియంత్రణ ఎంపికలు అవసరమయ్యే ఆటలను ఆడటానికి, రెండు లేదా అంతకంటే ఎక్కువ జాయ్స్టిక్లను ఉపయోగించవచ్చు. ఇక్కడ మేము జాయ్స్టిక్ను గేమ్ కంట్రోలర్గా ఇంటర్ఫేస్ చేయడానికి ఆర్డునో లియోనార్డోను ఉపయోగిస్తాము. ఆర్డునో లియోనార్డో యునో కంటే ప్రయోజనం కలిగి ఉంది, దానిపై మేము యుఎస్బి డ్రైవర్లను వ్యవస్థాపించగలము మరియు కనెక్ట్ అయినప్పుడు కంప్యూటర్ ద్వారా మౌస్, కీబోర్డ్ లేదా జాయ్ స్టిక్ గా గుర్తించవచ్చు.
భాగాలు అవసరం
- ఆర్డునో లియోనార్డో
- ద్వంద్వ అక్షం XY జాయ్ స్టిక్ మాడ్యూల్
- Arduino IDE
- వైర్లను కనెక్ట్ చేస్తోంది
ఆర్డునో లియోనార్డో
ఈ ప్రాజెక్ట్ కోసం మేము ఆర్డునో లియోనార్డోను ఉపయోగిస్తున్నాము, ఇది ATmega32u4 ఆధారంగా మైక్రోకంట్రోలర్ బోర్డు. దీనికి 20 డిజిటల్ ఇన్పుట్ / అవుట్పుట్ పిన్స్ ఉన్నాయి (వీటిలో 7 పిడబ్ల్యుఎం అవుట్పుట్లుగా మరియు 12 అనలాగ్ ఇన్పుట్లుగా ఉపయోగించవచ్చు), 16 మెగాహెర్ట్జ్ క్రిస్టల్ ఓసిలేటర్, మైక్రో యుఎస్బి కనెక్షన్, పవర్ జాక్, ఐసిఎస్పి హెడర్ మరియు రీసెట్ బటన్ ఉన్నాయి. ఇది మైక్రోకంట్రోలర్కు మద్దతు ఇవ్వడానికి అవసరమైన ప్రతిదాన్ని కలిగి ఉంటుంది; దీన్ని USB కేబుల్ ఉన్న కంప్యూటర్కు కనెక్ట్ చేయండి లేదా ప్రారంభించడానికి AC-to-DC అడాప్టర్ లేదా బ్యాటరీతో శక్తినివ్వండి.
లియోనార్డో అన్ని మునుపటి బోర్డుల నుండి భిన్నంగా ఉంటుంది, దీనిలో ATmega32u4 అంతర్నిర్మిత USB కమ్యూనికేషన్ కలిగి ఉంది, ఇది సెకండరీ ప్రాసెసర్ యొక్క అవసరాన్ని తొలగిస్తుంది. ఇది వర్చువల్ (సిడిసి) సీరియల్ / కామ్ పోర్ట్కు అదనంగా, లియోనార్డో కనెక్ట్ చేయబడిన కంప్యూటర్కు మౌస్ మరియు కీబోర్డ్గా కనిపించడానికి అనుమతిస్తుంది.
సాంకేతిక వివరములు
మైక్రోకంట్రోలర్ | ATmega32u4 |
ఆపరేటింగ్ వోల్టేజ్ | 5 వి |
ఇన్పుట్ వోల్టేజ్ (సిఫార్సు చేయబడింది) | 7-12 వి |
ఇన్పుట్ వోల్టేజ్ (పరిమితులు) | 6-20 వి |
డిజిటల్ I / O పిన్స్ | 20 |
PWM ఛానెల్స్ | 7 |
అనలాగ్ ఇన్పుట్ ఛానెల్లు | 12 |
I / O పిన్కు DC కరెంట్ | 40 ఎంఏ |
3.3 వి పిన్ కోసం DC కరెంట్ | 50 ఎంఏ |
ఫ్లాష్ మెమోరీ | 32 KB (ATmega32u4) వీటిలో 4 KB బూట్లోడర్ ఉపయోగిస్తుంది |
SRAM | 2.5 KB (ATmega32u4) |
EEPROM | 1 KB (ATmega32u4) |
కాల వేగంగా | 16 MHz |
పొడవు | 68.6 మి.మీ. |
వెడల్పు | 53.3 మి.మీ. |
బరువు | 20 గ్రా |
పిన్ అవుట్ రిఫరెన్స్
ద్వంద్వ అక్షం XY జాయ్ స్టిక్ మాడ్యూల్
జాయ్స్టిక్లు వేర్వేరు ఆకారాలు మరియు పరిమాణాలలో లభిస్తాయి. ఒక సాధారణ జాయ్ స్టిక్ మాడ్యూల్ క్రింద ఉన్న చిత్రంలో చూపబడింది. ఈ జాయ్ స్టిక్ మాడ్యూల్ సాధారణంగా అనలాగ్ అవుట్పుట్లను అందిస్తుంది మరియు ఈ మాడ్యూల్ అందించిన అవుట్పుట్ వోల్టేజీలు మనం దానిని కదిలే దిశకు అనుగుణంగా మారుతూ ఉంటాయి. కొన్ని వోల్టేజ్ మార్పులను కొన్ని మైక్రోకంట్రోలర్ ఉపయోగించి అర్థం చేసుకోవడం ద్వారా మనం కదలిక దిశను పొందవచ్చు. ఇంతకుముందు మేము వేర్వేరు మైక్రోకంట్రోలర్లతో జాయ్ స్టిక్ను ఇంటర్ఫేస్ చేసాము:
- ఆర్డునోతో జాయ్ స్టిక్ ఇంటర్ఫేసింగ్
- రాస్ప్బెర్రీ పైతో జాయ్ స్టిక్ ఇంటర్ఫేసింగ్
- పిఐసి మైక్రోకంట్రోలర్తో ఇంటర్ఫేసింగ్ జాయ్స్టిక్
- AVR మైక్రోకంట్రోలర్తో జాయ్ స్టిక్ ఇంటర్ఫేసింగ్
ఈ జాయ్ స్టిక్ మాడ్యూల్ మీరు చూడగలిగినట్లుగా రెండు గొడ్డలిని కలిగి ఉంది. అవి X- అక్షం మరియు Y- అక్షం. JOY STICK యొక్క ప్రతి అక్షం ఒక పొటెన్షియోమీటర్ లేదా కుండకు అమర్చబడుతుంది. ఈ కుండల మధ్య బిందువులు Rx మరియు Ry గా నడపబడతాయి. కాబట్టి Rx మరియు Ry ఈ కుండలకు వేరియబుల్ పాయింట్లు. జాయ్ స్టిక్ స్టాండ్బైలో ఉన్నప్పుడు, Rx మరియు Ry వోల్టేజ్ డివైడర్గా పనిచేస్తాయి.
జాయ్ స్టిక్ క్షితిజ సమాంతర అక్షం వెంట కదిలినప్పుడు, Rx పిన్ వద్ద వోల్టేజ్ మారుతుంది. అదేవిధంగా, ఇది నిలువు అక్షం వెంట కదిలినప్పుడు, Ry పిన్ వద్ద వోల్టేజ్ మారుతుంది. కాబట్టి రెండు ADC అవుట్పుట్లలో మాకు జాయ్స్టిక్ యొక్క నాలుగు దిశలు ఉన్నాయి. కర్ర కదిలినప్పుడు, ప్రతి పిన్లోని వోల్టేజ్ దిశను బట్టి ఎక్కువ లేదా తక్కువగా ఉంటుంది.
సర్క్యూట్ రేఖాచిత్రం
ఈ ఆర్డునో జాయ్ స్టిక్ గేమ్ కంట్రోలర్కు ఈ క్రింది విధంగా ఆర్డునో మరియు జాయ్ స్టిక్ మధ్య కనెక్షన్లు అవసరం:
కోడ్ మరియు వర్కింగ్ వివరణ
డెమో వీడియోతో పూర్తి కోడ్ చివరిలో ఇవ్వబడుతుంది; ఇక్కడ మేము దానిలోని కొన్ని ముఖ్యమైన భాగాన్ని వివరిస్తున్నాము.
మొదట, మేము కీబోర్డ్ లైబ్రరీని ప్రారంభించాలి
# చేర్చండి
దిగువ కోడ్లో తరువాత, మేము వరుసగా అనలాగ్ పిన్ A0 మరియు A1 కోసం జాయ్ స్టిక్ మాడ్యూల్ యొక్క X మరియు Y అక్షాలను ప్రారంభించాము.
const int X_pin మరియు const int Y_pin
VRX పిన్ యొక్క అనలాగ్ విలువ చదవబడుతుంది మరియు విలువ 1023 అయితే "అప్" కొరకు కమాండ్ ఇవ్వబడుతుంది మరియు విలువ 0 అయితే "డౌన్" కొరకు కమాండ్ ఇవ్వబడుతుంది.
అదేవిధంగా, VRY పిన్ యొక్క అనలాగ్ విలువ చదవబడుతుంది మరియు విలువ 1023 అయితే “కుడి” కొరకు ఆదేశం ఇవ్వబడుతుంది మరియు విలువ 0 అయితే “ఎడమ” కొరకు ఆదేశం ఇవ్వబడుతుంది.
జాయ్ స్టిక్ పైన ఒక పుష్ బటన్ కూడా ఉంది కాబట్టి ఈ బటన్ (SW) కూడా చదవబడుతుంది మరియు బటన్ నొక్కితే విలువ 0 అవుతుంది, అప్పుడు “enter” కొరకు కమాండ్ ఇవ్వబడుతుంది.
చివరగా కోడ్ను ఆర్డునోలో బర్న్ చేసి, ఆర్డునోను కంప్యూటర్తో కనెక్ట్ చేయండి.
తరువాత మీ నియంత్రణ ప్యానెల్లోని ' పరికరాలు మరియు ప్రింటర్లు' తనిఖీ చేయండి, దిగువ చిత్రంలో చూపిన విధంగా మీరు పరికరాల విభాగం కింద “ ఆర్డునో లియోనార్డో” ని చూడగలరు. ఇప్పుడు మీరు జాయ్ స్టిక్ తో ఆడటానికి సిద్ధంగా ఉన్నారు.
ఈ జాయ్స్టిక్ను ఉపయోగించి ఏదైనా ఆట నియంత్రణలను మేము నియంత్రించవచ్చు. జాయ్ స్టిక్ లోపల రెండు పొటెన్షియోమీటర్లు ఉన్నాయి, ఒకటి ఎక్స్-యాక్సిస్ కదలిక కోసం మరియు మరొకటి వై-యాక్సిస్ కదలిక కోసం. ప్రతి పొటెన్షియోమీటర్ Arduino నుండి 5v పొందుతుంది. కాబట్టి మేము జాయ్స్టిక్ను తరలించినప్పుడు, వోల్టేజ్ విలువ మారుతుంది మరియు అనలాగ్ పిన్స్ A0 మరియు A1 వద్ద అనలాగ్ విలువ కూడా మారుతుంది. కాబట్టి జాయ్ స్టిక్ గేమ్ప్యాడ్గా పనిచేస్తుంది.
కాబట్టి ఆర్డునో లియోనార్డోను ఉపయోగించి సాధారణ జాయ్స్టిక్ను గేమ్ కంట్రోలర్గా మార్చవచ్చు మరియు ఎడమ, కుడి, పైకి మరియు క్రిందికి తరలించడానికి అన్ని నియంత్రణలు ఉన్న ఆటలను ఆడటానికి ఉపయోగించవచ్చు. ఈ ప్రాథమిక నాలుగు ఫంక్షన్ల కంటే ఎక్కువ నియంత్రణలను పొందడానికి ఒకటి కంటే ఎక్కువ జాయ్స్టిక్లను ఇంటర్ఫేస్ చేయవచ్చు.