ఈ సెషన్లో మేము రాస్ప్బెర్రీ పైతో ఇంటర్ఫేస్ ఎ జాయ్స్టిక్కి వెళ్తున్నాం. జాయ్ స్టిక్ ప్రధానంగా వివిధ ఆటలను ఆడటానికి ఉపయోగిస్తారు. యుఎస్బి రకం జాయ్స్టిక్లను కనెక్ట్ చేయడం సులభం అయినప్పటికీ, ఈ రోజు మనం రాస్ప్బెర్రీ పై జిపిఐఓ పిన్ల ద్వారా జాయ్స్టిక్ను కనెక్ట్ చేయబోతున్నాం, ఇది చాలా సందర్భాలలో ఉపయోగపడుతుంది.
రాస్ప్బెర్రీ పై మరియు జాయ్ స్టిక్ మాడ్యూల్:
జాయ్స్టిక్లు వేర్వేరు ఆకారాలు మరియు పరిమాణాలలో లభిస్తాయి. ఒక సాధారణ జాయ్ స్టిక్ మాడ్యూల్ క్రింద ఉన్న చిత్రంలో చూపబడింది. ఈ జాయ్ స్టిక్ మాడ్యూల్ సాధారణంగా అనలాగ్ అవుట్పుట్లను అందిస్తుంది మరియు ఈ మాడ్యూల్ అందించిన అవుట్పుట్ వోల్టేజీలు మనం దానిని కదిలే దిశకు అనుగుణంగా మారుతూ ఉంటాయి. కొన్ని వోల్టేజ్ మార్పులను కొన్ని మైక్రోకంట్రోలర్ ఉపయోగించి అర్థం చేసుకోవడం ద్వారా మనం కదలిక దిశను పొందవచ్చు. గతంలో మేము జాయ్స్టిక్తో AVR మైక్రోకంట్రోలర్ను ఉపయోగించాము.
ఈ జాయ్ స్టిక్ మాడ్యూల్ మీరు చూడగలిగినట్లుగా రెండు గొడ్డలిని కలిగి ఉంది. అవి X- అక్షం మరియు Y- అక్షం. JOY STICK యొక్క ప్రతి అక్షం ఒక పొటెన్షియోమీటర్ లేదా కుండకు అమర్చబడుతుంది. ఈ కుండల మధ్య బిందువులు Rx మరియు Ry గా నడపబడతాయి. కాబట్టి Rx మరియు Ry ఈ కుండలకు వేరియబుల్ పాయింట్లు. జాయ్ స్టిక్ స్టాండ్బైలో ఉన్నప్పుడు, Rx మరియు Ry వోల్టేజ్ డివైడర్గా పనిచేస్తాయి.
జాయ్ స్టిక్ క్షితిజ సమాంతర అక్షం వెంట కదిలినప్పుడు, Rx పిన్ వద్ద వోల్టేజ్ మారుతుంది. అదేవిధంగా, ఇది నిలువు అక్షం వెంట కదిలినప్పుడు, Ry పిన్ వద్ద వోల్టేజ్ మారుతుంది. కాబట్టి రెండు ADC అవుట్పుట్లలో మాకు జాయ్స్టిక్ యొక్క నాలుగు దిశలు ఉన్నాయి. కర్ర కదిలినప్పుడు, ప్రతి పిన్లోని వోల్టేజ్ దిశను బట్టి ఎక్కువ లేదా తక్కువగా ఉంటుంది.
మనకు తెలిసినట్లుగా రాస్ప్బెర్రీ పైకి అంతర్గత ADC (అనలాగ్ టు డిజిటల్ కన్వర్టర్) విధానం లేదు. కాబట్టి ఈ మాడ్యూల్ పైకి నేరుగా కనెక్ట్ చేయబడదు. వోల్టేజ్ అవుట్పుట్లను తనిఖీ చేయడానికి మేము Op-amp ఆధారిత కంపారిటర్లను ఉపయోగిస్తాము. ఈ OP-Amps రాస్ప్బెర్రీ పైకి సంకేతాలను అందిస్తాయి మరియు సిగ్నల్లను బట్టి పై LED లను టోగుల్ చేస్తుంది. ఇక్కడ మేము నాలుగు దిశలలో జాయ్ స్టిక్ యొక్క కదలికను సూచించడానికి నాలుగు LED లను ఉపయోగించాము. ప్రదర్శన వీడియో చివరిలో తనిఖీ చేయండి.
ప్రతి 17 GPIO పిన్స్ + 3.3V కన్నా ఎక్కువ వోల్టేజ్ తీసుకోలేవు, కాబట్టి Op-amp అవుట్పుట్లు 3.3V కన్నా ఎక్కువ ఉండకూడదు. అందువల్ల మేము op-amp LM324 ను ఎంచుకున్నాము, ఈ IC లో క్వాడ్ ఆపరేషనల్ యాంప్లిఫైయర్ ఉంది, ఇది 3V వద్ద పనిచేయగలదు. ఈ IC తో, మా రాస్ప్బెర్రీ పై GPIO పిన్ల కోసం అవుట్పుట్లకు తగిన అవుట్పుట్లు ఉన్నాయి. రాస్ప్బెర్రీ పై యొక్క GPIO పిన్స్ గురించి ఇక్కడ మరింత తెలుసుకోండి. కొన్ని మంచి IoT ప్రాజెక్ట్లతో పాటు మా రాస్ప్బెర్రీ పై ట్యుటోరియల్ సిరీస్ను కూడా తనిఖీ చేయండి.
అవసరమైన భాగాలు:
ఇక్కడ మేము రాస్ప్బెర్రీ పై 2 మోడల్ B ని రాస్పియన్ జెస్సీ OS తో ఉపయోగిస్తున్నాము. అన్ని ప్రాథమిక హార్డ్వేర్ మరియు సాఫ్ట్వేర్ అవసరాలు ఇంతకుముందు చర్చించబడ్డాయి, మీరు దీన్ని ప్రారంభించటానికి రాస్ప్బెర్రీ పై ఇంట్రడక్షన్ మరియు రాస్ప్బెర్రీ పిఐ ఎల్ఇడి బ్లింకింగ్ లో చూడవచ్చు.
- 1000µF కెపాసిటర్
- జాయ్ స్టిక్ మాడ్యూల్
- LM324 Op-amp IC
- 1KΩ నిరోధకం (12 ముక్కలు)
- LED (4 ముక్కలు)
- 2.2KΩ రెసిస్టర్ (4 ముక్కలు)
సర్క్యూట్ రేఖాచిత్రం:
జాయ్ స్టిక్ యొక్క నాలుగు దిశలను గుర్తించడానికి LM324 IC లోపల నాలుగు OP-AMP పోలికలు ఉన్నాయి. దాని డేటాషీట్ నుండి LM324 IC యొక్క రేఖాచిత్రం క్రింద ఉంది.
రాస్ప్బెర్రీ పైతో ఇంటర్ఫేసింగ్ జాయ్ స్టిక్ మాడ్యూల్ కోసం చేసిన కనెక్షన్లు క్రింది సర్క్యూట్ రేఖాచిత్రంలో చూపించబడ్డాయి. U1: A, U1: B, U1: C, U1: D LM324 లోపల ఉన్న నాలుగు పోలికలను సూచిస్తుంది. సర్క్యూట్ రేఖాచిత్రంలో ప్రతి పోలికను సంబంధిత పిన్ నెం. యొక్క LM324 IC.
పని వివరణ:
Y- అక్షం వెంట జాయ్ స్టిక్ యొక్క కదలికను గుర్తించడానికి, మనకు OP-AMP1 లేదా U1: A మరియు OP-AMP2 లేదా U1: B ఉన్నాయి మరియు X- అక్షం వెంట జాయ్ స్టిక్ యొక్క కదలికను గుర్తించడానికి, మనకు OP-AMP3 లేదా U1 ఉంది: C మరియు OP-AMP4 లేదా U1: D.
OP-AMP1 Y- అక్షం వెంట జాయ్ స్టిక్ యొక్క ఇబ్బంది కదలికను కనుగొంటుంది:
కంపారిటర్ U1 యొక్క నెగటివ్ టెర్మినల్: A 2.3V (1K మరియు 2.2K ద్వారా వోల్టేజ్ డివైడర్ సర్క్యూట్ ఉపయోగించి) తో అందించబడుతుంది మరియు పాజిటివ్ టెర్మినల్ Ry కి అనుసంధానించబడి ఉంటుంది. జాయ్ స్టిక్ ను దాని Y- అక్షం వెంట క్రిందికి కదిలిస్తే, Ry వోల్టేజ్ పెరుగుతుంది. ఈ వోల్టేజ్ 2.3V కంటే ఎక్కువగా ఉంటే, OP-AMP దాని అవుట్పుట్ పిన్ వద్ద + 3.3V అవుట్పుట్ను అందిస్తుంది. OP-AMP యొక్క ఈ హై లాజిక్ అవుట్పుట్ రాస్ప్బెర్రీ పైచే కనుగొనబడుతుంది మరియు పై LED ని టోగుల్ చేయడం ద్వారా ప్రతిస్పందిస్తుంది.
OP-AMP2 Y- అక్షం వెంట జాయ్ స్టిక్ యొక్క పైకి కదలికను కనుగొంటుంది:
కంపారిటర్ U1: B యొక్క నెగటివ్ టెర్మినల్ 1.0V తో అందించబడుతుంది (వోల్టేజ్ డివైడర్ సర్క్యూట్ను 2.2K మరియు 1K ద్వారా ఉపయోగిస్తుంది) మరియు పాజిటివ్ టెర్మినల్ Ry కి అనుసంధానించబడి ఉంటుంది. జాయ్ స్టిక్ ను దాని Y- అక్షం వెంట కదిలించినప్పుడు, Ry వోల్టేజ్ తగ్గుతుంది. ఈ వోల్టేజ్ 1.0V కన్నా తక్కువగా ఉంటే, OP-AMP అవుట్పుట్ తక్కువగా ఉంటుంది. OP-AMP యొక్క ఈ తక్కువ లాజిక్ అవుట్పుట్ రాస్ప్బెర్రీ పైచే కనుగొనబడుతుంది మరియు పై LED ని టోగుల్ చేయడం ద్వారా ప్రతిస్పందిస్తుంది.
OP-AMP3 X- అక్షం వెంట జాయ్ స్టిక్ యొక్క ఎడమ వైపు కదలికను కనుగొంటుంది:
కంపారిటర్ U1: C యొక్క నెగటివ్ టెర్మినల్ 2.3V తో అందించబడింది (వోల్టేజ్ డివైడర్ సర్క్యూట్ను 1K మరియు 2.2K ద్వారా ఉపయోగిస్తుంది) మరియు పాజిటివ్ టెర్మినల్ Rx కి అనుసంధానించబడి ఉంటుంది. జాయ్ స్టిక్ ను దాని x- అక్షం వెంట కదిలినప్పుడు, Rx వోల్టేజ్ పెరుగుతుంది. ఈ వోల్టేజ్ 2.3V కంటే ఎక్కువగా ఉంటే, OP-AMP దాని అవుట్పుట్ పిన్ వద్ద + 3.3V అవుట్పుట్ను అందిస్తుంది. OP-AMP యొక్క ఈ హై లాజిక్ అవుట్పుట్ రాస్ప్బెర్రీ పైచే కనుగొనబడుతుంది మరియు పై LED ని టోగుల్ చేయడం ద్వారా ప్రతిస్పందిస్తుంది.
OP-AMP4 X- అక్షం వెంట జాయ్ స్టిక్ యొక్క కుడి వైపు కదలికను కనుగొంటుంది:
కంపారిటర్ U1: 4 యొక్క నెగటివ్ టెర్మినల్ 1.0V తో అందించబడింది (వోల్టేజ్ డివైడర్ సర్క్యూట్ను 2.2K మరియు 1K ద్వారా ఉపయోగిస్తుంది) మరియు పాజిటివ్ టెర్మినల్ Rx కి అనుసంధానించబడి ఉంటుంది. జాయ్ స్టిక్ ను దాని x- అక్షంతో పాటు కదిలిస్తే, Rx వోల్టేజ్ తగ్గుతుంది. ఈ వోల్టేజ్ 1.0V కన్నా తక్కువగా ఉంటే, OP-AMP అవుట్పుట్ తక్కువగా ఉంటుంది. OP-AMP యొక్క ఈ తక్కువ లాజిక్ అవుట్పుట్ రాస్ప్బెర్రీ పైచే కనుగొనబడుతుంది మరియు పై LED ని టోగుల్ చేయడం ద్వారా ప్రతిస్పందిస్తుంది.
ఈ విధంగా జాయ్ స్టిక్ యొక్క నాలుగు దిశలను నిర్ణయించే నాలుగు లాజిక్స్, రాస్ప్బెర్రీ పైతో అనుసంధానించబడతాయి. రాస్ప్బెర్రీ పై ఈ పోలికల యొక్క అవుట్పుట్లను ఇన్పుట్లుగా తీసుకుంటుంది మరియు LED లను టోగుల్ చేయడం ద్వారా ప్రతిస్పందిస్తుంది. రాస్ప్బెర్రీ పై టెర్మినల్ లో చూపిన ఫలితాలు క్రింద ఉన్నాయి, ఎందుకంటే మన పైథాన్ కోడ్ ఉపయోగించి టెర్మినల్ పై జాయ్ స్టిక్ దిశను కూడా ముద్రించాము.
పైథాన్ కోడ్ మరియు వీడియో క్రింద ఇవ్వబడ్డాయి. కోడ్ సులభం మరియు కోడ్లో ఇచ్చిన వ్యాఖ్యల ద్వారా అర్థం చేసుకోవచ్చు.