جدول المحتويات:

آلة طبل اردوينو المؤازرة: 4 خطوات
آلة طبل اردوينو المؤازرة: 4 خطوات

فيديو: آلة طبل اردوينو المؤازرة: 4 خطوات

فيديو: آلة طبل اردوينو المؤازرة: 4 خطوات
فيديو: Arduino SAMD21 drum machine w/ Mozzi synth lib 2024, شهر نوفمبر
Anonim
Image
Image

هذا عبارة عن آلة طبل أو روبوت بسيط من نوعين من أجهزة micro-servo و Arduino Uno. يتم تثبيت الماكينات على حامل من الخشب على شكل حرف L يتم تثبيته على أسطوانة الفخ مع 4 مغناطيسات قوية. يتم تثبيت أذرع المؤازرة في اثنين من عيدان تناول الطعام التي تعمل بمثابة عصي الطبل. إنه مرتفع جدًا ولكنه ليس مرتفعًا جدًا. يمكن الحصول على أصوات أعلى بكثير باستخدام أجهزة ذات حجم قياسي وعصي أسطوانة حقيقية أثقل قليلاً. ولكن هذا سيتطلب أيضًا مصدر طاقة منفصل للوحدات المؤازرة. باستخدام الماكينات الصغيرة ، يوفر Arduino تيارًا كافيًا لتشغيلها مباشرة بدون مصدر طاقة منفصل.

يُظهر الفيديو محاولتي في برمجة إصدار بسيط من طبلة Wipeout المنفردة. بالطبع ليس عند 160 نبضة في الدقيقة الحقيقية ولكن يمكن الحصول عليها بسهولة عن طريق إضافة مؤازرة أخرى والتي ستكون رائعة جدًا. لم أحسب ما هو أعلى نبضة في الدقيقة التي يمكن الحصول عليها باستخدام مؤازرة وتتطلب بعض التأخير في الحصول على مضرب الطبل من موضعه المتوقف إلى رأس الأسطوانة.

الإيقاعات التي يمكنك إنشاؤها محدودة فقط بخيالك وآلة الطبول هي رفيق أكثر تشويقًا للعب به من آلة الطبول الرقمية ، إذا كنت موسيقيًا.

الجانب السلبي الوحيد هو ضوضاء المؤازرة التي لا يمكن ملاحظتها حقًا على الرغم من أن صوت الكاميرا يبدو أنه يلتقطها بشكل ملحوظ.

الخطوة 1: بناء القوس المؤازر

بناء قوس المؤازرة
بناء قوس المؤازرة
بناء قوس المؤازرة
بناء قوس المؤازرة

هذا الحامل مصنوع من بعض شرائح الخشب الرقائقي الذي كان لدي في متناول اليد. لقد صنعت شكل L عن طريق ربط قطعتين مع قوس L معدني. ثم تم لصق كتلة صغيرة من الخشب على الشريط العلوي لتثبيت الماكينتين.

كان لدي قوسان مؤازران مفيدان قمت بربطهما بقطعة الخشب.

لقد استخدمت 4 مغناطيس نيوديميوم لتثبيت الدعامة على أسطوانة الفخ.

الخطوة 2: قم بتوصيل الماكينات بـ Arduino Uno

قم بتوصيل الماكينات إلى Arduino Uno
قم بتوصيل الماكينات إلى Arduino Uno

تذهب الماكينات vcc (السلك الأوسط) إلى دبابيس Arduino 5 v.

الأسلاك الأرضية إلى أرض اردوينو.

تذهب أسلاك الإشارة إلى المسامير 6 و 7.

سيجعل الدرع المؤازر الأمر أسهل إذا كان لديك واحد.

الخطوة 3: كود اردوينو …

يوجد أدناه الرسم البسيط للعب Wipeout. عليك فقط ضبط أوضاع المؤازرة للإعداد الخاص بك.

استمتع!

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

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

# تضمين "servo.h"

// مؤازر الطبال Jim Demello يونيو 2018

مضاعفات myservo1 ، myservo2 ؛

int servoPin6 = 6 ؛ // مؤازرة

int servoPin7 = 7 ؛

myServo باطل (int servoPosition، int servoNumber) {

إذا (servoNumber == 1) {

myservo1.write (servoPosition) ؛

}

إذا (servoNumber == 2) {

myservo2.write (servoPosition) ؛

}

}

void doOneEighthNote (int servoNumber، int beat) {

int delayVal = 60 ؛

إذا (servoNumber == 1) {

إذا (تغلب) {فاز = 10 ؛ // إذا فاز = 1 ثم أضف المزيد من المؤازرة لأسفل للحصول على رطم أقوى

}

myServo (150 + beat ، servoNumber) ؛ //تحت

تأخير (delayVal) ؛

myServo (100 ، servoNumber) ؛ // up

تأخير (delayVal) ؛

}

إذا (servoNumber == 2) {

إذا (فاز) فاز = -10 ؛

myServo (60 + beat ، servoNumber) ؛ //تحت

تأخير (delayVal) ؛

myServo (80، servoNumber) ؛ // up

تأخير (delayVal) ؛

}

}

الإعداد باطل()

{

// Serial.begin (9600) ؛

myservo1.attach (servoPin6، 1000، 2000) ؛ // يعلق المؤازرة على الدبوس 9 بجسم المؤازرة

myservo1.write (100) ؛

myservo2.attach (servoPin7، 1000، 2000) ؛ // يعلق المؤازرة على الدبوس 9 بجسم المؤازرة

myservo2.write (90) ،

}

حلقة فارغة() {

تمحو()؛ // مسح روتين الطبل

// doOneEighthNote (2، 0) ؛

تأخير (40) ؛

}

مسح باطل () {

doOneEighthNote (2، 1) ؛ doOneEighthNote (1، 0) ؛ doOneEighthNote (2، 0) ؛ doOneEighthNote (1، 0) ؛ // البارم الأول هو رقم المؤازرة والثاني هو الضرب (1 = فوز ، 0 = لا ضربات)

doOneEighthNote (2، 1) ؛ doOneEighthNote (1، 0) ؛ doOneEighthNote (2، 0) ؛ doOneEighthNote (1، 0) ؛

doOneEighthNote (2، 1) ؛ doOneEighthNote (1، 0) ؛ doOneEighthNote (2، 0) ؛ doOneEighthNote (1، 0) ؛

doOneEighthNote (2، 1) ؛ doOneEighthNote (1، 0) ؛ doOneEighthNote (2، 0) ؛ doOneEighthNote (1، 0) ؛

doOneEighthNote (2، 1) ؛ doOneEighthNote (1، 0) ؛ doOneEighthNote (2، 0) ؛ doOneEighthNote (1، 0) ؛

doOneEighthNote (2، 0) ؛ doOneEighthNote (1، 0) ؛ doOneEighthNote (2، 1) ؛ doOneEighthNote (1، 0) ؛

doOneEighthNote (2، 0) ؛ doOneEighthNote (1، 0) ؛ doOneEighthNote (2، 0) ؛ doOneEighthNote (1، 0) ؛

doOneEighthNote (2، 1) ؛ doOneEighthNote (1، 0) ؛ doOneEighthNote (2، 0) ؛ doOneEighthNote (1، 0) ؛

doOneEighthNote (2، 1) ؛ doOneEighthNote (1، 0) ؛ doOneEighthNote (2، 0) ؛ doOneEighthNote (1، 0) ؛

doOneEighthNote (2، 1) ؛ doOneEighthNote (1، 0) ؛ doOneEighthNote (2، 0) ؛ doOneEighthNote (1، 0) ؛

doOneEighthNote (2، 1) ؛ doOneEighthNote (1، 0) ؛ doOneEighthNote (2، 0) ؛ doOneEighthNote (1، 0) ؛

doOneEighthNote (2، 1) ؛ doOneEighthNote (1، 0) ؛ doOneEighthNote (2، 0) ؛ doOneEighthNote (1، 0) ؛

doOneEighthNote (2، 1) ؛ doOneEighthNote (1، 0) ؛ doOneEighthNote (2، 0) ؛ doOneEighthNote (1، 0) ؛

doOneEighthNote (2، 0) ؛ doOneEighthNote (1، 0) ؛ doOneEighthNote (2، 1) ؛ doOneEighthNote (1، 0) ؛

doOneEighthNote (2، 0) ؛ doOneEighthNote (1، 0) ؛ doOneEighthNote (2، 1) ؛ doOneEighthNote (1، 0) ؛

doOneEighthNote (2، 0) ؛ doOneEighthNote (1، 0) ؛ doOneEighthNote (2، 0) ؛ doOneEighthNote (1، 0) ؛

}

موصى به: