विषयसूची:

Arduino क्रैडल रॉकर: 19 कदम (चित्रों के साथ)
Arduino क्रैडल रॉकर: 19 कदम (चित्रों के साथ)

वीडियो: Arduino क्रैडल रॉकर: 19 कदम (चित्रों के साथ)

वीडियो: Arduino क्रैडल रॉकर: 19 कदम (चित्रों के साथ)
वीडियो: Super satisfying cycloidal drive build 👀⚙️| #3dprinting #robotics #arduino #mechanical #engineering 2024, जुलाई
Anonim
Image
Image

क्षमा करें, मैं अपने वीडियो संपादन के लिए सुझाए गए मृदु तीव्र संगीत का विरोध नहीं कर सका।

मेरा हाल ही में मेरा पहला बच्चा था और मेरे पास पहले से ही एक लकड़ी का पालना था जिसे मेरे चाचा (जो एक भयानक लकड़ी का काम करते हैं) ने मेरे भतीजे के लिए बनाया था। मेरे भतीजे ने इसे लंबे समय तक बढ़ा दिया था, इसलिए मुझे इसे लेने में खुशी हुई और माँ ब्लॉगर्स ने मेरी पत्नी को जो भी पालना/बासीनेट किया, उस पर सारा पैसा खर्च करने से बचा। पालना एक बहुत ही सरल डिजाइन है, मूल रूप से उनके माध्यम से बोल्ट के साथ दो ऊपरी भाग जो पालने के शरीर का समर्थन करते हैं। इसे जगह में बंद करने के लिए एक हटाने योग्य खूंटी है।

कुछ ही हफ्तों में हमने पाया कि जब तक हमारा लड़का शांत नहीं हो जाता, तब तक हम पालने को थोड़ा हिलाकर हल्की-फुल्की बेचैनी को शांत कर सकते हैं। जिस रात हमें इसका पता चला, मैंने देर रात को कुछ १० मिनट का समय बिताया, जिसमें मेरा हाथ कवर के नीचे से पहुंचा, नींद से उसे हिलाकर रख दिया, खुश था कि मैंने खुद बिस्तर से उठे बिना उसे शांत करने का एक तरीका ढूंढ लिया। अगला सुबह मैंने एक डोरी और थोड़ा सा कारबिनर लगाया ताकि मैं अपनी बांह को फैलाए बिना पालने को हिला सकूं।

उसके बाद की सुबह, मैंने इस बच्चे को मेरे लिए सिर्फ एक रोबोट रॉक करने के लिए एक तरह से विचार-मंथन करना शुरू कर दिया। Arduino दर्ज करें …

आपूर्ति

ठीक है, यह मेरा अब तक का पहला Arduino प्रोजेक्ट था, इसलिए मैंने कुछ प्रयोग और परीक्षण और त्रुटि की, और मुझे यकीन है कि मेरे डिज़ाइन में सुधार की गुंजाइश है, लेकिन यहाँ मेरी भाग सूची है:Arduino Uno ($13) सब कुछ नियंत्रित करने के लिएएक ब्रेडबोर्ड तारों को जोड़ने के लिए किट ($10)

स्टेपर मोटर ($14) यह सबसे मजेदार टुकड़ा है, क्योंकि यह वह चीज है जो सभी काम करती है। मैंने थोड़े कम टॉर्क वाले ड्राइवर के साथ शुरुआत की, लेकिन फिर यह मिल गया और यह बहुत अच्छा काम कर रहा है। एक और अधिक शक्तिशाली प्राप्त करने के लिए स्वतंत्र महसूस करें। स्टेपर मोटर ड्राइवर ($ 10-30) यह Arduino और मोटर के बीच बैठता है। यह विशिष्ट रूप से कुछ अन्य लोगों की तुलना में मोटर को अधिक चुपचाप चलाने में सक्षम है, इसलिए मैं इसके साथ गया क्योंकि मोटर मेरे (और मेरे बेटे के) सिर से कुछ फीट की दूरी पर जा रहा है जब हम सो रहे हैं। मैंने मूल रूप से ~$10 के लिए सिर्फ एक TMC2209 ड्राइवर खरीदा था, लेकिन 4 का एक पैक खरीदना समाप्त कर दिया क्योंकि मुझे पहली बार में कुछ कठिनाई हुई थी और मैं यह सुनिश्चित करना चाहता था कि मैंने किसी बिंदु पर बोर्ड को तला नहीं था। मैं वास्तव में 3 बोर्डों को मार रहा था, जो मुझे मेरे अगले आइटम पर लाता है … कैपेसिटर! ($ 10) आपको वास्तव में केवल 1 47 यूएफ 50 वी कैपेसिटर की आवश्यकता है, इसलिए 240 का यह बॉक्स ओवरकिल था। 36 वी बिजली की आपूर्ति ($ 17) मैंने मूल रूप से 12 वी की आपूर्ति खरीदी, फिर पता चला कि यह मेरी सभी परेशानियों का स्रोत था और एक मिला जो अधिकतम वोल्टेज के करीब था जिसे मेरी स्टेपर मोटर संभाल सकती थी। यदि आप एक अलग मोटर या स्टेपर ड्राइवर का उपयोग करते हैं, तो सुनिश्चित करें कि यह वोल्टेज (वी) को संभाल सकता है और आपूर्ति का एम्परेज (ए) कम से कम मोटर द्वारा खींचे गए शिखर एम्प्स जितना ऊंचा है। महिला पावर जैक सॉकेट ($8) यह वह है जो बिजली की आपूर्ति प्लग करता है। आपको इन्हें अपने ब्रेडबोर्ड में चिपकाने के लिए कुछ तारों में मिलाप करना होगा। जंपर्स का एक बड़ा पैक ($ 9) ताकि मैं कमरे में जहां चाहे वहां नियंत्रण रख सकूं।

चालू/बंद, आदि के लिए बटन ($8)

एक माइक्रोफ़ोन amp ($11) ओह, याल को नहीं पता था कि यह ध्वनि सक्रिय भी थी?

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

चरण 1: अपने स्टेपर ड्राइवर पिनआउट से खुद को परिचित करें

अपने ब्रेडबोर्ड पर Arduino 5V/GND वायर करें
अपने ब्रेडबोर्ड पर Arduino 5V/GND वायर करें

मेरे द्वारा उपयोग किए गए मॉडलिंग प्रोग्राम में यह सटीक ड्राइवर बोर्ड नहीं था, इसलिए आपको इस छवि का संदर्भ देना होगा। मैंने सब कुछ इस छवि के समान अभिविन्यास में व्यवस्थित किया है।

चरण 2: अपने ब्रेडबोर्ड पर Arduino 5V/GND वायर करें

अपने ब्रेडबोर्ड के एक तरफ Arduino 5V से "+" रेल से एक तार कनेक्ट करें ब्रेडबोर्ड के एक ही तरफ Arduino GND के "-" रेल में से एक तार को कनेक्ट करें

(अनदेखा करें

चरण 3: +/- रेल को VIO/GND. से कनेक्ट करें

+/- रेल को VIO/GND. से कनेक्ट करें
+/- रेल को VIO/GND. से कनेक्ट करें

स्टेपर ड्राइवर बोर्ड के नीचे बाईं ओर "-" रेल से जीएनडी से एक तार कनेक्ट करें। "+" रेल से वीआईओ से एक तार कनेक्ट करें

चरण 4: Arduino पर DIR/STEP को डिजिटल पिन से कनेक्ट करें

Arduino पर DIR/STEP को डिजिटल पिन से कनेक्ट करें
Arduino पर DIR/STEP को डिजिटल पिन से कनेक्ट करें

स्टेपर ड्राइवर बोर्ड से DIR और STEP पिन को Arduino पर दो डिजिटल पिन से कनेक्ट करें। मैंने क्रमशः पिन 2 और 3 का उपयोग किया, लेकिन इससे कोई फर्क नहीं पड़ता जब तक आप बाद में अपने कोड में पिन सेट करते हैं।

चरण 5: आगे बढ़ें और उस संधारित्र को जोड़ें…

चलिए आगे बढ़ते हैं और उस संधारित्र को जोड़ते हैं…
चलिए आगे बढ़ते हैं और उस संधारित्र को जोड़ते हैं…

मैंने 2 स्टेपर ड्राइवर बोर्ड जला दिए क्योंकि मेरे पास कैपेसिटर नहीं था, तो चलिए आगे बढ़ते हैं और 47uF 50V कैपेसिटर को ड्राइवर बोर्ड पर VM/GND पिन में जोड़ते हैं। सुनिश्चित करें कि संधारित्र पर "-" पिन ब्रेडबोर्ड पर GND पिन में है (संधारित्र के संगत पक्ष पर "-" होगा)

चरण 6: और आगे बढ़ें और उस GND. को कनेक्ट करें

और आगे बढ़ो और उस GND. को कनेक्ट करो
और आगे बढ़ो और उस GND. को कनेक्ट करो

जिस GND में आपने अभी-अभी कैपेसिटर जोड़ा है, आगे बढ़ें और उसे उसी "-" रेल से दूसरे GND के रूप में कनेक्ट करें।

चरण 7: मोटर को ड्राइवर से कनेक्ट करें

मोटर को ड्राइवर से कनेक्ट करें
मोटर को ड्राइवर से कनेक्ट करें

कौन सा पिन कहां जाता है यह आपके द्वारा खरीदी गई मोटर पर निर्भर करेगा, लेकिन जो मैंने सूचीबद्ध किया है उसका अमेज़ॅन लिस्टिंग पर वायरिंग आरेख है।

मेरी मोटर के लिए -

ग्रीन और ब्लैक को M2B और M2A से कनेक्ट करें

लाल और नीले रंग को M1A और M1B से कनेक्ट करें नोट: यदि किसी भी कारण से आपकी मोटर में आरेख नहीं है, तो आप आसानी से यह पता लगा सकते हैं कि यदि आपके पास मल्टीमीटर है तो कौन से तार सर्किट बनाते हैं। अपने मल्टीमीटर को कम एम्पियर सेटिंग पर सेट करें और अपनी मोटर को डिस्कनेक्ट कर दें। मल्टीमीटर में से एक को मोटर के तारों में से एक को स्पर्श करें, और फिर दूसरे तारों में से प्रत्येक को दूसरे तार के साथ आज़माएं। यदि आपको एक प्रतिरोध रीडिंग मिलती है, तो वे दो तार 1 सर्किट बनाते हैं, और अन्य दो दूसरे को बनाते हैं।

चरण 8: EN, MS1 और MS2 को "-" से कनेक्ट करें

EN, MS1 और MS2 को से कनेक्ट करें
EN, MS1 और MS2 को से कनेक्ट करें

मुझे पूरा यकीन नहीं है कि यह आवश्यक है, लेकिन मेरा मानना है कि यह मोटर को TMC2209 ड्राइवर पर एक छोटे माइक्रोस्टेप सेटिंग में सेट करता है। आप उन्हें उनके निकटतम रेल "-" रेल से जोड़ सकते हैं, क्योंकि हम इसे बाद में दूसरी तरफ से जोड़ेंगे।

चरण 9: एक महिला पावर कनेक्टर को दो तारों में मिलाएं

एक महिला पावर कनेक्टर को दो तारों में मिलाएं
एक महिला पावर कनेक्टर को दो तारों में मिलाएं

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

चरण 10: अपने नए सोल्डर किए गए महिला कनेक्टर को कनेक्ट करें

अपने नए सोल्डर किए गए महिला कनेक्टर को कनेक्ट करें
अपने नए सोल्डर किए गए महिला कनेक्टर को कनेक्ट करें

कृपया अपनी वास्तविक बिजली आपूर्ति अभी तक प्लग न करें। लाल तार "+", काला से "-"

चरण 11: उन्हें VM/GND से कनेक्ट करें

उनको VM/GND से कनेक्ट करें
उनको VM/GND से कनेक्ट करें

उन "+" और "-" रेल को VM और उसके आगे GND से कनेक्ट करें। जिन पर कैपेसिटर है।

चरण 12: अपनी हस्तकला की प्रशंसा करें

आपकी हस्तकला की प्रशंसा करें
आपकी हस्तकला की प्रशंसा करें

ठीक है, अब आपके पास मोटर और ड्राइवर पूरी तरह से सेट हो गया है! यहाँ से हम केवल नियंत्रण कर रहे होंगे। वैसे, आगे बढ़ते हुए:

  • यदि आपने किसी कारण से अपने ड्राइवर को डिस्कनेक्ट कर दिया है, तो आपकी 36V पावर प्लग इन होने पर इसे कनेक्ट करने का प्रयास न करें। मैंने अपने तीसरे ड्राइवर बोर्ड को उसी तरह मार दिया।
  • Arduino पावर में प्लग करने से पहले 36V पावर प्लग इन करें। मैंने व्यक्तिगत रूप से एक Arduino फ्राई नहीं किया था, लेकिन रास्ते में मैंने इसके बारे में कई चेतावनी देखी।

चरण 13: वैकल्पिक - अपना वीआरईएफ जांचें

TMC2209 में एक पोटेंशियोमीटर है जो मोटर में करंट को नियंत्रित करता है। अगर आपको वही ड्राइवर मिला जो मैंने किया था, तो आप उसके बारे में यहाँ पढ़ सकते हैं। यदि आप सेटिंग समायोजित करना चाहते हैं:

  • सभी बिजली डिस्कनेक्ट करें और ड्राइवर से मोटर तारों को डिस्कनेक्ट करें।
  • ड्राइवर के EN (सक्षम) पिन से तार को डिस्कनेक्ट करें। यह ऊपरी बाएँ कोने में पिन है।
  • अपने मोटर बिजली की आपूर्ति में प्लग करें (36V एक)
  • 20V पर एक मल्टीमीटर सेट का उपयोग करते हुए, एक लीड को GND के स्रोत से स्पर्श करें (मैंने अपने "-" रेल से कनेक्ट होने वाले तार का उपयोग किया) और दूसरे लीड को VREF पिन से स्पर्श करें। कृपया लीड को किसी और चीज़ से न छुएं, यदि आप ऐसा करते हैं तो आप अपने ड्राइवर को छोटा कर सकते हैं।
  • पोटेंशियोमीटर स्क्रू को धीरे से एडजस्ट करने के लिए एक छोटे स्क्रूड्राइवर का उपयोग करें। मेरे बोर्ड के लिए, वामावर्त = अधिक शक्ति। मेरा वीआरईएफ व्यक्तिगत रूप से ~ 0.6V पढ़ता है।

चरण 14: बटन

बटन!
बटन!

अगला, अपने बटनों को इस तरह कनेक्ट करें। उन्हें सत्ता की जरूरत नहीं है।

  • अपने बटन ब्रेडबोर्ड की "-" रेल को Arduino के GND में से किसी एक से कनेक्ट करें। यदि आप चाहें तो आप इसे अन्य ब्रेडबोर्ड के "-" रेल से भी बंद कर सकते हैं।
  • प्रत्येक बटन के एक पिन को "-" रेल से कनेक्ट करें
  • प्रत्येक बटन के दूसरे पिन को Arduino पर एक डिजिटल पिन से कनेक्ट करें।

मैंने 4 बटन का उपयोग किया: मोटर चालू/बंद

मोटर जारी रखें

माइक्रोफ़ोन चालू

माइक्रोफ़ोन बंद

इन पर और अधिक जब हम कोड प्राप्त करते हैं, लेकिन मैंने अलग-अलग माइक्रोफ़ोन बटन का उपयोग केवल इसलिए किया क्योंकि मेरे पास एलईडी नहीं था, मुझे यह बताने के लिए कि क्या माइक चालू या बंद था, इसलिए अलग-अलग ऑन/ऑफ बटन होने से यह फुलप्रूफ हो गया।

चरण 15: माइक्रोफ़ोन बोर्ड जोड़ें

माइक्रोफ़ोन बोर्ड जोड़ें
माइक्रोफ़ोन बोर्ड जोड़ें

यह एक सरल है, और Adafruit के यहाँ अच्छे निर्देश (और सोल्डरिंग मूल बातें!) हैं।

  • "-" को GND. से कनेक्ट करें
  • जीएनडी को माइक बोर्ड पर "-" से कनेक्ट करें (आप सीधे जीएनडी को जीएनडी से जोड़ सकते हैं और पिछले चरण को छोड़ सकते हैं, वास्तव में)
  • Arduino पर VCC को 3.3V पावर से कनेक्ट करें। यह महत्वपूर्ण है क्योंकि यह बिजली आपूर्ति 5V की तुलना में कम "शोर" करती है, जिसके परिणामस्वरूप बेहतर माइक्रोफ़ोन रीडिंग होती है
  • Arduino पर एक ANALOG IN पिन से कनेक्ट करें। मैंने ए0 का इस्तेमाल किया।

चरण 16: यह अंतिम परिणाम होना चाहिए

यह अंतिम परिणाम होना चाहिए!
यह अंतिम परिणाम होना चाहिए!
यह अंतिम परिणाम होना चाहिए!
यह अंतिम परिणाम होना चाहिए!

अब सब कुछ तैयार होना चाहिए। यहाँ अंतिम आरेख और वास्तविकता में मेरे तारों की गड़गड़ाहट की एक तस्वीर है। आइए कुछ कोड देखें!

चरण 17: कोड

ठीक है, आइए कोड देखें! यह मेरा सबसे साफ काम नहीं है, लेकिन इससे काम हो जाता है। मैंने यहाँ सब कुछ समझाने के लिए टिप्पणियाँ जोड़ी हैं, लेकिन मेरे साथ सहन करें। मैंने इस सब के लिए Arduino IDE का उपयोग किया (विंडोज और मैक पर मुफ्त में उपलब्ध) जिस्ट यह है: मोटर की गति और मोड़ने के लिए दूरी निर्धारित करें।

करने के लिए कई चट्टानों (झूलों) को सेट करें।

1 स्विंग के लिए निर्धारित दूरी को चालू करें। एक निश्चित संख्या में बार-बार घुमाएँ।

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

#शामिल करें // "मानक" स्टेपर मोटर लाइब्रेरी

//#DEBUG 1 को परिभाषित करें // जब आप माइक्रोफ़ोन स्तरों को समायोजित करना चाहते हैं तो इसे असंबद्ध करें // बटन सेटअप - ये उस स्थान से मेल खाते हैं जहां आप बटन से जुड़े डिजिटल पिन कॉन्स्ट int motorEnablePin = 10; कॉन्स्ट इंट कंटिन्यूपिन = 11; const int micDisablePin = १२; const int micEnablePin = १३; // माइक सेटअप - ए0 यहां माइक के लिए एनालॉग है। नमूना विंडो मिलिस कॉन्स int micPin = A0 में है; कॉन्स्ट इंट नमूनाविंडो = 1000; अहस्ताक्षरित इंट नमूना; बूल माइक सक्षम = झूठा; डबल माइक्रोसेंसिटिविटी = ०.५३; // आपको शायद इसे बदलने की आवश्यकता होगी // मेरे लिए, लगभग.5 छोटे कूइंग पर आग नहीं लगाने के लिए पर्याप्त था // लेकिन छोटे रोने के लिए आग लग जाएगी int stepsPerRevolution = 3200; // अपनी मोटर के लिए प्रति क्रांति चरणों की संख्या फिट करने के लिए इसे बदलें // मेरी मोटर 200 कदम / क्रांति है // लेकिन मैंने ड्राइवर को 1/16 माइक्रोस्टेप्स पर सेट किया है // तो 200 * 16 = 3200 … ईमानदारी से कोई विचार नहीं है उचित तरीका है // इस स्टेपर को करने के लिए myStepper(stepsPerRevolution, 2, 3); // 2 और 3 DIR और STEP पिन हैं int stepCount = 0; इंट मोटरस्पीड = ९५; // आपको इसे अपने पालने और बच्चे के वजन के अनुसार समायोजित करने की आवश्यकता होगी int numSteps = 90; // मोटर जितनी दूरी तय करेगी। // आपको इसे अपनी मोटर से संलग्न पहिया के त्रिज्या के आधार पर समायोजित करने की आवश्यकता होगी। यह और गति संभवतः परीक्षण और त्रुटि होगी। // नोट - स्टेपर मोटर्स पर उच्च गति = कम प्रभावी टॉर्क // यदि आपके पास पर्याप्त टॉर्क नहीं है, तो आपकी मोटर स्टेप्स को छोड़ देगी (हिल नहीं जाएगी) int oldmotorButtonValue = HIGH; बूल सक्षम = झूठा; // मोटर सक्षम? इंट लूपस्टार्टवैल्यू = 0; इंट मैक्सरॉक्स = १००; // इंट रॉककाउंट = 0 को बंद करने से पहले आप इसे कितनी बार रॉक करना चाहते हैं; शून्य सेटअप () {#ifdef DEBUG Serial.begin(9600); // डिबग लॉगिंग के लिए #endif pinMode(motorEnablePin, INPUT_PULLUP); // यह पावर पिनमोड के बिना बटन के काम करने के लिए एक सेटिंग है (जारी रखें, INPUT_PULLUP); पिनमोड (micEnablePin, INPUT_PULLUP); पिनमोड (micDisablePin, INPUT_PULLUP); myStepper.setSpeed (मोटरस्पीड); // आपके द्वारा पहले निर्दिष्ट की गई मोटर गति को सेट करता है} शून्य लूप () {int motorButtonValue = digitalRead (motorEnablePin); // digitalRead केवल बटन मान पढ़ता है int ContinueValue = digitalRead (continuePin); // यह मोटर बटन प्रेस का पता लगाता है और इसे प्रति क्लिक एक से अधिक बार फायरिंग से रोकता है अगर (motorButtonValue == High && oldmotorButtonValue == LOW) {सक्षम =! सक्षम; } माइकचेक (); // यदि मोटर बंद है, और माइक चालू है, तो बच्चे के रोने की आवाज़ सुनें यदि (! सक्षम && micEnabled) {if(getMicReading() >= micSensitivity) सक्षम = सत्य; } अगर (सक्षम) { stepsPerRevolution = stepsPerRevolution * -1; // रिवर्स दिशा // मेरे सेटअप के साथ // पहले स्विंग पर रिवर्स करने के लिए यह अधिक प्रभावी है। आप इसे लूप के बाद रख सकते हैं // यदि यह आपके लिए मामला नहीं है // स्पिन मोटर ऊपर निर्दिष्ट दूरी के लिए (int i = लूपस्टार्टवैल्यू; i <numSteps; i ++) {// चेक करें int tempmotorButtonValue = digitalRead (motorEnablePin) बंद करें); अगर (tempmotorButtonValue!= motorButtonValue) {रॉककाउंट = 0; // ये अगली दो लाइनें मोटर की स्थिति को "सेव" करती हैं, ताकि अगली बार जब आप इसे चालू करें // यह यात्रा करना जारी रखेगी जैसे कि आपने इसे बंद नहीं किया था। यह फेंकने से रोकता है//आपके आंदोलन की दूरी loopStartValue = i; // स्थिति को बचाने के लिए चरण प्रति क्रांति = चरण प्रति क्रांति * -1; // दिशा बनाए रखें oldmotorButtonValue = tempmotorButtonValue; टूटना; } चेककंटिन्यू (जारी रखें); // जांचें कि क्या जारी रखें बटन दबाया गया था micCheck (); myStepper.step(stepsPerRevolution / 50); // प्रति लूप कितने कदम उठाने हैं, // आपको इसे समायोजित करने की आवश्यकता हो सकती है // सुनिश्चित करें कि हम पूर्ण लूप दूरी जारी रखते हैं यदि लूप समाप्त हो गया है // यह चलन में आता है यदि आपने मोटर को स्वयं बंद कर दिया और यह "बचाया" स्थिति अगर (i == numSteps - 1) {loopStartValue = 0; } } } विलम्ब (१००); // अगला रॉक करने से पहले 100 मिली रोकें। आपको इसे समायोजित करने की आवश्यकता होगी। अगर (सक्षम) चेक पूर्ण (); OldmotorButtonValue = motorButtonValue; // इसका उपयोग डबल क्लिक को रोकने के लिए किया जाता है } // यह कोड सीधे Adafruit से है। डबल getMicReading () {अहस्ताक्षरित लंबी शुरुआतमिलिस = मिली (); अहस्ताक्षरित इंट पीकटॉप = 0; // पीक-टू-पीक स्तर अहस्ताक्षरित int सिग्नलमैक्स = 0; अहस्ताक्षरित इंट सिग्नलमिन = १०२४; जबकि (मिली () - स्टार्टमिलिस <नमूनाविंडो) { micCheck (); अगर (डिजिटल रीड (मोटरइनेबलपिन) == कम) सक्षम = सत्य; नमूना = एनालॉगरेड (माइकपिन); अगर (नमूना सिग्नलमैक्स) {सिग्नलमैक्स = नमूना; // केवल अधिकतम स्तरों को बचाएं} और अगर (नमूना = मैक्सरॉक्स) {सक्षम = झूठा; रॉककाउंट = 0; // मध्य स्थिति में लौटें

for(int i = loopStartValue; i < numSteps/2; i++){

myStepper.step(stepsPerRevolution * -1 / 50); // एक क्रांति का चरण 1/100:

}

} }

चरण 18: माउंटिंग और व्हील सेटअप

माउंटिंग और व्हील सेटअप
माउंटिंग और व्हील सेटअप

यह अभी भी मेरे लिए एक डब्ल्यूआईपी है, क्योंकि जैसा कि मैंने कहा था कि मुझे यकीन नहीं है कि मैं अभी तक अपने पालने में पेंच डालना चाहता हूं। जिस तरह से मैंने अपने ऊपर धांधली की है वह इस प्रकार है:

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

तीसरे चरण का बेहतर समाधान यह है कि पहले स्थान पर एक बड़ा व्यास चरखी पहिया खरीदें। मेरा खांचे के अंदर व्यास में 3 से थोड़ा कम है और मेरे विशेष पालने के लिए वास्तव में अच्छी तरह से काम करता है।

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

चरण 19: अंतिम सेटअप

अंतिम सेटअप
अंतिम सेटअप

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

सिफारिश की: