সুচিপত্র:

Arduino Servo ড্রাম মেশিন: 4 ধাপ
Arduino Servo ড্রাম মেশিন: 4 ধাপ

ভিডিও: Arduino Servo ড্রাম মেশিন: 4 ধাপ

ভিডিও: Arduino Servo ড্রাম মেশিন: 4 ধাপ
ভিডিও: Простая ритм-машина🥁 на основе двух транзисторов (своими руками) 2024, নভেম্বর
Anonim
Image
Image

এটি একটি সাধারণ দুটি মাইক্রো-সার্ভো এবং আরডুইনো ইউনো নিয়ন্ত্রিত ড্রাম মেশিন বা রোবট। Servos কাঠের একটি এল আকৃতির বন্ধনী উপর মাউন্ট করা হয় যে 4 শক্তিশালী চুম্বক সঙ্গে ফাঁদ ড্রাম রাখা হয়। সার্ভো বাহু দুটি চপস্টিকে বোল্ট করা হয় যা ড্রাম-স্টিক হিসাবে কাজ করে। এটি বেশ জোরে কিন্তু খুব জোরে নয়। স্ট্যান্ডার্ড সাইজের সার্ভোস এবং আসল ড্রাম-স্টিক ব্যবহার করে অনেক জোরে হিট পাওয়া যেতে পারে যা বেশ ভারী। কিন্তু এর জন্য সার্ভিসের জন্য আলাদা বিদ্যুৎ সরবরাহের প্রয়োজন হবে। মাইক্রো-সার্ভোস ব্যবহার করে Arduino একটি পৃথক পাওয়ার সাপ্লাই ছাড়াই সরাসরি তাদের পাওয়ার জন্য পর্যাপ্ত কারেন্ট সরবরাহ করে।

ভিডিওটি ওয়াইপআউট ড্রাম সোলোর একটি সহজ সংস্করণ প্রোগ্রাম করার আমার প্রচেষ্টা দেখায়। অবশ্যই এটি প্রতি মিনিটে আসল 160 বিট নয় কিন্তু এটি সহজেই অন্য সার্ভো যোগ করে পাওয়া যেতে পারে যা খুব সুন্দর হবে। আমি কোন সার্ভো ব্যবহার করে যে উপরের bpm পেতে পারি তা হিসাব করিনি এবং ড্রামস্টিককে তার পার্ক করা অবস্থান থেকে ড্রাম-হেড পর্যন্ত পেতে কিছুটা বিলম্ব প্রয়োজন।

আপনি যে ছন্দগুলি তৈরি করতে পারেন তা কেবল আপনার কল্পনা দ্বারা সীমাবদ্ধ এবং যদি আপনি একজন সঙ্গীতশিল্পী হন তবে ড্রাম মেশিনটি ডিজিটাল ড্রাম মেশিনের চেয়ে বাজানো আরও আকর্ষণীয় সঙ্গী।

একমাত্র নেতিবাচক দিক হল সার্ভো গোলমাল যা সত্যিই লক্ষণীয় নয় যদিও ক্যামেরা অডিও এটি বেশ উল্লেখযোগ্যভাবে তুলে ধরেছে।

ধাপ 1: Servo বন্ধনী তৈরি করুন

Servo বন্ধনী তৈরি করুন
Servo বন্ধনী তৈরি করুন
Servo বন্ধনী তৈরি করুন
Servo বন্ধনী তৈরি করুন

এই বন্ধনীটি আমার হাতে থাকা শখের প্লাইউডের কিছু স্ট্রিপ থেকে তৈরি করা হয়েছে। আমি একটি ধাতব এল-বন্ধনী দিয়ে দুটি টুকরা বোল্ট করে একটি এল-আকৃতি তৈরি করেছি। তারপর কাঠের একটি ছোট ব্লক দুইটি সার্ভস ধরে রাখার জন্য উপরের স্ট্রিপে আঠালো করা হয়েছিল।

আমার দুটি সহজ সার্ভো বন্ধনী ছিল যা আমি কাঠের ব্লকে স্ক্রু করেছি।

ফাঁসির ড্রামে বন্ধনী ধরতে আমি 4 টি নিওডিয়ামিয়াম চুম্বক ব্যবহার করেছি।

ধাপ 2: Arduino Uno এ Servos ওয়্যার করুন

Arduino Uno এ Servos ওয়্যার করুন
Arduino Uno এ Servos ওয়্যার করুন

Servos vcc (মধ্যম তারের) Arduino 5 v পিনে যায়।

Arduino মাটিতে গ্রাউন্ড তারগুলি।

সিগন্যাল তারগুলি পিন 6 এবং 7 এ যায়।

যদি আপনার একটি থাকে তবে একটি সার্ভো ieldাল এটি আরও সহজ করে তুলবে।

ধাপ 3: Arduino কোড …

নিচে Wipeout খেলার সহজ স্কেচ দেওয়া হল। আপনার নির্দিষ্ট সেটআপের জন্য আপনাকে কেবল সার্ভো অবস্থানগুলি সামঞ্জস্য করতে হবে।

আনন্দ কর!

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

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

#"servo.h" অন্তর্ভুক্ত করুন

// সার্ভো ড্রামার জিম ডেমেলো জুন 2018

Servo myservo1, myservo2;

int servoPin6 = 6; // servo

int servoPin7 = 7;

অকার্যকর myServo (int servoPosition, int servoNumber) {

যদি (servoNumber == 1) {

myservo1.write (servoPosition);

}

যদি (servoNumber == 2) {

myservo2.write (servoPosition);

}

}

অকার্যকর doOneEighthNote (int servoNumber, int beat) {

int delayVal = 60;

যদি (servoNumber == 1) {

যদি (বীট) {বীট = 10; // যদি বীট = 1 তারপর শক্তিশালী থাম্পের জন্য আরও কিছু সার্ভো ডাউন যোগ করুন

}

myServo (150 + বীট, servoNumber); // নিচে

বিলম্ব (বিলম্ব);

myServo (100, servoNumber); // আপ

বিলম্ব (বিলম্ব);

}

যদি (servoNumber == 2) {

যদি (বীট) বীট = -10;

myServo (60 + বীট, servoNumber); // নিচে

বিলম্ব (বিলম্ব);

myServo (80, servoNumber); // আপ

বিলম্ব (বিলম্ব);

}

}

অকার্যকর সেটআপ()

{

// Serial.begin (9600);

myservo1.attach (servoPin6, 1000, 2000); // সার্ভো অবজেক্টে পিন 9 এ সার্ভো সংযুক্ত করে

myservo1.write (100);

myservo2.attach (servoPin7, 1000, 2000); // সার্ভো অবজেক্টে পিন 9 এ সার্ভো সংযুক্ত করে

myservo2.write (90);

}

অকার্যকর লুপ () {

অপনোদন করা(); // wipeout ড্রাম রুটিন

// 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);

}

প্রস্তাবিত: