ఇదంతా "మారియో" అని పిలువబడే చీకటి యుగాల నుండి ఒక చిన్న ఆటతో ప్రారంభమైంది, నా యువరాణిని కాపాడటానికి బాతులపై దూకుతున్న ఒక చిన్న చిన్న వ్యక్తి పెర్షియాలో (ప్రిన్స్ ఆఫ్ పర్షియా) తిరుగుతున్న ఒక అందమైన అందమైన ప్రిన్స్ అంధకారానికి వ్యతిరేకంగా పోరాడుతున్నంత వరకు నా ప్రపంచాన్ని కాపాడటానికి నేను వీడియో గేమ్స్ ఆడటానికి గొప్ప అభిమానిని మరియు నేను వాటిని ఆడుతూ పెరిగాను. కానీ వారు కొన్నిసార్లు విసుగు చెందుతారు మరియు నేను దానిలో తక్కువ ప్రమేయం కలిగిస్తాను. ఈ రోజు, అధునాతన గేమింగ్ కన్సోల్లు వర్చువల్ గేమింగ్ను ప్రారంభిస్తాయి మరియు కీబోర్డ్ లేదా మౌస్ చేయగలిగే ఆట కంటే చాలా మంచి అనుభూతిని పొందడంలో మాకు సహాయపడుతుంది.
ఆర్డునో ఉత్సాహవంతుడైన నేను కీబోర్డ్ & మౌస్ ఉపయోగించి “యాంగ్రీ బర్డ్స్” అనే ప్రసిద్ధ ఆట ఆడటం అలసిపోయాను మరియు ఫ్లెక్స్ సెన్సార్ మరియు పొటెన్షియోమీటర్ ఉపయోగించి నా స్వంత గేమ్ కంట్రోలర్ను నిర్మించాలని నిర్ణయించుకున్నాను. ఫ్లెక్స్ సెన్సార్ లాగినప్పుడు కాటాపుల్ట్లోని పక్షి కూడా లాగబడుతుంది మరియు మీరు ప్రారంభించాల్సిన దిశను సెట్ చేయడానికి పొటెన్షియోమీటర్ను ఉపయోగించవచ్చు. అప్పుడు మీరు ఫ్లెక్స్ సెన్సార్ను విడుదల చేసినప్పుడు పక్షి ప్రారంభించబడుతుంది. నేను దీన్ని చేయడం చాలా ఆనందించాను, కాబట్టి మీరు చాలా సారూప్యమైనదాన్ని నిర్మించాలనుకుంటే ఈ ట్యుటోరియల్ సహాయపడుతుంది. ఈ ట్యుటోరియల్ పొటెన్టోమీటర్ ఉపయోగించి మౌస్ కర్సర్ను నియంత్రించడంలో కూడా సహాయపడుతుంది.
సాఫ్ట్వేర్ మరియు హార్డ్వేర్ అవసరాలు:
సాఫ్ట్వేర్:
- Arduino IDE
- IDE ను ప్రాసెస్ చేస్తోంది
- కంప్యూటర్లో యాంగ్రీ బర్డ్స్ గేమ్
హార్డ్వేర్:
- ఆర్డునో (ఏదైనా వెర్షన్)
- పొటెన్టోమీటర్
- ఫ్లెక్స్ సెన్సార్
- 47 కె ఓం రెసిస్టర్
- వైర్లను కనెక్ట్ చేస్తోంది
- బ్రెడ్బోర్డ్
వెనుక భావన:
Arduino బోర్డు Potentiometer మరియు ఫ్లెక్స్ సేరిఒర్ నుంచి విలువల చదువుతుంది సాధారణ ద్వారా USB COM పోర్ట్ ద్వారా మరియు లాప్టాప్ / PC వాటిని ప్రసారం Serial.write () ఫంక్షన్. మేము ప్రాసెసింగ్ ఉపయోగించి ఈ సమాచారాన్ని చదువుతాము మరియు జావాలోని రోబోట్ క్లాస్ ఉపయోగించి మౌస్ కర్సర్ను నియంత్రిస్తాము, ఇది IDE ని ప్రాసెస్ చేయడం ద్వారా మద్దతు ఇస్తుంది. మేము ప్రాసెసింగ్ IDE ని ప్రోగ్రామ్ చేసాము, ఫ్లెక్స్ సెన్సార్ లాగినప్పుడు మౌస్ క్లిక్ చేయబడుతుంది మరియు అది ఎంత లాగబడిందో దాని ఆధారంగా మౌస్ పాయింటర్ X దిశలో కదులుతుంది. అప్పుడు పొటెన్షియోమీటర్ నుండి వచ్చిన విలువ ఆధారంగా మనం మౌస్ కర్సర్ను Y దిశలో కదిలిస్తాము, ఈ విధంగా పక్షిని ప్రారంభించాల్సిన దిశను సెట్ చేయవచ్చు.
సర్క్యూట్ రేఖాచిత్రం:
ఫ్లెక్స్ సెన్సార్ మరియు పొటెన్టోమీటర్ ఉపయోగించి యాంగ్రీ బర్డ్ ఆడటానికి సర్క్యూట్ సులభం.
మేము ఆర్డునో యొక్క అనలాగ్ ఇన్పుట్లకు (A0, A1) ఒక పొటెన్షియోమీటర్ మరియు ఫ్లెక్స్ సెన్సార్ను అనుసంధానించాము. ఫ్లెక్స్ సెన్సార్ యొక్క అవుట్పుట్ కూడా 47 కె పుల్ డౌన్ రెసిస్టర్ ఉపయోగించి క్రిందికి లాగబడుతుంది.
మీరు దీన్ని నేరుగా బ్రెడ్బోర్డులో లేదా టంకములో పెర్ఫ్ బోర్డ్కి కనెక్ట్ చేయవచ్చు మరియు దానిని మరింత సృజనాత్మకంగా చేయడానికి చేతి తొడుగులు లేదా ఏదైనా దానిపై సమీకరించవచ్చు. క్రింద చూపిన విధంగా నా కనెక్షన్లను చేయడానికి నేను బ్రెడ్బోర్డ్ను ఉపయోగించాను:
ఆర్డునో ప్రోగ్రామ్:
పూర్తి ఆర్డునో కోడ్ ట్యుటోరియల్ చివరిలో ఇవ్వబడింది. కొన్ని ముఖ్యమైన పంక్తులు క్రింద వివరించబడ్డాయి.
మేము 9600 బాడ్ రేట్తో పనిచేయడానికి ప్రోగ్రామ్ను ప్రారంభించాము మరియు ఫ్లెక్స్ సెన్సార్ మరియు పొటెన్టోమీటర్ నుండి విలువలను చదవడం ప్రారంభించాము. మనకు తెలిసినట్లుగా serial.write () ఫంక్షన్ ఒకేసారి ఒక బైట్ డేటాను మాత్రమే పంపగలదు . ఒక బైట్ 8 బిట్స్ మరియు 2 ^ 8 = 256. కాబట్టి మనం 0 నుండి 256 వరకు విలువలను పంపగలుగుతాము. కాబట్టి మనం ఫ్లెక్స్ సెన్సార్ అవుట్పుట్ మరియు పొటెన్టోమీటర్ అవుట్పుట్ యొక్క విలువలను 0 నుండి 256 గా కుదించాలి.
అలా చేయడానికి మేము ఆర్డునోలో మ్యాప్ () ఫంక్షన్ను ఉపయోగిస్తాము. ఫ్లెక్స్ సెన్సార్ నుండి అన్ని విలువలు 5 నుండి 100 కి మార్చబడతాయి, కాబట్టి మనం సెన్సార్ను వంగినప్పుడు అది 5 నుండి పెరుగుతుంది మరియు విడుదలైనప్పుడు అది 5 కి తిరిగి వెళుతుంది. మౌస్ క్లిక్లను పేర్కొనడానికి విలువ 1 మరియు 0 ఉపయోగించబడుతుంది. 1 పంపినప్పుడు మౌస్ నొక్కినప్పుడు మరియు 0 పంపినప్పుడు మౌస్ విడుదల అవుతుంది.
if (FlexValue> = 65 && FlexValue <= 120) // నా ఫ్లెక్స్ సెన్సార్ 65 నుండి 120 వరకు మారుతూ ఉంటే, మీ భిన్నంగా ఉండవచ్చు {FlexValue = map (FlexValue, 120,65,0,100); // వంగడం ఆధారంగా 0 నుండి 100 కి మార్చండి (ఫ్లెక్స్వాల్యూ> = 5) // 1 మరియు 0 మౌస్ క్లిక్ కోసం ఉపయోగించబడుతుంది కాబట్టి 5 నుండి ప్రారంభించండి {Mclick = true; సీరియల్.రైట్ (1); మౌస్ ఎడమ క్లిక్ చేయడానికి // 1 పంపబడుతుంది సీరియల్.రైట్ (ఫ్లెక్స్వాల్యూ); // ఫ్లెక్స్ విలువ మౌస్ను X దిశలో తరలించే దూరం} else {Mclick = false; సీరియల్.రైట్ (0);}}
అదేవిధంగా విలువలు పోటెన్టోమీటర్ 101 నుండి 200 వరకు మార్చబడతాయి, మ్యాప్ () ఫంక్షన్ను పాడతాయి మరియు క్రింద చూపిన విధంగా సీరియల్.రైట్ () ఫంక్షన్కు వ్యతిరేకంగా ల్యాప్టాప్లు COM పోర్ట్కు పంపబడతాయి .
if (potValue <= 200) {potValue = map (potValue, 0,200,101,201); // ఆధారంగా 101 నుండి 201 సీరియల్.రైట్ (పాట్వాల్యూ) గా మార్చండి; // పాట్ విలువ మౌస్ను Y దిశలో తరలించడానికి దూరం}
మిగిలిన ప్రోగ్రామ్ వ్యాఖ్యలను ఉపయోగించి వివరించబడింది.
ప్రాసెసింగ్ కోడ్:
ప్రాసెసింగ్ అనేది ఓపెన్-సోర్స్ డెవలప్మెంట్ అప్లికేషన్ మరియు ఆర్డునో లేదా ఇతర మైక్రోకంట్రోలర్లను ఉపయోగించి ఆసక్తికరమైన ప్రాజెక్టులను అభివృద్ధి చేయడానికి సులభంగా డౌన్లోడ్ చేసుకోవచ్చు. ప్రాసెసింగ్ ఉపయోగించి మేము ఇప్పటికే కొన్ని ప్రాజెక్టులు చేసాము మరియు మీరు ఈ క్రింది లింక్లను క్లిక్ చేయడం ద్వారా వాటిని తనిఖీ చేయవచ్చు.
- DIY FM రేడియో ఉపయోగించి ప్రాసెసింగ్
- Arduino ఉపయోగించి వర్చువల్ రియాలిటీ / సంజ్ఞ నియంత్రణ
- Arduino ఉపయోగించి ప్రైవేట్ చాట్ రూమ్.
- ప్రాసెసింగ్ APP మరియు అల్ట్రాసోనిక్ సెన్సార్ ఉపయోగించి ఆర్డునో రాడార్ సిస్టమ్
- ఆర్డునో ఉపయోగించి రియల్ టైమ్ ఫేస్ డిటెక్షన్ మరియు ట్రాకింగ్
- ఆర్డునో మరియు ప్రాసెసింగ్ ఉపయోగించి DIY స్పీడోమీటర్
- ఆర్డునో యాక్సిలెరోమీటర్ ఉపయోగించి పింగ్ పాంగ్ గేమ్
- ఆర్డునో ఉపయోగించి బైప్డ్ రోబోట్
- DIY Arduino థర్మల్ ఇమేజింగ్ కెమెరా
ఈ ప్రాజెక్ట్లో మేము COM పోర్ట్ విలువలను చదవడానికి మరియు COM పోర్ట్ ద్వారా అందుకున్న విలువల ఆధారంగా మౌస్ పాయింటర్ను నియంత్రించడానికి ప్రాసెసింగ్ IDE ని ఉపయోగించాము. ఈ యాంగ్రీ బర్డ్ గేమ్ కంట్రోలర్ కోసం పూర్తి ప్రాసెసింగ్ కోడ్ క్రింద లింక్ నుండి డౌన్లోడ్ చేసుకోవచ్చు:
- ఈ యాంగ్రీ బర్డ్ గేమ్ కంట్రోలర్ కోసం ప్రాసెసింగ్ కోడ్ (కుడి క్లిక్ చేసి, 'లింక్ను ఇలా సేవ్ చేయండి')
ఈ ట్యుటోరియల్ చివరిలో Arduino ప్రోగ్రామ్ చూడవచ్చు. తన GitHub పేజీలో యోగి ఇచ్చిన కోడ్ నుండి మా ప్రయోజనం కోసం ప్రాసెసింగ్ కోడ్ సవరించబడింది.
COM పోర్ట్ నుండి వచ్చే డేటాను Arduino నుండి పంపిన అదే బాడ్ రేటులో చదవాలి. పరికర నిర్వాహికిని ఉపయోగించి మీ ఆర్డునో కనెక్ట్ అయిన COM పోర్టును కూడా తనిఖీ చేయండి. నా Arduino COM3 కి కనెక్ట్ చేయబడింది మరియు ఇది నా కంప్యూటర్లో 0 వ పోర్ట్ మరియు Arduino లో బాడ్ రేటు 9600 కాబట్టి కోడ్ ఈ క్రింది విధంగా ఉంది
పోర్ట్ = కొత్త సీరియల్ (ఇది, సీరియల్.లిస్ట్ (), 9600);
మేము విలువలను చదవడం ప్రారంభించిన తర్వాత, మేము ఆర్డునో నుండి ఎలా పంపించామో దాని విలువ ఆధారంగా దాన్ని గుర్తించడం ద్వారా దాన్ని వేరు చేస్తాము. విలువలు మళ్ళీ 0 నుండి 100 వరకు మ్యాప్ చేయబడతాయి, తద్వారా మేము ఆ విలువ ఆధారంగా మౌస్ను నియంత్రించగలుగుతాము.
if (port.available ()> 0) {data = port.read (); println (డేటా); // COM పోర్ట్ నుండి డేటాను చదివి డేటాలో సేవ్ చేయండి} if (డేటా> = 101 && డేటా <= 201) // విలువ 101 నుండి 201 వరకు ఉంటే అది తప్పనిసరిగా పొటెన్షియోమీటర్ నుండి ఉండాలి {టర్న్ = పూర్ణాంకానికి (మ్యాప్ (డేటా, 101,201,0,100%); // కాటాపుల్ట్ను తిప్పడానికి ఆ విలువను ఉపయోగించండి} if (డేటా> = 5 && డేటా <= 100) // విలువ 5 నుండి 100 వరకు ఉంటే అది ఫ్లెక్స్ సెన్సార్ నుండి ఉండాలి {పుల్ = పూర్ణాంకానికి (మ్యాప్ (డేటా, 5,100, 0,100%));} // (డేటా == 1) క్లిక్ = ట్రూ అయితే కాటాపుల్ట్ లాగడానికి ఆ విలువను ఉపయోగించండి; // (డేటా == 0) క్లిక్ = తప్పుడు ఉంటే మౌస్ బటన్ను నొక్కడానికి ఆ విలువను ఉపయోగించండి; // మౌస్ బటన్ను విడుదల చేయడానికి ఆ విలువను ఉపయోగించండి
మేము డేటాను వర్గీకరించిన తర్వాత, ప్రాసెసింగ్లో రోబోట్ జావా క్లాస్ ఉపయోగించి మౌస్ని నియంత్రించవచ్చు. ఆదేశం robot.mouseMove (crntX-Pull, crntY + Turn); మౌస్ను కావలసిన స్థానానికి తరలించడానికి మరియు robot.mousePress (InputEvent.BUTTON1_DOWN_MASK) పంక్తులను ఉపయోగించవచ్చు ; మరియు robot.mouseRelease (InputEvent.BUTTON1_DOWN_MASK); మౌస్ బటన్ను వరుసగా నొక్కడానికి లేదా విడుదల చేయడానికి ఉపయోగించవచ్చు.
if (క్లిక్ చేయండి == తప్పుడు) // ఫ్లెక్స్ సెస్నోర్ లాగనప్పుడు {crntX = (int) p.getX (); crntY = (int) p.getY (); if (లాగండి> 50) robot.mouseRelease (InputEvent.BUTTON1_DOWN_MASK); // మౌస్ బటన్ను విడుదల చేయండి} if (క్లిక్ చేయండి == true) // ఫ్లెక్స్ సెస్నోర్ లాగినప్పుడు {robot.mousePress (InputEvent.BUTTON1_DOWN_MASK); // మౌస్ బటన్ నొక్కండి robot.mouseMove (crntX-Pull, crntY + Turn); // ఫ్లెక్స్ మరియు పాట్ విలువ ఆధారంగా మౌస్ను తరలించండి}}
ప్రారంభించినప్పుడు ప్రాసెసింగ్ IDE ఒక చిన్న డైలాగ్ బాక్స్ను కూడా ప్రదర్శిస్తుంది, దానిపై మీరు పుల్, టర్న్ మరియు మౌస్ క్లిక్ యొక్క విలువలను క్రింద చూపిన విధంగా కనుగొనవచ్చు.
ఈ వివరాలు ప్రోగ్రామ్ను డీబగ్ చేయడానికి లేదా అవసరమైన ఏదైనా డేటాను సరిచేయడానికి ఉపయోగించవచ్చు.
పని:
అందించిన కోడ్ను ఉపయోగించి ఈ యాంగ్రీ బర్డ్ ప్రాజెక్ట్ పని చేయడానికి, సర్క్యూట్ రేఖాచిత్రం ప్రకారం మీ హార్డ్వేర్ను సమీకరించండి మరియు ఇచ్చిన ఆర్డునో కోడ్ను అప్లోడ్ చేయండి. మీ Arduino ఏ COM పోర్ట్కు అనుసంధానించబడిందో గమనించండి మరియు ప్రాసెసింగ్ కోడ్లో అవసరమైన మార్పులు చేసి ప్రాసెసింగ్ స్కెచ్ను ప్రారంభించండి.
ఇప్పుడు, కోపంగా ఉన్న పక్షి ఆటను ప్రారంభించి, మీరు కర్సర్ను కాటాపుల్ట్ దగ్గర ఉంచండి మరియు పక్షిని లాగడానికి ఫ్లెక్స్ సెన్సార్ను లాగండి మరియు పొటెన్షియోమీటర్ ఉపయోగించి దిశను సెట్ చేయండి. దిశ సెట్ చేసిన తర్వాత ఫ్లెక్స్ సెన్సార్ను విడుదల చేయండి
EEEEWWWWWEEEEEEEE !!!!!!!!!!……………
మీరు పక్షి గాలిలోకి విసిరివేయబడుతుంది మరియు బూమ్ !! పిగ్గీస్ మీద. పూర్తి పనిని క్రింద ఇచ్చిన వీడియోలో చూడవచ్చు.
మీరు ప్రాజెక్ట్ను ఆస్వాదించారని మరియు ఇలాంటిదే నిర్మించగలిగామని ఆశిస్తున్నాము. మీకు ఏవైనా సందేహాలు ఉంటే మీరు నన్ను వ్యాఖ్య విభాగంలో చేరవచ్చు లేదా సాంకేతిక ప్రశ్నల కోసం ఫోరమ్లో మీ ప్రశ్నను పోస్ట్ చేయవచ్చు.
ఇప్పుడు, ఆ పిగ్గీ బాక్సులను క్రాష్ చేసి, మా పక్షుల గుడ్లను తిరిగి పొందే సమయం !!!!