فهرست مطالب:

درام استودیو: 5 مرحله
درام استودیو: 5 مرحله

تصویری: درام استودیو: 5 مرحله

تصویری: درام استودیو: 5 مرحله
تصویری: لزبازی لیلا اوتادی چه لبی میگیره (نبینی از دستت رفته) 2024, نوامبر
Anonim
درام استودیو
درام استودیو

درامرها ساعت ها و ساعت ها به تمرین می پردازند … اما همه نمی توانند در خانه یک طبل داشته باشند: فضا و سر و صدا یک مشکل بزرگ است!

به همین دلیل ، ما می خواستیم یک درامک قابل حمل و بی صدا بسازیم که می توانید در خانه آن را بنوازید.

استفاده از این طبل بسیار آسان است ، فقط باید به پد ها ضربه بزنید و مانند یک طبل واقعی به نظر برسد! همچنین دارای یک صفحه نمایش است که در آن می توانید پد مورد نظر خود را ببینید. و اگر می خواهید از آن در حالت سکوت استفاده کنید ، فقط هدفون خود را به لپ تاپ متصل کنید!

مرحله 1: آنچه شما نیاز دارید

ماده

  • آردوینو اونو
  • تخته نان
  • مقداری سیم
  • 5 برابر پیزو
  • مقاومتهای 5x 1M اهم
  • 5 درب ظرف
  • فوم اوا
  • تخته فوم

برنامه ها:

  • آردوینو IDE
  • در حال پردازش

*برای بارگیری برنامه های فوق بر روی رایانه خود ، پیوندهای زیر را دنبال کنید:

  • https://www.arduino.cc/fa/main/software
  • https://www.arduino.cc/fa/main/software

مرحله 2: مدار را مونتاژ کنید

مدار را مونتاژ کنید
مدار را مونتاژ کنید
مدار را مونتاژ کنید
مدار را مونتاژ کنید

اول از همه ما باید به پیزوها (GND به قسمت زرد و سیم پین آنالوگ به قسمت سفید پیزو) لحیم کنیم.

ما برای اتصال همه چیز از یک تخته نان استفاده می کنیم.

همانطور که در نمودار بالا نشان داده شده است مقاومت و سیم های پیزو را وصل کنید. سپس سیم GND ورق ورق را به GND در آردوینو وصل کنید. در نهایت ، هر سیم پیزو را به یک پین آنالوگ در آردوینو خود مطابق شکل زیر وصل کنید.

Piezos متصل به پین های آنالوگ:

  • Caixa = A0 ؛
  • چارلز = A1؛
  • Tomtom = A2؛
  • خرابی = A3 ؛
  • بمبو = A4 ؛

مرحله 3: برنامه ریزی کنید

برنامه آن را
برنامه آن را

ما تصمیم گرفتیم به جای استفاده از یک برنامه از پیش تعیین شده ، نمایش مخصوص خود را برای درامکیت ایجاد کنیم. ما برای این کار از Processing استفاده کرده ایم.

ما آن را طوری برنامه ریزی کرده ایم که وقتی پیزو زده می شود ، صدای طبل مربوطه به گوش می رسد. علاوه بر این ، الگوی درام مربوطه روی صفحه روشن می شود.

شما باید پردازش صدا و پردازش کتابخانه های سریال را وارد کنید.

فراموش نکنید که صداهای درام را به یک پوشه داده اضافه کنید!

کد ARDUINO

// PIEZOS به پین های آنالوگ متصل هستند

const int caixa = A0؛

const int charles = A1؛

const int tomtom = A2؛

const int crash = A3؛

const int bombo = A4؛

const int threshold = 100؛ // مقدار آستانه برای تصمیم گیری در مورد اینکه صدای تشخیص داده شده ضربه ای است یا نه

// خواندن و ذخیره ارزش خوانده شده از پین های سنسور

int caixaReading = 0؛

int charlesReading = 0؛

int tomtomReading = 0 ؛

