विषयसूची:

एक आवाज नियंत्रित जंपिंग जैक- Google Voice AIY संस्करण: 3 चरण
एक आवाज नियंत्रित जंपिंग जैक- Google Voice AIY संस्करण: 3 चरण

वीडियो: एक आवाज नियंत्रित जंपिंग जैक- Google Voice AIY संस्करण: 3 चरण

वीडियो: एक आवाज नियंत्रित जंपिंग जैक- Google Voice AIY संस्करण: 3 चरण
वीडियो: देखिये जादुगर कैसे हमे बेवकूफ बनाते है अद्भुत जादुवो के पीछे छिपा राज The Truth Behind Famous Magic. 2024, दिसंबर
Anonim
एक आवाज नियंत्रित जंपिंग जैक- Google Voice AIY संस्करण
एक आवाज नियंत्रित जंपिंग जैक- Google Voice AIY संस्करण
एक आवाज नियंत्रित जंपिंग जैक- Google Voice AIY संस्करण
एक आवाज नियंत्रित जंपिंग जैक- Google Voice AIY संस्करण
एक आवाज नियंत्रित जंपिंग जैक- Google Voice AIY संस्करण
एक आवाज नियंत्रित जंपिंग जैक- Google Voice AIY संस्करण
एक आवाज नियंत्रित जंपिंग जैक- Google Voice AIY संस्करण
एक आवाज नियंत्रित जंपिंग जैक- Google Voice AIY संस्करण

तो आपको क्रिसमस के लिए एआईवाई वॉयस किट मिल गई है, और निर्देशों का पालन करते हुए इसके साथ खेल रहे हैं। यह अजीब है, लेकिन अब?

निम्नलिखित में वर्णित परियोजना एक साधारण उपकरण प्रस्तुत करती है जिसे रास्पबेरी पाई के लिए एआईवाई वॉयस एचएटी का उपयोग करके बनाया जा सकता है। यह एलईडी और दो सर्वो को नियंत्रित करने के लिए Google आवाज पहचान प्रणाली का उपयोग करता है, एक बहुत ही सरल गियर द्वारा जंपिंग जैक के हाथ और पैर चला रहा है।

बैकग्राउंड में काम करने वाला सॉफ्टवेयर सर्वो_डेमो.py स्क्रिप्ट का एक संशोधन है, जैसा कि एआईवाई वॉयस किट मैनुअल में वर्णित किया गया है। हार्ड- और सॉफ़्टवेयर सेट करने के लिए बस वहां दिए गए निर्देशों का पालन करें। डिवाइस को स्वयं बनाना आसान है और इसके लिए बहुत अधिक हस्तशिल्प कौशल की आवश्यकता नहीं होती है। इसके अलावा एक कटर चाकू, एक ड्रिल और एक सोल्डरिंग लोहा सहायक होगा।

यदि आप अपने हाथ की पलक के साथ आवाज पहचान प्रणाली को सक्रिय करते हैं और कहते हैं कि 'हैंड्स अप' जंपिंग जैक हाथ और पैर उठाएगा, 'हैंड सेंटर' दोनों सर्वो को मध्य स्थिति में ले जाएगा और 'हैंड्स डाउन' पर हाथ और पैर होंगे उतारा जाना। 'बाएं ऊपर' पर बाएं हाथ और पैर उठाए जाएंगे और "दाएं नीचे" पर दाएं नीचे, 'दाएं ऊपर' पर इसके विपरीत। "नृत्य", इसे नृत्य कर देगा, कम से कम तरह का। यह भी बात कर रहा है, कृपया संलग्न वीडियो पर एक नज़र डालें।

इसलिए थोड़े से प्रयासों से आप अपना खुद का डांसिंग, चैटिंग और सिंगिंग रोबोट बना सकते हैं।

विशेष रूप से छोटे बच्चों द्वारा इसके उपयोग को सरल बनाने के लिए, और 'मैजिक' कारक को बढ़ाने के लिए, एआईवाई बॉक्स के बटन को एक निकटता सेंसर द्वारा ट्रिगर के रूप में बदल दिया गया था। इसकी सादगी के लिए, मैंने पोलोलू से एक डिजिटल डिस्टेंस सेंसर ब्रेकआउट का उपयोग किया, जो यह पहचानता है कि क्या कोई वस्तु 5 सेमी से अधिक है, और एक बटन की तरह बहुत उपयोग किया जा सकता है। एल ई डी इंगित करते हैं कि डिवाइस कब ऑर्डर, सुनने या "सोचने" की प्रतीक्षा कर रहा है। सर्वो, सेंसर और एलईडी को GPIOZero सॉफ्टवेयर लाइब्रेरी द्वारा नियंत्रित किया जाता है।

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

आप शरीर के दोनों किनारों का उपयोग कर सकते हैं, इस पर निर्भर करते हुए कि आप चलती गियर पेश करना चाहते हैं या एक अच्छा, बच्चों के अनुकूल लेआउट रखना चाहते हैं। --------- "हैम्पेलमैन" "जंपिंग जैक" के लिए जर्मन शब्द है, जिसका कुछ निश्चित अर्थ है।

चरण 1: प्रयुक्त सामग्री

उपयोग किया गया सामन
उपयोग किया गया सामन
उपयोग किया गया सामन
उपयोग किया गया सामन

रास्पबेरी पाई 3; पिमोरोनी, यूके में 32 पाउंड

एआईवाई वॉयस किट; पिमोरोनी, यूके में 25 पाउंड

पोलोलू डिजिटल डिस्टेंस सेंसर ब्रेकआउट शार्प सेंसर के साथ, 5 सेमी; 5.90 € Exp-tec.de. पर

दो 9g सर्वो

दो सफेद एलईडी और एक रोकनेवाला

कुछ हेडर और जम्पर केबल

एक 2 मिमी विदेशी मुद्रा प्लेट, 250 x 500 मिमी; 1.70 € मॉड्यूलर, बर्लिन, जर्मनी में

M3 स्क्रू, नट और वाशर, सभी चलती भागों को जोड़ने के लिए। मैंने छह 10 और चार 16 मिमी नायलॉन स्क्रू का इस्तेमाल किया।

छह एम2 स्क्रू और नट, सर्वो को प्लेटों में ठीक करने के लिए और सर्वोस आर्म्स और गियर्स को जोड़ने के लिए।

प्लास्टिक गोंद की कुछ बूँदें

चरण 2: डिवाइस का संयोजन और उपयोग

डिवाइस का संयोजन और उपयोग
डिवाइस का संयोजन और उपयोग
डिवाइस का संयोजन और उपयोग
डिवाइस का संयोजन और उपयोग
डिवाइस का संयोजन और उपयोग
डिवाइस का संयोजन और उपयोग

एआईवाई वॉयस किट के संबंध में, किट के साथ आने वाले विवरण में दिए गए निर्देशों का पालन करें, जिसमें सर्वो के बारे में अनुभाग भी शामिल है। मैं AIY वॉयस ब्रेकआउट पर कई तीन-पिन हेडर को सर्वो पोर्ट में मिलाप करने की सलाह दूंगा, ताकि आप HAT के साथ सर्वो, सेंसर और एलईडी को बहुत आसानी से जोड़ सकें।

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

वैकल्पिक रूप से, आप एक ऐसे संस्करण का निर्माण भी कर सकते हैं जब हाथ और पैर सीधे चार अलग-अलग सर्वो द्वारा, या अधिक उन्नत गियर द्वारा संचालित होते हैं।

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

सर्वो और चलती भागों को बेस प्लेट में ठीक करें। संकेत के अनुसार दूरी सेंसर और एलईडी जोड़ें। सर्वो को M2 स्क्रू के साथ तय किया गया है, सभी मूविंग पार्ट्स M3 स्क्रू के साथ हैं। मैंने नायलॉन एम 3 स्क्रू का इस्तेमाल किया, लेकिन सिर्फ एस्थेटिक कारणों से।

जांचें कि क्या सर्वो हथियार मध्य स्थिति में हैं। सर्वो हथियार और गियर कनेक्ट करें, मैंने इस उद्देश्य के लिए एम 2 स्क्रू का इस्तेमाल किया।

AIY बोर्ड पर सर्वो कनेक्टर्स के लिए सर्वो, एलईडी और दूरी सेंसर संलग्न करें। आपको कुछ बढ़ाव/जम्पर केबल की आवश्यकता हो सकती है। मैंने बाएं सर्वो को "सर्वो0" (जीपीआईओ 26) से "सर्वो 2" (जीपीआईओ 13), एल ई डी को "सर्वो 5" (जीपीआईओ 24), और सेंसर को "सर्वो 3" (जीपीआईओ 5) से जोड़ा है। आवाज टोपी।

प्रदान की गई "Hampelmann.py" फ़ाइल को AIY "src" सबफ़ोल्डर में कॉपी करें और इसे किसी के लिए भी सीधे निष्पादन योग्य बनाएं। ऐसा करने के लिए, आप फ़ाइल प्रबंधक में फ़ाइल का चयन कर सकते हैं, फिर राइट क्लिक करें और गुण चुनें, अनुमतियाँ चुनें, निष्पादन पर जाएँ, ~ कोई भी चुनें। या देव कंसोल में "chmod +x src/Hampelmann.py" लिखें।

जांचें कि क्या सब कुछ जगह पर सेट है और निश्चित है, या आवश्यकता पड़ने पर चल रहा है। देव कमांड लाइन खोलें, "src/Hampelmann.py" दर्ज करें और प्रोग्राम शुरू करें। यदि आप अपने हाथ या उंगलियों को डिस्टेंस सेंसर के सामने ले जाते हैं, तो AIY यूनिट ऑर्डर मांगेगी और LED झपकेगी। कार्यान्वित आदेश "दाएं/बाएं/हाथ ऊपर/नीचे/केंद्र", "नृत्य", "एलईडी चालू/बंद" और "अलविदा" हैं।

खेल। अपना हाथ सेंसर के सामने ले जाएं, पूछे जाने पर बोलें और डिवाइस को प्रतिक्रिया करने के लिए थोड़ा समय दें। विलंबता बल्कि अधिक है। Crtl+C या “अलविदा” प्रोग्राम को रोक देगा।

आप नैनो या किसी अन्य साधारण टेक्स्ट एडिटर का उपयोग करके फ़ाइल को संशोधित कर सकते हैं।

टिप्पणी: कृपया ध्यान रखें कि कुछ शब्दों और शब्दों को बड़े अक्षर से शुरू होने वाले शब्दों के रूप में पहचाना जाता है, जैसे कि 'केंद्र' या 'दायां केंद्र', जैसा कि अन्य नहीं हैं, उदा। 'सीधा ऊपर'। आपको कुछ क्रिया को ट्रिगर करने के लिए वॉयस रिकग्निशन मॉड्यूल द्वारा दिए गए सटीक फॉर्म का उपयोग करना होगा।

चरण 3: पायथन लिपि

जैसा कि पहले उल्लेख किया गया है, स्क्रिप्ट कुछ अतिरिक्त के साथ, AIY आवाज निर्देशों से सर्वो_डेमो.py स्क्रिप्ट पर आधारित है। पहला संस्करण Hampelmann.py फ़ाइल है जिसे आप संलग्न पाएंगे। GPIOZero से AngularServo सर्वो की एक्शन रेंज को प्रतिबंधित करने और यह परिभाषित करने की अनुमति देता है कि वास्तव में कितनी दूर जाना है। लेकिन मैं मूल आवाज पर ब्रिटिश आवाज पसंद करता हूं। और डिवाइस बोल भी सकता है, लेकिन समझ नहीं सकता (?), अंग्रेजी, जर्मन, इतालवी, फ्रेंच और स्पेनिश। नीचे आपको ब्रिटिश आवाज़ वाली Hampelmann2.py स्क्रिप्ट और कुछ इतालवी और जर्मन भाषाएँ मिलती हैं। कृपया ध्यान रखें कि उन्हें चलाने के लिए आपको स्क्रिप्ट को निष्पादन योग्य बनाना होगा।

