विषयसूची:

Arduino सर्वो ड्रम मशीन: 4 कदम
Arduino सर्वो ड्रम मशीन: 4 कदम

वीडियो: Arduino सर्वो ड्रम मशीन: 4 कदम

वीडियो: Arduino सर्वो ड्रम मशीन: 4 कदम
वीडियो: Amazing arduino project 2024, नवंबर
Anonim
Image
Image

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

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

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

केवल नकारात्मक पक्ष सर्वो शोर है जो वास्तव में ध्यान देने योग्य नहीं है, हालांकि कैमरा ऑडियो इसे काफी उल्लेखनीय रूप से उठाता है।

चरण 1: सर्वो ब्रैकेट बनाएं

सर्वो ब्रैकेट बनाएं
सर्वो ब्रैकेट बनाएं
सर्वो ब्रैकेट बनाएं
सर्वो ब्रैकेट बनाएं

यह ब्रैकेट हॉबी प्लाईवुड के कुछ स्ट्रिप्स से बनाया गया है जो मेरे हाथ में था। मैंने धातु एल-ब्रैकेट के साथ दो टुकड़ों को एक साथ बोल्ट करके एल-आकार बनाया। फिर दो सर्वो को पकड़ने के लिए लकड़ी के एक छोटे से ब्लॉक को शीर्ष पट्टी से चिपका दिया गया।

मेरे पास दो आसान सर्वो ब्रैकेट थे जिन्हें मैंने लकड़ी के ब्लॉक में खराब कर दिया था।

मैंने ब्रैकेट को स्नेयर ड्रम में रखने के लिए 4 नियोडिमियम मैग्नेट का इस्तेमाल किया।

चरण 2: सर्वो को Arduino Uno. पर तार करें

Arduino Uno. को सर्वो को तार दें
Arduino Uno. को सर्वो को तार दें

सर्वोस वीसीसी (मध्य तार) Arduino 5 v पिन पर जाता है।

अरुडिनो ग्राउंड के लिए ग्राउंड तार।

सिग्नल के तार पिन 6 और 7 पर जाते हैं।

यदि आपके पास एक सर्वो शील्ड है तो यह और भी आसान हो जाएगा।

चरण 3: Arduino कोड…

वाइपआउट खेलने के लिए सरल स्केच नीचे दिया गया है। आपको बस अपने विशेष सेटअप के लिए सर्वो पदों को समायोजित करना होगा।

मज़े करो!

///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

#शामिल "सर्वो.एच"

// सर्वो ड्रमर जिम डेमेलो जून 2018

सर्वो myservo1, myservo2;

इंट सर्वोपिन6 = 6; // सर्वो

इंट सर्वोपिन७ = ७;

शून्य myServo (इंट सर्वोपोजिशन, इंट सर्वो नंबर) {

अगर (सर्वो नम्बर == 1) {

myservo1.write(servoPosition);

}

अगर (सर्वो नम्बर == 2) {

myservo2.write(servoPosition);

}

}

शून्य doOneEightthNote (इंट सर्वो नंबर, इंट बीट) {

इंट देरीवैल = ६०;

अगर (सर्वो नम्बर == 1) {

अगर (बीट) {बीट = 10; // अगर बीट = 1 है तो मजबूत थंप के लिए थोड़ा और सर्वो नीचे जोड़ें

}

myServo (150 + बीट, सर्वो नंबर); //नीचे

देरी (देरीवैल);

myServo (१००, सर्वो नंबर); // up

देरी (देरीवैल);

}

अगर (सर्वो नम्बर == 2) {

अगर (बीट) हरा = -10;

myServo (60 + बीट, सर्वो नंबर); //नीचे

देरी (देरीवैल);

myServo (80, सर्वो नंबर); // up

देरी (देरीवैल);

}

}

व्यर्थ व्यवस्था()

{

// सीरियल.बेगिन (९६००);

myservo1.attach(servoPin6, 1000, 2000); // सर्वो को पिन 9 पर सर्वो ऑब्जेक्ट से जोड़ता है

myservo1.लिखें (१००);

myservo2.attach(servoPin7, 1000, 2000); // सर्वो को पिन 9 पर सर्वो ऑब्जेक्ट से जोड़ता है

myservo2.लिखें (९०);

}

शून्य लूप () {

मिटा देना(); // वाइपआउट ड्रम रूटीन

// doOneEightthNote (2, 0);

देरी (40);

}

शून्य वाइपआउट () {

doOneEightthNote(2, 1); doOneEightthNote(1, 0); doOneEightthNote(2, 0); doOneEightthNote(1, 0); // पहला परम सर्वो संख्या है और दूसरा परम हरा है (1 = हरा, 0 = कोई हरा नहीं)

doOneEightthNote(2, 1); doOneEightthNote(1, 0); doOneEightthNote(2, 0); doOneEightthNote(1, 0);

doOneEightthNote(2, 1); doOneEightthNote(1, 0); doOneEightthNote(2, 0); doOneEightthNote(1, 0);

doOneEightthNote(2, 1); doOneEightthNote(1, 0); doOneEightthNote(2, 0); doOneEightthNote(1, 0);

doOneEightthNote(2, 1); doOneEightthNote(1, 0); doOneEightthNote(2, 0); doOneEightthNote(1, 0);

doOneEightthNote(2, 0); doOneEightthNote(1, 0); doOneEightthNote(2, 1); doOneEightthNote(1, 0);

doOneEightthNote(2, 0); doOneEightthNote(1, 0); doOneEightthNote(2, 0); doOneEightthNote(1, 0);

doOneEightthNote(2, 1); doOneEightthNote(1, 0); doOneEightthNote(2, 0); doOneEightthNote(1, 0);

doOneEightthNote(2, 1); doOneEightthNote(1, 0); doOneEightthNote(2, 0); doOneEightthNote(1, 0);

doOneEightthNote(2, 1); doOneEightthNote(1, 0); doOneEightthNote(2, 0); doOneEightthNote(1, 0);

doOneEightthNote(2, 1); doOneEightthNote(1, 0); doOneEightthNote(2, 0); doOneEightthNote(1, 0);

doOneEightthNote(2, 1); doOneEightthNote(1, 0); doOneEightthNote(2, 0); doOneEightthNote(1, 0);

doOneEightthNote(2, 1); doOneEightthNote(1, 0); doOneEightthNote(2, 0); doOneEightthNote(1, 0);

doOneEightthNote(2, 0); doOneEightthNote(1, 0); doOneEightthNote(2, 1); doOneEightthNote(1, 0);

doOneEightthNote(2, 0); doOneEightthNote(1, 0); doOneEightthNote(2, 1); doOneEightthNote(1, 0);

doOneEightthNote(2, 0); doOneEightthNote(1, 0); doOneEightthNote(2, 0); doOneEightthNote(1, 0);

}

सिफारिश की: