- పిడబ్ల్యుఎం సిగ్నల్ అంటే ఏమిటి?
- GPIO పిన్లపై PWM ను ఉత్పత్తి చేయడానికి PIC ను ప్రోగ్రామింగ్ చేస్తుంది
- సర్క్యూట్ రేఖాచిత్రం
- అనుకరణ
- పిఐసి మైక్రోకంట్రోలర్ ఉపయోగించి సర్వో మోటార్ను నియంత్రించడానికి హార్డ్వేర్ సెటప్
ప్రతి ఎంబెడెడ్ ఇంజనీర్స్ ఆర్సెనల్లో పిడబ్ల్యుఎం సిగ్నల్ జనరేషన్ ఒక ముఖ్యమైన సాధనం, సర్వో మోటారు స్థానాన్ని నియంత్రించడం, కన్వర్టర్లు / ఇన్వర్టర్లలో కొన్ని పవర్ ఎలక్ట్రానిక్ ఐసిలను మార్చడం మరియు సాధారణ ఎల్ఇడి ప్రకాశం నియంత్రణ వంటి చాలా అనువర్తనాలకు ఇవి చాలా ఉపయోగకరంగా ఉంటాయి. PIC మైక్రోకంట్రోలర్లలో, అవసరమైన రిజిస్టర్లను సెట్ చేయడం ద్వారా పోల్చండి, సంగ్రహించండి మరియు PWM (CCP) మాడ్యూళ్ళను ఉపయోగించి PWM సిగ్నల్స్ ఉత్పత్తి చేయబడతాయి, PIC PWM ట్యుటోరియల్లో దీన్ని ఎలా చేయాలో మేము ఇప్పటికే నేర్చుకున్నాము. కానీ ఆ పద్ధతిలో ఒక ముఖ్యమైన లోపం ఉంది.
PIC16F877A మేము సీసీపీ గుణకాలు ఉపయోగిస్తే మాత్రమే పిన్స్ RC1 మరియు RC2 న PWM సంకేతాలు ఉత్పత్తి చేయవచ్చు. కానీ మేము PWM కార్యాచరణను కలిగి ఉండటానికి ఎక్కువ పిన్స్ అవసరమయ్యే పరిస్థితులను ఎదుర్కోవచ్చు. ఉదాహరణకు, నా రోబోటిక్ ఆర్మ్ ప్రాజెక్ట్ కోసం 6 RC సర్వో మోటార్లు నియంత్రించాలనుకుంటున్నాను, దీని కోసం CCP మాడ్యూల్ నిరాశాజనకంగా ఉంది. ఈ దృశ్యాలలో టైమర్ మాడ్యూళ్ళను ఉపయోగించి PWM సిగ్నల్స్ ఉత్పత్తి చేయడానికి మేము GPIO పిన్నులను ప్రోగ్రామ్ చేయవచ్చు. ఈ విధంగా మనం అవసరమైన పిన్తో ఎక్కువ పిడబ్ల్యుఎం సిగ్నల్లను ఉత్పత్తి చేయవచ్చు. మల్టీప్లెక్సర్ ఐసిని ఉపయోగించడం వంటి ఇతర హార్డ్వేర్ హక్స్ కూడా ఉన్నాయి, కాని ప్రోగ్రామింగ్ అయినప్పటికీ అదే సాధించగలిగినప్పుడు హార్డ్వేర్పై ఎందుకు పెట్టుబడి పెట్టాలి. కాబట్టి ఈ ట్యుటోరియల్లో PIC GPIO పిన్ను PWM పిన్గా ఎలా మార్చాలో నేర్చుకుంటాము మరియు దానిని పరీక్షించడానికి మేము దానిని డిజిటల్ ఓసిల్లోస్కోప్తో ప్రోటీస్పై అనుకరిస్తాము మరియుPWM సిగ్నల్ ఉపయోగించి సర్వో మోటార్ యొక్క స్థానాన్ని నియంత్రించండి మరియు పొటెన్షియోమీటర్ను మార్చడం ద్వారా దాని విధి చక్రం మారుతుంది.
పిడబ్ల్యుఎం సిగ్నల్ అంటే ఏమిటి?
మేము వివరాల్లోకి రాకముందు, పిడబ్ల్యుఎం సిగ్నల్స్ ఏమిటో కొంచెం తెలుసుకుందాం. పల్స్ వెడల్పు మాడ్యులేషన్ (పిడబ్ల్యుఎం) అనేది డిజిటల్ సిగ్నల్, ఇది సాధారణంగా కంట్రోల్ సర్క్యూట్లో ఉపయోగించబడుతుంది. ఈ సిగ్నల్ ముందే నిర్వచించిన సమయం మరియు వేగంతో అధిక (5 వి) మరియు తక్కువ (0 వి) గా సెట్ చేయబడింది. సిగ్నల్ ఎక్కువగా ఉండే సమయాన్ని “ఆన్ టైమ్” అని పిలుస్తారు మరియు సిగ్నల్ తక్కువగా ఉండే సమయాన్ని “ఆఫ్ టైమ్” అంటారు. క్రింద చర్చించినట్లు PWM కోసం రెండు ముఖ్యమైన పారామితులు ఉన్నాయి:
PWM యొక్క విధి చక్రం
PWM సిగ్నల్ HIGH (సమయానికి) గా మిగిలి ఉన్న సమయాన్ని డ్యూటీ సైకిల్ అంటారు. సిగ్నల్ ఎల్లప్పుడూ ఆన్లో ఉంటే అది 100% డ్యూటీ సైకిల్లో ఉంటుంది మరియు ఇది ఎల్లప్పుడూ ఆఫ్లో ఉంటే అది 0% డ్యూటీ సైకిల్.
డ్యూటీ సైకిల్ = సమయం ఆన్ చేయండి / (సమయం ఆన్ చేయండి + సమయం ఆఫ్ చేయండి)
వేరియబుల్ పేరు |
కు సూచిస్తుంది |
PWM_ ఫ్రీక్వెన్సీ |
పిడబ్ల్యుఎం సిగ్నల్ యొక్క ఫ్రీక్వెన్సీ |
T_TOTAL |
PWM యొక్క పూర్తి చక్రం కోసం తీసుకున్న మొత్తం సమయం |
టన్ను |
PWM సిగ్నల్ సమయంలో |
T_OFF |
PWM సిగ్నల్ యొక్క ఆఫ్ టైమ్ |
విధి పునరావృత్తి |
PWM సిగ్నల్ యొక్క విధి చక్రం |
కాబట్టి ఇప్పుడు, గణితాన్ని చేద్దాం.
ఇది ప్రామాణిక సూత్రాలు, ఇక్కడ పౌన frequency పున్యం సమయం యొక్క పరస్పరం. ఫ్రీక్వెన్సీ యొక్క విలువను వినియోగదారు అతని / ఆమె అప్లికేషన్ అవసరం ఆధారంగా నిర్ణయించి సెట్ చేయాలి.
T_TOTAL = (1 / PWM_ ఫ్రీక్వెన్సీ)
వినియోగదారు డ్యూటీ సైకిల్ విలువను మార్చినప్పుడు, మా ప్రోగ్రామ్ స్వయంచాలకంగా T_ON సమయం మరియు T_OFF సమయాన్ని దాని ప్రకారం సర్దుబాటు చేయాలి. కాబట్టి డ్యూటీ_సైకిల్ మరియు T_TOTAL విలువ ఆధారంగా T_ON ను లెక్కించడానికి పై సూత్రాలను ఉపయోగించవచ్చు.
T_ON = (డ్యూటీ_సైకిల్ * T_TOTAL) / 100
ఒక పూర్తి చక్రం కోసం PWM సిగ్నల్ యొక్క మొత్తం సమయం సమయం మరియు ఆఫ్ సమయం మొత్తం అవుతుంది. పైన చూపిన విధంగా మేము ఆఫ్ టైమ్ T_OFF ను లెక్కించవచ్చు.
T_OFF = T_TOTAL - T_ON
ఈ సూత్రాలను దృష్టిలో పెట్టుకుని మనం పిఐసి మైక్రోకంట్రోలర్ ప్రోగ్రామింగ్ ప్రారంభించవచ్చు. ఈ కార్యక్రమంలో పిఐసి టైమర్ మాడ్యూల్ మరియు పిఐసి ఎడిసి మాడ్యూల్ ఉన్నాయి, పిటిడబ్ల్యుఎం సిగ్నల్ను ఎడిసి విలువ ప్రకారం పిఒటి రూపాన్ని బట్టి వివిధ డ్యూటీ సైకిల్తో రూపొందించవచ్చు. మీరు ఈ మాడ్యూళ్ళను ఉపయోగించడం కొత్తగా ఉంటే, హైపర్లింక్లపై క్లిక్ చేయడం ద్వారా తగిన ట్యుటోరియల్ను చదవమని గట్టిగా సిఫార్సు చేయబడింది.
GPIO పిన్లపై PWM ను ఉత్పత్తి చేయడానికి PIC ను ప్రోగ్రామింగ్ చేస్తుంది
పూర్తి కార్యక్రమం ఈ ట్యుటోరియల్ కోసం ఎల్లప్పుడూ వంటి వెబ్సైట్ దిగువన చూడవచ్చు. ఈ విభాగంలో ప్రోగ్రామ్ వాస్తవానికి ఎలా వ్రాయబడిందో అర్థం చేసుకుందాం. అన్ని ప్రోగ్రామ్ల మాదిరిగానే, కాన్ఫిగరేషన్ బిట్లను సెట్ చేయడం ద్వారా మేము ప్రారంభిస్తాము. నా కోసం దీన్ని సెట్ చేయడానికి మెమరీ వ్యూస్ ఎంపికను ఉపయోగించాను.
// CONFIG #pragma config FOSC = HS // ఓసిలేటర్ ఎంపిక బిట్స్ (HS ఓసిలేటర్) #pragma config WDTE = OFF // వాచ్డాగ్ టైమర్ బిట్ను ప్రారంభించండి (WDT నిలిపివేయబడింది) #pragma config PWRTE = OFF // పవర్-అప్ టైమర్ ఎనేబుల్ బిట్ (PWRT డిసేబుల్) #pragma config బోరెన్ = ON // బ్రౌన్ అవుట్ రీసెట్ బిట్ (బోర్ ఎనేబుల్) ప్రారంభించు OFF // తక్కువ వోల్టేజ్ (సింగిల్-సప్లై) లో-సర్క్యూట్ సీరియల్ ప్రోగ్రామింగ్ ప్రారంభించు బిట్ (RB3 డిజిటల్ I / O #pragma config LVP =, MCLR న HV ప్రోగ్రామింగ్ కోసం ఉపయోగిస్తారు తప్పక) #pragma config CPD OFF = // డేటా EEPROM మెమరీ కోడ్ రక్షణ బిట్ (డేటా EEPROM కోడ్ రక్షణ ఆఫ్) #pragma config wrt OFF = // ఫ్లాష్ ప్రోగ్రామ్ మెమరీ వ్రాయండి బిట్స్ (వ్రాయండి రక్షణ ఆఫ్ ప్రారంభించండి; అన్ని ప్రోగ్రామ్ మెమరీని EECON నియంత్రణ ద్వారా వ్రాయవచ్చు) #pragma config CP = OFF // ఫ్లాష్ ప్రోగ్రామ్ మెమరీ కోడ్ ప్రొటెక్షన్ బిట్ (కోడ్ ప్రొటెక్షన్ ఆఫ్) // # ప్రాగ్మా కాన్ఫిగర్ స్టేట్మెంట్స్ ప్రాజెక్ట్ ఫైల్ కలిగి ఉండటానికి ముందు ఉండాలి. // ఆన్ మరియు ఆఫ్ కోసం # నిర్వచించటానికి బదులుగా ప్రాజెక్ట్ ఎన్యూమ్స్ ఉపయోగించండి. # చేర్చండి
అప్పుడు మేము హార్డ్వేర్లో ఉపయోగించిన క్లాక్ ఫ్రీక్వెన్సీని ప్రస్తావించాము, ఇక్కడ నా హార్డ్వేర్ 20MHz క్రిస్టల్ను ఉపయోగిస్తుంది, మీరు మీ హార్డ్వేర్ ఆధారంగా విలువను నమోదు చేయవచ్చు. దాని తరువాత PWM సిగ్నల్ యొక్క ఫ్రీక్వెన్సీ విలువ. 50Hz యొక్క PWM ఫ్రీక్వెన్సీ అవసరమయ్యే ఒక అభిరుచి గల RC సర్వో మోటారును నియంత్రించడం ఇక్కడ నా లక్ష్యం కనుక నేను 0.05KHz ను ఫ్రీక్వెన్సీ విలువగా సెట్ చేసాను, మీరు దీన్ని మీ అప్లికేషన్ అవసరాల ఆధారంగా కూడా మార్చవచ్చు.
KHz (50Hz) లో #XTAL_FREQ 20000000 # PWM_Frequency 0.05 // ని నిర్వచించండి.
ఇప్పుడు, మనకు ఫ్రీక్వెన్సీ విలువ ఉన్నందున, పైన చర్చించిన సూత్రాలను ఉపయోగించి T_TOTAL ను లెక్కించవచ్చు. మిల్లీ సెకన్లలో సమయం విలువను పొందడానికి ఫలితం 10 ద్వారా డైవ్ చేయబడుతుంది. నా విషయంలో T_TOTAL విలువ 2 మిల్లీ సెకన్లు.
int T_TOTAL = (1 / PWM_ ఫ్రీక్వెన్సీ) / 10; // ఫ్రీక్వెన్సీ నుండి మొత్తం సమయాన్ని లెక్కించండి (మిల్లీ సెకనులో) // 2msec
దాని తరువాత, మా ADC PIC ట్యుటోరియల్లో చర్చించినట్లు పొటెన్షియోమీటర్ యొక్క స్థానాన్ని చదవడానికి మేము ADC మాడ్యూళ్ళను ప్రారంభిస్తాము. తరువాత మనకు అంతరాయ సేవా దినచర్య ఉంది, ఇది ప్రతిసారీ పిలువబడుతుంది, టైమర్ పొంగి ప్రవహిస్తుంది, తరువాత మేము దీనిని తిరిగి పొందుతాము, ఇప్పుడు ప్రధాన ఫంక్షన్ను తనిఖీ చేద్దాం.
ప్రధాన ఫంక్షన్ లోపల మేము టైమర్ మాడ్యూల్ని కాన్ఫిగర్ చేస్తాము. ఇక్కడ నేను ప్రతి 0.1ms కోసం టైమర్ మాడ్యూల్ను ఓవర్ఫ్లో ఉండేలా కాన్ఫిగర్ చేసాను. దిగువ సూత్రాలను ఉపయోగించి సమయం విలువను లెక్కించవచ్చు
RegValue = 256 - ((ఆలస్యం * Fosc) / (ప్రెస్కాలర్ * 4%) సెకనులో ఆలస్యం మరియు hz లో Fosc
నా విషయంలో 64 యొక్క ప్రీస్కాలర్తో 0.0001 సెకన్లు (0.1 మీ) మరియు 20MHz యొక్క ఫాస్క్తో నా రిజిస్టర్ (టిఎంఆర్ 0) విలువ 248 ఉండాలి. కాబట్టి కాన్ఫిగరేషన్ ఇలా కనిపిస్తుంది
/ ***** టైమర్ కోసం పోర్ట్ కాన్ఫిగరేషన్ ****** / OPTION_REG = 0b00000101; // బాహ్య ఫ్రీక్తో టైమర్ 0 మరియు ప్రెస్కాలర్గా 64 / PULL UP లను కూడా ప్రారంభిస్తుంది TMR0 = 248; // 0.0001 లకు సమయ విలువను లోడ్ చేయండి; delayValue 0-256 మధ్య మాత్రమే ఉంటుంది TMR0IE = 1; // PIE1 రిజిస్టర్ GIE = 1 లో టైమర్ అంతరాయ బిట్ను ప్రారంభించండి ; // గ్లోబల్ ఇంటరప్ట్ PEIE = 1 ను ప్రారంభించండి; // పరిధీయ అంతరాయాన్ని ప్రారంభించండి / *********** ______ *********** /
అప్పుడు మేము ఇన్పుట్ మరియు అవుట్పుట్ కాన్ఫిగరేషన్ను సెట్ చేయాలి. PWM సిగ్నల్స్ అవుట్పుట్ చేయడానికి ADC విలువ మరియు PORTD పిన్స్ చదవడానికి ఇక్కడ మేము AN0 పిన్ను ఉపయోగిస్తున్నాము. కాబట్టి వాటిని అవుట్పుట్ పిన్లుగా ప్రారంభించండి మరియు ఈ క్రింది కోడ్ పంక్తులను ఉపయోగించడం ద్వారా వాటిని తగ్గించండి.
/ ***** I / O కొరకు పోర్ట్ కాన్ఫిగరేషన్ ****** / TRISD = 0x00; // PORT D లోని అన్ని పిన్స్ అవుట్పుట్ PORTD = 0x00 అని MCU కి సూచించండి; // అన్ని పిన్లను 0 / *********** ______ *********** / కు ప్రారంభించండి
అనంతం ఇన్సైడ్ అయితే లూప్, మేము కలిగి విధి పునరావృత్తి నుండి సమయం (T_ON) విలువ లెక్కించేందుకు. సమయం మరియు విధి చక్రం మేము లోపల పదేపదే దీన్ని కాబట్టి కుండ స్థితులను ఆధారంగా మారుతూ అయితే క్రింద చూపిన విధంగా లూప్. 0.0976 అంటే 100 ను పొందడానికి 1024 తో గుణించాలి మరియు T_ON ను లెక్కించడానికి మిల్లీ సెకన్లలో విలువను పొందడానికి 10 తో గుణించాలి.
(1) { POT_val = (ADC_Read (0%); // ADC డ్యూటీ_సైకిల్ = (POT_val * 0.0976) ఉపయోగించి POT విలువను చదవండి ; // మ్యాప్ 0 నుండి 1024 నుండి 0 నుండి 100 T_ON = ((డ్యూటీ_సైకిల్ * T_TOTAL) * 10/100); // మిల్లీ సెకన్లలో ఫార్ములా యూనిట్ను ఉపయోగించి సమయాన్ని లెక్కించండి __delay_ms (100); }
ప్రతి 0.1ms కోసం టైమర్ ఓవర్ ఫ్లోకు సెట్ చేయబడినందున, టైమర్ అంతరాయ సేవా దినచర్య ISR ప్రతి 0.1ms కు పిలువబడుతుంది. సేవా దినచర్యలో మేము కౌంట్ అనే వేరియబుల్ని ఉపయోగిస్తాము మరియు ప్రతి 0.1 మి.మీ. ఈ విధంగా మనం ఎఫ్ టైమ్ ట్రాక్ చేయవచ్చు. PIC మైక్రోకంట్రోలర్లో అంతరాయాల గురించి మరింత తెలుసుకోవడానికి, లింక్లను అనుసరించండి
if (TMR0IF == 1) // టైమర్ ఓవర్ఫ్లో కారణంగా టైమర్ ఫ్లాగ్ ప్రారంభించబడింది -> ప్రతి 0.1ms కోసం ఓవర్ఫ్లో సెట్ చేయబడింది { TMR0 = 248; // టైమర్ విలువను లోడ్ చేయండి TMR0IF = 0; // క్లియర్ టైమర్ ఇంటరప్ట్ ఫ్లాగ్ కౌంట్ ++; // ప్రతి 0.1ms కు కౌంట్ ఇంక్రిమెంట్ -> కౌంట్ / 10 ms లో కౌంట్ విలువను ఇస్తుంది }
చివరగా T_ON మరియు T_OFF విలువ ఆధారంగా GPIO పిన్ను టోగుల్ చేయడానికి సమయం ఆసన్నమైంది. మిల్లీ సెకన్లలో సమయాన్ని ట్రాక్ చేసే కౌంట్ వేరియబుల్ మాకు ఉంది. కాబట్టి మేము సమయం కంటే తక్కువ ఉంటే తనిఖీ ఆ వేరియబుల్ ఉపయోగించడానికి సమయం అవును అప్పుడు మేము GPIO పిన్ వేరే మేము దాన్ని ఆపివేయండి ఆన్ ఉంచుకుంటే, మరియు అది కొత్త చక్రం మొదలవుతుంది వరకు ఆపివేయబడింది. ఒక PWM చక్రం యొక్క మొత్తం సమయంతో పోల్చడం ద్వారా ఇది చేయవచ్చు. అదే చేయవలసిన కోడ్ క్రింద చూపబడింది
if (కౌంట్ <= (T_ON)) // సమయం కంటే తక్కువ సమయం ఉంటే RD1 = 1; // GPIO ఆన్ వేరే RD1 = 0; // లేకపోతే GPIO ని ఆపివేయండి (కౌంట్> = (T_TOTAL * 10%) // కొత్త చక్రం గణన ప్రారంభమయ్యే వరకు దాన్ని ఆపివేయండి = 0;
సర్క్యూట్ రేఖాచిత్రం
PIC మైక్రోకంట్రోలర్ యొక్క GPIO పిన్తో PWM ను ఉత్పత్తి చేసే సర్క్యూట్ రేఖాచిత్రం నిజంగా సులభం, PIC ని ఓసిలేటర్తో శక్తివంతం చేయండి మరియు AN0 ను పిన్ చేయడానికి పొటెన్టోమీటర్ను కనెక్ట్ చేయండి మరియు RD1 ను పిన్ చేయడానికి సర్వో మోటార్ను కనెక్ట్ చేయండి, PWM సిగ్నల్ పొందడానికి మేము GPIO పిన్ని ఉపయోగించవచ్చు, నేను ఎంచుకున్నాను RD1 యాదృచ్ఛికంగా లేదు. పొటెన్టోమీటర్ మరియు సర్వో మోటారు రెండూ 5V చేత శక్తిని కలిగి ఉంటాయి, ఇది సర్క్యూట్ రేఖాచిత్రంలో క్రింద చూపిన విధంగా 7805 నుండి నియంత్రించబడుతుంది.
అనుకరణ
ప్రాజెక్ట్ను అనుకరించటానికి నేను నా ప్రోటీయస్ సాఫ్ట్వేర్ను ఉపయోగించాను. క్రింద చూపిన సర్క్యూట్ను రూపొందించండి మరియు మీ అనుకరణకు కోడ్ను లింక్ చేసి దాన్ని అమలు చేయండి. మా ప్రోగ్రామ్ ప్రకారం మీరు RD1 GPIO పిన్పై PWM సిగ్నల్ పొందాలి మరియు పొటెన్షియోమీటర్ యొక్క స్థానం ఆధారంగా PWM యొక్క విధి చక్రం నియంత్రించబడాలి. పొటెన్షియోమీటర్ ద్వారా ADC విలువను మార్చినప్పుడు PWM సిగ్నల్ మరియు సర్వో మోటార్ ఎలా స్పందిస్తాయో క్రింద ఉన్న GIF చూపిస్తుంది.
పిఐసి మైక్రోకంట్రోలర్ ఉపయోగించి సర్వో మోటార్ను నియంత్రించడానికి హార్డ్వేర్ సెటప్
నా పూర్తి హార్డ్వేర్ సెటప్ క్రింద చూపబడింది, నా ట్యుటోరియల్లను అనుసరిస్తున్న వ్యక్తుల కోసం ఈ బోర్డు సుపరిచితంగా ఉండాలి, ఇది ఇప్పటివరకు నా ట్యుటోరియల్లలో నేను ఉపయోగించిన బోర్డు. నేను దీన్ని ఎలా నిర్మించాలో తెలుసుకోవడంలో మీకు ఆసక్తి ఉంటే మీరు బ్లింకింగ్ LED ట్యుటోరియల్ను చూడవచ్చు. లేకపోతే పైన ఉన్న సర్క్యూట్ రేఖాచిత్రాన్ని అనుసరించండి మరియు అన్నీ చక్కగా పనిచేయాలి.
ప్రోగ్రామ్ను అప్లోడ్ చేయండి మరియు పొటెన్టోమీటర్ను మార్చండి మరియు పొటెన్షియోమీటర్ యొక్క స్థానం ఆధారంగా సర్వో స్థానం మారుతున్నట్లు మీరు చూడాలి. ప్రాజెక్ట్ యొక్క పూర్తి పని ఈ పేజీ చివరిలో ఇచ్చిన వీడియోలో చూపబడింది. మీరు ప్రాజెక్ట్ను అర్థం చేసుకున్నారని మరియు భవనాన్ని ఆస్వాదించారని ఆశిస్తున్నాము, మీకు క్వైర్స్ ఉంటే, వాటిని ఫోరమ్లో పోస్ట్ చేయడానికి సంకోచించకండి మరియు నేను సమాధానం ఇవ్వడంలో నా వంతు ప్రయత్నం చేస్తాను.
నేను ఇప్పటికే నిర్మించిన ఆర్డునో రోబోటిక్ ఆర్మ్ మాదిరిగానే బహుళ సర్వో మోటారులను నియంత్రించడానికి ఎంపికలను జోడించి, దాని నుండి రోబోటిక్ చేయిని నిర్మించడం ద్వారా ఈ ప్రాజెక్ట్ను ముందుకు తీసుకెళ్లాలని నేను ఆలోచిస్తున్నాను. కాబట్టి అప్పటివరకు చూడండి యా !!