#!/usr/bin/env python3# यह स्क्रिप्ट AIY आवाज HAT के लिए सर्वो_डेमो.py स्क्रिप्ट का एक रूपांतर है, # AIY जंपिंग जैक आयात के लिए अनुकूलित aiy.audio आयात aiy.cloudspeech आयात aiy.voicehat gpiozero आयात एलईडी से gpiozero से आयात करें AngularServo से gpiozero आयात समय से बटन आयात करें स्लीप डीफ़ मुख्य (): पहचानकर्ता = aiy.cloudspeech.get_identizer() पहचानकर्ता.expect_phrase ('राइट अप') पहचानकर्ता.expect_phrase ('राइट डाउन') पहचानकर्ता.expect_phrase('राइट डाउन') केंद्र') # बड़े अक्षर उद्देश्य पर हैं। ('हाथ नीचे') पहचानकर्ता.expect_phrase('हाथ केंद्र') पहचानकर्ता.expect_phrase('नृत्य') पहचानकर्ता.expect_phrase('LED on') पहचानकर्ता.expect_phrase('LED off') पहचानकर्ता.expect_phrase('अलविदा') aiy.audio.get_recorder().start() सर्वो = AngularServo(26, min_angle=-40, max_angle=40) # पहला कनेक्ट या, GPIO 26 सर्वो 2 = AngularServo (13, min_angle = -40, max_angle = 40) # तीसरा कनेक्टर, GPIO 13 LED0 = LED (24) # LED सर्वो 5 / GPIO 24 दूरी = बटन (5) # दूरी सेंसर से जुड़े हैं सर्वो3/जीपीआईओ 05 # अन्य: जीपीआईओ 6 सर्वो1 पर, 12 सर्वो4 पर aiy.audio.say("Hello!",) aiy.audio.say("शुरू करने के लिए, अपने हाथ को सेंसर के पास ले जाएं",) जबकि ट्रू: led0.on() # एल ई डी प्रिंट पर ("वॉयस रिकग्निशन को सक्रिय करने के लिए, दूरी सेंसर के पास एक हाथ ले जाएँ, फिर बोलें") प्रिंट ('अपेक्षित कीवर्ड हैं: हैंड्स/लेफ्ट/राइट अप/डाउन/सेंटर,') प्रिंट ('एलईडी चालू/बंद, नृत्य और अलविदा।') प्रिंट() दूरी। प्रतीक्षा_for_press() प्रिंट ('सुनना …') aiy.audio.say ("कृपया अपने आदेश दें",) led0.blink() # प्रकाश ब्लिंक टेक्स्ट = पहचानकर्ता। पहचानें () अगर टेक्स्ट कोई नहीं है: aiy.audio.say ('क्षमा करें, मैंने आपको नहीं सुना।',) अन्य: प्रिंट ('आपने कहा "', टेक्स्ट, '"') # आपको देता है पाठ में 'राइट अप' होने पर सिस्टम व्याख्या की जाँच करें: प्रिंट ('सर्वो को अधिकतम स्थिति में ले जाना') सर्वो.एंगल = 35 एलिफ़ 'राइट डाउन' टेक्स्ट में: प्रिंट ('मूविंग सर्वो0 न्यूनतम स्थिति में') सर्वो0.एंगल=-35 एलिफ 'राइट सेंटर' टेक्स्ट में: #करेक्ट कैप्टिअल्स क्रिटिकल प्रिंट हैं('मूविंग सर्वो0 टू मिडिल पोजीशन') सर्वो0.एंगल = 0 एलिफ 'लेफ्ट अप' टेक्स्ट में: प्रिंट (' सर्वो२ को अधिकतम स्थिति में ले जाना') सर्वो२.एंगल = ३५ एलिफ टेक्स्ट में 'लेफ्ट डाउन': प्रिंट ('सर्वो 2 को न्यूनतम स्थिति में ले जाना') सर्वो२.एंगल = ३५ एलिफ 'लेफ्ट सेंटर' टेक्स्ट में: प्रिंट ('मूविंग सर्वो 2 टू लेफ्ट डाउन') मध्य स्थिति') सर्वो2.एंगल = 0 एलिफ़ 'हैंड्स अप' टेक्स्ट में: प्रिंट ('सर्वो 2 को अधिकतम स्थिति में ले जाना') सर्वो2.एंगल = -35 सर्वो0. सर्वो2 से न्यूनतम स्थिति') सर्वो2.एंगल=35 सर्वो0.एंगल=-35 एलिफ 'हैंड्स सेंटर' टेक्स्ट में: प्रिंट('सर्वो2 को मध्य स्थिति में ले जाना') सर्वो2.एंगल=0 सर्वो0.एंगल=0 elif 'एलईडी ऑफ' पाठ में: प्रिंट ('बाहरी एलईडी 0 को बंद करना') led0.off() elif 'LED on' टेक्स्ट में: प्रिंट ('बाहरी LED 0 पर स्विच करना') led0.on() # light elif 'डांस' टेक्स्ट में: प्रिंट ('अब परफॉर्मिंग डांस नंबर एक') aiy.audio.say("ठीक है, मैं अपनी तरफ से पूरी कोशिश करूंगा!",) led0.on() # लाइट ऑन मेरे लिए श्रेणी में (3): सर्वो.एंगल = 0 सर्वो 2. कोण = 0 नींद (1) सर्वो. कोण = 35 सर्वो 2. कोण = -35 नींद (1) सर्वो. १) सर्वो.एंगल=-25 सर्वो२.एंगल = ० नींद(1) सर्वो.एंगल=३० सर्वो२.एंगल=२० नींद(1) सर्वो. पाठ में 'अलविदा': aiy.audio.say("अलविदा",) aiy.audio.say('Arrivederci',) aiy.audio.say('Auf Wiedersehen',)servo0.angle=0 सर्वो2.एंगल=0 LED0.off () नींद (3) प्रिंट ('अलविदा!') अन्य तोड़ें: प्रिंट ('कोई कीवर्ड पहचाना नहीं गया!') aiy.audio.say("क्षमा करें, मैं आपको समझ नहीं पाया",) अगर _name_ == ' _मुख्य_': मुख्य ()

सिफारिश की: