मैं अपने रोबोटिक्स प्रोजेक्ट के साथ स्मार्ट फोन को कैसे एकीकृत कर सकता हूं? [बन्द है]


24

इन दिनों स्मार्ट फोन आमतौर पर जाइरोस्कोप, एक्सेलेरोमीटर, कम्पास, कैमरा और जीपीएस सेंसर के साथ आते हैं। वे आमतौर पर वाईफाई और मोबाइल डेटा नेटवर्क के साथ इंटरनेट से भी जुड़ जाते हैं। मैंने रोबोट के लिए फोन को रिमोट कंट्रोल के रूप में उपयोग करने के कई मामले देखे हैं, लेकिन मेरे लिए, ऐसा लगता है कि फोन स्वयं ही एक स्वायत्त रोबोट के लिए एक सही हल्का कंप्यूटिंग और सेंसिंग प्लेटफॉर्म है।

मुख्य बाधा जो मैं देख रहा हूं वह एक्ट्यूएटर्स के साथ हस्तक्षेप कर रहा है। उदाहरण के लिए, तालिका-शीर्ष रोबोट या नियंत्रण सर्वो को नियंत्रित करने के लिए मोटर्स को नियंत्रित करने में सक्षम होना। एक माइक्रोकंट्रोलर से कनेक्ट और संचार करना एक बाधा भी हो सकता है।

एक रोबोट हॉबीस्ट के रूप में, मैं जानना चाहता हूं कि मैं अपने रोबोटिक्स प्रोजेक्ट्स के साथ अपने स्मार्ट फोन की शक्ति का उपयोग करने में सक्षम होने के लिए इन और अन्य बाधाओं को कैसे पार कर सकता हूं।


बस एक iOS विकल्प जोड़ने के लिए, SESO iPhone को रोबोट नियंत्रक के रूप में
ग्रीनऑनलाइन

जवाबों:


19

एंड्रॉयड गौण डेवलपमेंट किट (ADK) सब कुछ आप की जरूरत है क्या करना चाहिए।

ADK

यह एक Arduino बोर्ड है जिसे विशेष रूप से Android के साथ बातचीत करने के लिए डिज़ाइन किया गया है। आप दो से अधिक ब्लूटूथ या यूएसबी (या वाईफाई / ईथरनेट, मुझे लगता है) से कनेक्ट कर सकते हैं।

चूंकि पूरी वास्तुकला खुली हुई है, इसलिए आप प्रत्येक भाग का उपयोग कर सकते हैं कि यह सबसे अच्छा क्या है। आप फ़ोन के अंतर्निहित सेंसर से डेटा प्राप्त करने और प्रदर्शन को नियंत्रित करने के लिए एंड्रॉइड कोड लिखते हैं। और आप एक्टुवेटर, सर्वो और अन्य सेंसर को नियंत्रित करने के लिए Arduino कोड लिखते हैं जो फोन पर नहीं आते हैं। दोनों के बीच संवाद करने का कोड Google के माध्यम से खुला स्रोत प्रदान किया जाता है।

से Arduino ब्लॉग :

एंड्रॉइड ओपन एक्सेसरी डेवलपमेंट किट (ADK) एक एंड्रॉइड USB एक्सेसरी का कार्यान्वयन प्रदान करता है जो Arduino ओपन सोर्स इलेक्ट्रॉनिक्स प्रोटोटाइपिंग प्लेटफॉर्म, एक्सेसरी के हार्डवेयर डिज़ाइन फ़ाइलों, कोड पर आधारित होता है जो एक्सेसरी के फर्मवेयर को लागू करता है, और एंड्रॉइड एप्लिकेशन जो इसके साथ इंटरैक्ट करता है गौण। हार्डवेयर डिज़ाइन फ़ाइलें और कोड ADK पैकेज डाउनलोड में निहित हैं।

अधिकांश उदाहरण फोन को घड़ी की तरह किसी तरह के हार्डवेयर एक्सेसरी के लिए ग्राफिकल इंटरफेस के रूप में उपयोग करने के लिए तैयार किए गए हैं। लेकिन ऐसा कोई कारण नहीं है कि आप फोन के सेंसरों तक भी नहीं पहुंच सकते हैं और डेटा को आगे-पीछे कर सकते हैं।

Adafruit ने ADK के लिए अपने स्टोर के पेज पर रोबोट बनाने के लिए इसका उपयोग करने का भी उल्लेख किया है :

फास्ट अपने Android फोन हार्डवेयर विकास या Arduino ADK के साथ सेल फोन रोबोट डिजाइन ! Arduino ADK शक्तिशाली ATmega2560 (डेटाशीट) पर आधारित एक माइक्रोकंट्रोलर बोर्ड है। एंड्रॉइड आधारित फोन के साथ कनेक्ट करने के लिए इसमें एक यूएसबी होस्ट इंटरफ़ेस है, और डीसी पावर से फोन को चार्ज करने के लिए एक बिजली आपूर्ति को बढ़ावा देने वाला कनवर्टर है, जबकि एडीके में प्लग किया गया है।

(जोर मेरा)


11

एक अन्य विकल्प IOIO-OTG बोर्ड है :

IOIO-OTG बोर्ड

Sparkfun उत्पाद विवरण अपनी कार्यक्षमता का वर्णन करता है:

यह एक PIC माइक्रोकंट्रोलर की सुविधा देता है जो एक पुल की तरह काम करता है जो आपके पीसी या एंड्रॉइड डिवाइस पर GPIO, PWM, ADC, I2C, SPI और UART जैसे निम्न-स्तरीय बाह्य उपकरणों से जोड़ता है। एक ऐप-स्तरीय लाइब्रेरी आपको निम्न स्तर के बाह्य उपकरणों के लिए नियंत्रण कोड लिखने में मदद करती है उसी तरह आप किसी अन्य जावा ऐप को लिखेंगे!

इस बोर्ड को वह सब कुछ करना चाहिए जो आप चाहते हैं और इसमें एक अच्छा ट्यूटोरियल भी है जिसकी मदद से आप शुरुआत कर सकते हैं।


6

मुख्य समस्या जैसा कि मैं देख रहा हूं कि यह वास्तव में एक्ट्यूएटर्स के साथ हस्तक्षेप नहीं कर रहा है - अगर आपके पास वायरलेस तरीके से डिजिटल ट्रांसफर करने का एक अच्छा तरीका है (यहां तक ​​कि बेहतर एनालॉग होगा, या पीडब्लूएम करने के लिए एक चैनल काफी अच्छा है) सिग्नल, आप बस इसके साथ इंटरफेस कर सकते हैं एक मोटर चालक चिप (जैसे L293D) और जाने के लिए अच्छा होगा। सर्वो के लिए, आपको अच्छी प्रतिक्रिया समय चाहिए ताकि आप दालों को संभाल सकें। यदि आपके पास पीडब्लूएम-सक्षम चैनल है, तो यह कठिन नहीं होना चाहिए क्योंकि चैनल में पहले से ही एक उच्च बॉड है। यदि आपके पास एक धीमा चैनल है, तो सर्वो पल्स संभव नहीं हो सकता है क्योंकि आपको सटीक पल्स टाइमिंग की आवश्यकता होती है।

पहला विकल्प जो मैं देख रहा हूं (हालांकि यह बहुत तेज़ है) रास्पबेरी पाई लेना है, इसे ईथरनेट के माध्यम से वायरलेस राउटर से कनेक्ट करें और फोन को उसी वायरलेस तरीके से कनेक्ट करें। अब बस अपने फोन के लिए एक मूल ऐप लिखें, जो इनपुट के आधार पर पाई को अनुरोध भेजता है, और इन हैंडल करने वाले पाई के लिए ऐप की तरह एक और सर्वर लिखें। भारी और कुछ हद तक कठोर हो सकता है, लेकिन यह काफी एक्स्टेंसिबल है, IMO। तुम भी रूटर offboard डाल सकते हैं और छड़ी इस पाई में (या उपयोग हॉटस्पॉट और पूरी तरह से खत्म करने रूटर)।

एक अन्य विकल्प ब्लूटूथ नियंत्रक का उपयोग करना है जैसे कि यहां दिखाया गया है । मैंने पहले इसका उपयोग नहीं किया है, लेकिन ऐसा लगता है कि आपको इसे संभालने के लिए अभी भी एक माइक्रोकंट्रोलर की आवश्यकता होगी। मुझे लगता है कि आप अपने RX / TX पिन को सीधे Arduino पर TX / RX से जोड़ सकते हैं, हालांकि मैं इस बारे में निश्चित नहीं हूं।

यदि आपने पहले XBee / ZigBee का उपयोग किया है, तो आप ब्लूटूथ मधुमक्खी को आज़माना चाह सकते हैं ।

एक अंतिम विकल्प पारंपरिक वायरलेस नियंत्रण सेटअप (XBee / जो भी हो) के साथ फोन यूएसबी पोर्ट का उपयोग करना है - लेकिन इसके लिए ड्राइवरों और सभी को लिखना होगा।


5

हां, स्मार्टफोन पर GPIO पिन की कमी शर्म की बात है। यदि आपके पास पहले से ही रोबोट पर चल रहा है, तो आप इस ऐप का उपयोग एंड्रॉइड फोन पर कर सकते हैं ताकि फोन पर सेंसर सूट का उपयोग किया जा सके।


4

कई हाल के एंड्रॉइड डिवाइस, जैसे कि नेक्सस 7, यूएसबी ऑन द गो (ओटीजी) का समर्थन करते हैं जो यह कहने का एक फैंसी तरीका है कि 'यूएसबी होस्ट मोड' समर्थित है। इन मामलों में, सही केबल के साथ जो $ 1 से कम के लिए हो सकता है, किसी भी संगत यूएसबी डिवाइस का उपयोग किया जा सकता है। आपको Arduino के किसी विशेष संस्करण की आवश्यकता नहीं है जिसमें USB होस्ट मोड के लिए हार्डवेयर है।

मैंने यह जानने के लिए पर्याप्त प्रयोग किया है कि एक 'सामान्य' Arduino जैसे कि लियोनार्डो या टेनेसी 2 एक OTG केबल के साथ कनेक्ट होने पर TTY (उदाहरण के लिए सीरियल पोर्ट) डिवाइस के रूप में एक Android फ़ोन में दिखाई देता है।

यह लेख एंड्रॉइड ऐप से Arduino को संवाद करने के लिए एंड्रॉइड यूएसबी होस्ट एपीआई का उपयोग करने के तरीके पर गहराई से जाता है। इसके लिए Android 3.1+ की आवश्यकता है और आपको डिवाइस को रूट करने की आवश्यकता नहीं है।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.