int crashReading = 0؛

int bomboReading = 0؛

void setup () {

Serial.begin (9600)؛ // از پورت سریال استفاده کنید

}

حلقه خالی () {

// سنسور را بخوانید و در سنسور متغیر ذخیره کنید

caixaReading = analogRead (caixa) ؛

// اگر خوانش سنسور بیشتر از آستانه باشد:

if (caixaReading> = آستانه) {

// اگر به CAIXA ضربه زده اید ، 0 را برای پردازش ارسال کنید

Serial.print ("0" ،) ؛

Serial.println (caixaReading) ؛

}

charlesReading = analogRead (شارلز)؛

if (charlesReading> = آستانه) {

// اگر به چارلز برخورد کردید ، 1 را به پردازش ارسال کنید

Serial.print ("1") ؛

Serial.println (caixaReading) ؛

}

tomtomReading = analogRead (tomtom)؛

if (tomtomReading> = آستانه) {

// اگر به CAIXA ضربه زده اید ، 2 را برای پردازش ارسال کنید

Serial.print ("2") ؛

Serial.println (tomtomReading)؛

}

crashReading = analogRead (خرابی) ؛

if (crashReading> = threshold) {

// اگر به CAIXA ضربه زده اید ، 3 را برای پردازش ارسال کنید

Serial.print ("3") ؛

Serial.println (crashReading) ؛

}

bomboReading = analogRead (بمبو)؛

if (bomboReading> = 15) {

// اگر به CAIXA ضربه زده اید ، 4 را برای پردازش ارسال کنید

Serial.print ("4") ؛

Serial.println (bomboReading) ؛

}

تأخیر (10) ؛ // تأخیر برای جلوگیری از بارگذاری بیش از حد بافر پورت سریال

}

کد پردازش

// وارد کردن کتابخانه های صدا و سریال

پردازش واردات. صدا.*؛

پردازش واردات. سریال.*؛

سریال myPort ؛ // ایجاد شی از کلاس Serial

رشته رشته ؛ // داده های دریافت شده از پورت سریال

// صداهای درام

SoundFile caixa؛

SoundFile charles؛

SoundFile tomtom؛

تصادف SoundFile ؛

SoundFile بمب؛

// تصاویر STUDIO DRUMS

PImage img0؛

PImage img1؛

PImage img2؛

PImage img3؛

PImage img4؛

PImage img5؛

PImage img6؛

// DRUMS STUDIO WAVES VARIBLES

شناور n = 0 ؛

شناور n2 = 1 ؛

شناور n3 = 2 ؛

شناور n4 = 3 ؛

شناور n5 = 4 ؛

شناور y = 0 ؛

شناور y2 = 1 ؛

شناور y3 = 2 ؛

شناور y4 = 3 ؛

شناور y5 = 4 ؛

void setup ()

{

// هر پورتی را باز کنید که از آن استفاده می کنید

String portName = Serial.list () [0]؛ // 0 را به 1 یا 2 و غیره تغییر دهید تا با پورت شما مطابقت داشته باشد

myPort = سریال جدید (این ، portName ، 9600) ؛

// DRUMS STUDIO CONSOLA

اندازه (720 ، 680) ؛

پس زمینه (15 ، 15 ، 15) ؛

سکته مغزی وزن (2) ؛

// بارگیری تصاویر STUDIO درام

img0 = loadImage ("drumsstudio.png")؛

img1 = loadImage ("res.png")؛

img2 = loadImage ("caixa.png")؛

img3 = loadImage ("charles.png")؛

img4 = loadImage ("tomtom.png")؛

img5 = loadImage ("crash.png")؛

img6 = loadImage ("bombo.png")؛

// LOAD SOUNDS

caixa = SoundFile جدید (این ، "caixa.aiff") ؛

charles = SoundFile جدید (این ، "charles.aiff") ؛

tomtom = SoundFile جدید (این ، "tomtom.aiff") ؛

تصادف = SoundFile جدید (این ، "crash.aiff") ؛

bombo = SoundFile جدید (این ، "bombo.aiff") ؛

}

خلاء قرعه کشی ()

{

// TITULO DRUMS STUDIO

تصویر (img0 ، 125 ، 0) ؛

// طراحی موج

if (y> 720) // امواج را دوباره شروع کنید

{

y = 0 ؛

y2 = 1 ؛

y3 = 2 ؛

y4 = 3 ؛

y5 = 4 ؛

}

پر (0 ، 10) ؛

راست (0 ، 0 ، عرض ، ارتفاع) ؛

// دژاموس یک پاراگراف پر کنید

// dibujar la bola

پر (255) ؛

سکته مغزی (250 ، 255 ، 3) ؛

نقطه (y ، (ارتفاع -40) + گناه (n) * 30) ؛

n = n + 0.05 ؛

y = y + 1 ؛

سکته مغزی (250 ، 255 ، 3) ؛

نقطه (y2 ، (ارتفاع -40) + cos (n2) * 30) ؛

n2 = n2 + 0.05 ؛

y2 = y2 + 1 ؛

سکته مغزی (250 ، 255 ، 3) ؛

نقطه (y3 ، (ارتفاع -40) + گناه (n3) * 30) ؛

n3 = n3 + 0.05 ؛

y3 = y3 + 1 ؛

سکته مغزی (250 ، 255 ، 3) ؛

نقطه (y4 ، (ارتفاع -40) + cos (n4) * 30) ؛

n4 = n4 + 0.05 ؛

y4 = y4 + 1 ؛

سکته مغزی (250 ، 255 ، 3) ؛

نقطه (y5 ، (ارتفاع -40) + گناه (n5) * 30) ؛

n5 = n5 + 0.05 ؛

y5 = y5 + 1 ؛

// DIBUJO BATERIA SIN NINGUNA PARTE ILUMINADA

تصویر (img1 ، 0 ، 80) ؛

// برای هر ورودی خروجی تهیه کنید

if (myPort.available ()> 0)

{// اگر داده در دسترس است ،

val = myPort.readStringUntil ('\ n')؛ // آن را بخوانید و در val ذخیره کنید

println (val) ؛

رشته list = split (val، '،')؛ // یک لیست برای گرفتن هر مقدار ورودی باز کنید

if (list! = null)

{

if (list [0].equals ("0")) {// اگر caixa را بزنید

caixa.play ()؛ // پخش صدای caixa

تصویر (img2 ، 0 ، 80) ؛ // caixa در صفحه روشن می شود

println ("caixa") ؛ // آن را در کنسول چاپ کنید

} else if (list [0].equals ("1")) {// اگر به شارل ضربه بزنید

charles.play () ؛ // پخش صدای چارلز

تصویر (img3 ، 0 ، 80) ؛ // چارلز در صفحه روشن می شود

println ("چارلز") ؛ // آن را در کنسول چاپ کنید

} else if (list [0].equals ("2")) {// اگر Tomtom را بزنید

tomtom.play () ؛ // پخش صدای tomtom

تصویر (img4 ، 0 ، 80) ؛ // Tomtom در صفحه روشن می شود

println ("tomtom") ؛ // آن را در کنسول چاپ کنید

} else if (list [0].equals ("3")) {// اگر ضربه را وارد کردید

crash.play () ؛ // پخش صدای خرابی

تصویر (img5 ، 0 ، 80) ؛ // تصادف در صفحه روشن می شود

println ("تصادف") ؛ // آن را در کنسول چاپ کنید

} else if (list [0].equals ("4")) {// در صورت ضربه زدن به بمبو

bombo.play () ؛ // پخش صدای بمبو

تصویر (img6 ، 0 ، 80) ؛ // Bombo در صفحه روشن می شود

println ("بمبو") ؛ // آن را در کنسول چاپ کنید

}

}

}

}

مرحله 4: آن را بسازید

بسازش
بسازش
بسازش
بسازش
بسازش
بسازش
بسازش
بسازش

برای تحقق نمونه اولیه ، ما داریم

از عناصر روزمره برای ساده سازی روند استفاده می کرد ، اما همیشه به دنبال عملکرد و پایان خوب بود.

اولین قدم این بود که کابل ها را به پیزوالکتریک جوش داده و طول آنها را به اندازه کافی برش دهید تا در هنگام چیدمان باتری روی میز یا جایی که برای تمرین به تمرین می پردازیم آزادی داشته باشیم.

پس از برخی تحقیقات ، مشاهده کردیم که مهم است که پد ارتعاش هر ضربه را به طور مطلوب به پیزوالکتریک منتقل کند ، به طوری که موادی مانند چوب یا پلاستیک دور انداخته شود. در نهایت ، ما از درب های فلزی برای غذاهای کنسروی استفاده کردیم که با عملکرد آنها مطابقت دارد و ظاهر مناسبی برای هدف خود دارد.

با استفاده از طبل و همانطور که انتظار می رفت ، ضربه ها بسیار پر سر و صدا بودند و از محلول یک طبل خاموش دور شدند. به منظور حل آن ، سطح را با یک فوم Eva پوشانده ایم ، که به ابعاد محیط مرکزی درب بریده شده است. با نوار دو طرفه به اندازه ای نازک چسبانده شده است که هنگام بازی احساس تسکین نمی شود. علاوه بر این ، از آنجا که لبه پلک ها هنوز صدایی آزاردهنده ایجاد می کرد و مانع بازی راحت ما می شد ، چند قطره کوچک چسب مذاب داغ را روی لبه قرار دادیم تا مانع از لغزش و نرم شدن هر ضربه تا حد ممکن شود.

برای جلوگیری از پراکندگی چهار پد در حین لمس ، آنها را به صورت زوجی با استفاده از یک نوار رزوه ای که از پهلو وارد شده ، از داخل با یک مهره کوچک ثابت شده است ، جفت می کنیم. وقتی ما شروع به بازی کردیم ، این مشکل وجود داشت که از آنجا که یک ماده فلزی بود ، ارتعاشات را از یک پد به دیگری منتقل می کرد ، بنابراین وقتی یکی را پخش می کردیم ، شریک او همزمان صدا می داد.

سرانجام ما میله ها را برداشته و دیدیم که استفاده از کابل پیزو به عنوان یک اتحاد کافی و حتی عملی تر است.

در مورد پدال ، ما ایده اولیه نگه داشتن پیزو بین یک ساندویچ را داشتیم. برای جلوگیری از تأثیر مستقیم پیزو بر روی زمین. برای انجام این کار ، ما پیزو را روی یک صفحه چوبی چسبانده و یک صفحه PVC دیگر با همان اندازه را چسباندیم ، که یک شکاف کوچک ایجاد کردیم که هم پیزو و هم کابل را تسهیل و در خود جای می داد.

در ابتدا ما از PVC برای هر دو صفحه استفاده کردیم ، اما پس از چندین آزمایش متوجه شدیم که این ماده تأثیر زیادی را جذب کرده و آن را به پیزو منتقل می کند.

برای جلوگیری از شل شدن و حرکت پدال هنگام قدم گذاشتن ، ما تصمیم گرفتیم که یک نوار لاستیکی بین ساندویچ قرار دهیم تا پدال را پای ما نگه دارد و هر ضربه را بر طبل تضمین کند.

سرانجام ، برای دستیابی به پایان بهتر ، خود ما یک جعبه کوچک ساختیم که قسمت اولیه و آردوینو را در خود جای داده بود. این جایی است که 5 کابل از یک طرف وارد شده و اجازه می دهد تا کابل USB از طرف دیگر متصل شود. این بدنه برای مقابله آسان و ادامه زیبایی سیاه و سفید کل نمونه اولیه ، روی مقوای پر مشکی نصب شده است.

توصیه شده: