สารบัญ:

กลองสตูดิโอ: 5 ขั้นตอน
กลองสตูดิโอ: 5 ขั้นตอน

วีดีโอ: กลองสตูดิโอ: 5 ขั้นตอน

วีดีโอ: กลองสตูดิโอ: 5 ขั้นตอน
วีดีโอ: Studio one 5 EP. 4 สอนแยก Track Drum (มือใหม่ง่ายมาก) 2024, กรกฎาคม
Anonim
สตูดิโอกลอง
สตูดิโอกลอง

มือกลองจะใช้เวลาหลายชั่วโมงในการฝึกฝน … แต่ทุกคนไม่สามารถมีกลองที่บ้านได้ พื้นที่และเสียงรบกวนเป็นปัญหาใหญ่!

ด้วยเหตุผลนี้ เราจึงต้องการสร้างชุดกลองแบบพกพาที่เงียบซึ่งคุณสามารถเล่นที่บ้านได้

ชุดกลองนี้ใช้งานง่ายมาก คุณเพียงแค่ต้องตีแผ่นเสียงและให้เสียงเหมือนกลองจริง! นอกจากนี้ยังมาพร้อมกับจอแสดงผลที่คุณสามารถเห็นได้ว่าคุณกำลังกดปุ่มอะไรอยู่ และหากคุณต้องการใช้งานในโหมดเงียบ เพียงต่อหูฟังเข้ากับแล็ปท็อป!

ขั้นตอนที่ 1: สิ่งที่คุณต้องการ

วัสดุ

  • Arduino Uno
  • เขียงหั่นขนม
  • สายบางๆ
  • 5x พายโซ
  • ตัวต้านทาน 5x 1M โอห์ม
  • ฝา 5 กระปุก
  • อีวา โฟม
  • โฟมบอร์ด

โปรแกรม:

  • Arduino IDE
  • กำลังประมวลผล

*หากต้องการดาวน์โหลดโปรแกรมข้างต้นลงในคอมพิวเตอร์ของคุณ ให้ไปที่ลิงก์ด้านล่าง:

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

ขั้นตอนที่ 2: ประกอบวงจร

ประกอบวงจร
ประกอบวงจร
ประกอบวงจร
ประกอบวงจร

ก่อนอื่นเราต้องประสานกับเพียโซ (GND ถึงส่วนสีเหลืองและสายพินอะนาล็อกกับส่วนสีขาวของเพียโซ)

เราจะใช้เขียงหั่นขนมเพื่อเชื่อมต่อทุกอย่าง

เชื่อมต่อตัวต้านทานและสายไฟของเพียโซดังแสดงในแผนภาพด้านบน จากนั้นเชื่อมต่อสาย GND ของเขียงหั่นขนมกับ GND บน Arduino สุดท้าย เชื่อมต่อสายแต่ละเส้นของ piezo เข้ากับขาอนาล็อกบน Arduino ของคุณดังที่แสดงด้านล่าง

Piezos เชื่อมต่อกับพินอะนาล็อก:

  • ไคซ่า = A0;
  • ชาร์ลส์ = A1;
  • ทอมทอม = A2;
  • ชน = A3;
  • บอมโบ = A4;

ขั้นตอนที่ 3: ตั้งโปรแกรม It

โปรแกรมมัน
โปรแกรมมัน

เราตัดสินใจสร้างจอแสดงผลของเราเองสำหรับชุดกลองแทนการใช้โปรแกรมที่ตั้งไว้ล่วงหน้า เราใช้การประมวลผลสำหรับสิ่งนี้

เราได้ตั้งโปรแกรมไว้เพื่อให้เมื่อตี piezo เสียงของกลองที่เกี่ยวข้องจะดังขึ้น นอกจากนี้ รูปแบบกลองที่สอดคล้องกันจะสว่างขึ้นบนหน้าจอ

คุณจะต้องนำเข้าเสียงการประมวลผลและการประมวลผลไลบรารีอนุกรม

อย่าลืมเพิ่มเสียงกลองลงในโฟลเดอร์ข้อมูล!

รหัส ARDUINO

// PIEZOS เชื่อมต่อกับ PIN แบบอะนาล็อก

const int caixa = A0;

const int ชาร์ลส์ = A1;

const int tomtom = A2;

const int crash = A3;

const int bombo = A4;

const int เกณฑ์ = 100; // ค่าเกณฑ์ที่จะตัดสินว่าเสียงที่ตรวจพบเป็นเสียงเคาะหรือไม่

// อ่านและจัดเก็บค่าที่อ่านจาก SENSOR PINS

int caixaReading = 0;

int charlesReading = 0;

int tomtomReading = 0;

int crashReading = 0;

int bomboReading = 0;

การตั้งค่าเป็นโมฆะ () {

Serial.begin(9600); // ใช้พอร์ตอนุกรม

}

วงเป็นโมฆะ () {

// อ่านเซ็นเซอร์และเก็บไว้ในเซ็นเซอร์ตัวแปรการอ่าน:

caixaReading = analogRead (caixa);

// หากการอ่านเซ็นเซอร์มากกว่าเกณฑ์:

ถ้า (caixaReading >= เกณฑ์) {

// หากคุณกด CAIXA ให้ส่ง 0 เพื่อดำเนินการ

Serial.print("0,");

Serial.println (caixaReading);

}

charlesReading = analogRead (ชาร์ลส์);

ถ้า (charlesReading >= เกณฑ์) {

// หากคุณโจมตี CHARLES ให้ส่ง 1 ไปยังการประมวลผล

Serial.print("1, ");

Serial.println (caixaReading);

}

tomtomReading = analogRead (tomtom);

ถ้า (tomtomReading >= เกณฑ์) {

// หากคุณโจมตี CAIXA ให้ส่ง 2 ไปยังการประมวลผล

Serial.print("2, ");

Serial.println (tomtomReading);

}

crashReading = analogRead (ขัดข้อง);

ถ้า (crashReading >= เกณฑ์) {

// หากคุณโจมตี CAIXA ให้ส่ง 3 ไปยังการประมวลผล

Serial.print("3, ");

Serial.println(crashReading);

}

bomboReading = analogRead (ระเบิด);

ถ้า (bomboReading >= 15) {

// หากคุณโจมตี CAIXA ให้ส่ง 4 เพื่อดำเนินการ

Serial.print("4, ");

Serial.println (bomboReading);

}

ล่าช้า(10); // หน่วงเวลาเพื่อหลีกเลี่ยงการโอเวอร์โหลดบัฟเฟอร์พอร์ตอนุกรม

}

รหัสประมวลผล

//นำเข้าเสียงและไลบรารีแบบอนุกรม

นำเข้าการประมวลผลเสียง.*;

นำเข้าการประมวลผล.ซีเรียล.*;

อนุกรม myPort; // สร้างวัตถุจาก Serial class

วาลสตริง; // ข้อมูลที่ได้รับจากพอร์ตอนุกรม

//เสียงกลอง

ไฟล์เสียง caixa;

ชาร์ลส์ SoundFile;

ทอมไฟล์เสียง;

ความผิดพลาดของไฟล์เสียง;

ไฟล์เสียงระเบิด;

//กลองสตูดิโออิมเมจ

รูปภาพ img0;

รูปภาพ img1;

รูปภาพ img2;

รูปภาพ img3;

รูปภาพ img4;

รูปภาพ img5;

รูปภาพ img6;

// DRUMS STUDIO WAVES ตัวแปร

ลอย n = 0;

ลอย n2 = 1;

ลอย n3 = 2;

ลอย n4 = 3;

ลอย n5 = 4;

ลอย y = 0;

ลอย y2 = 1;

ลอย y3 = 2;

ลอย y4 = 3;

ลอย y5 = 4;

การตั้งค่าเป็นโมฆะ ()

{

// เปิดพอร์ตใดก็ได้ที่คุณใช้อยู่

สตริง portName = Serial.list()[0]; //เปลี่ยน 0 เป็น 1 หรือ 2 ฯลฯ เพื่อให้ตรงกับพอร์ตของคุณ

myPort = ซีเรียลใหม่ (นี่ portName, 9600);

//กลองสตูดิโอคอนโซล

ขนาด (720, 680);

พื้นหลัง(15, 15, 15);

จังหวะน้ำหนัก(2);

//โหลดภาพกลองสตูดิโอ

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

//โหลดเสียง

caixa = ไฟล์เสียงใหม่ (นี่ "caixa.aiff");

charles = new SoundFile (นี้ "charles.aiff");

tomtom = ไฟล์เสียงใหม่ (นี่คือ "tomtom.aiff");

crash = ไฟล์เสียงใหม่ (นี่คือ "crash.aiff");

bombo = ไฟล์เสียงใหม่ (นี่คือ "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, 0, ความกว้าง, ความสูง);

// Dejamos เติม blanco para

// ไดบูจาร์ ลา โบลา

กรอก (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 อิลูมินาดา

รูปภาพ (img1, 0, 80);

//สร้างผลลัพธ์สำหรับทุกอินพุต

ถ้า (myPort.available() > 0)

{ // หากมีข้อมูล

val = myPort.readStringUntil('\n'); // อ่านแล้วเก็บไว้ใน val

println (วาล);

สตริง list = split(val, ', '); //เปิดรายการรับทุกค่าอินพุต

ถ้า (รายการ!=null)

{

if (list[0].equals("0")) { // if you hit the caixa

caixa.play(); //เปิดเสียงไคซ่า

image(img2, 0, 80);//caixa ส่องสว่างในหน้าจอ

println("caixa"); //พิมพ์ออกมาในคอนโซล

} else if (list[0].equals("1")) { //if you hit the charles

charles.play();//เล่น charles sound

image(img3, 0, 80);//ชาร์ลส์ส่องสว่างในหน้าจอ

println("ชาร์ลส์"); //พิมพ์ออกมาในคอนโซล

} else if (list[0].equals("2")) { // ถ้าคุณกด tomtom

tomtom.play();//เล่นเสียงทอม

image(img4, 0, 80);//Tomtom สว่างขึ้นในหน้าจอ

println("ทอมทอม"); //พิมพ์ออกมาในคอนโซล

} else if (list[0].equals("3")) { //If you hit the crash

crash.play();//เล่นเสียงแครช

รูปภาพ (img5, 0, 80); //การชนจะสว่างขึ้นในหน้าจอ

println("ความผิดพลาด"); //พิมพ์ออกมาในคอนโซล

} else if (list[0].equals("4")) { //if you hit the bombo

bombo.play();//เปิดเสียง Bombo

รูปภาพ (img6, 0, 80); // Bombo ส่องสว่างในหน้าจอ

println("ระเบิด"); //พิมพ์ออกมาในคอนโซล

}

}

}

}

ขั้นตอนที่ 4: สร้างมัน

สร้างมัน
สร้างมัน
สร้างมัน
สร้างมัน
สร้างมัน
สร้างมัน
สร้างมัน
สร้างมัน

สำหรับการทำให้เกิดต้นแบบ เรามี

ใช้องค์ประกอบในชีวิตประจำวันเพื่อลดความซับซ้อนของกระบวนการ แต่มักจะมองหาฟังก์ชันการทำงานและการตกแต่งที่ดี

ขั้นตอนแรกคือการเชื่อมสายเคเบิลเข้ากับเพียโซอิเล็กทริก โดยตัดให้มีความยาวเพียงพอเพื่อให้มีอิสระในการจัดแบตเตอรี่บนโต๊ะหรือที่ที่เราจะไปฝึก

หลังจากการวิจัย เราสังเกตเห็นว่าสิ่งสำคัญคือแผ่นรองจะส่งแรงสั่นสะเทือนของการกระทบแต่ละครั้งไปยังเพียโซอิเล็กทริกอย่างเหมาะสมที่สุด เพื่อให้วัสดุอย่างเช่น ไม้หรือพลาสติกถูกทิ้งไป สุดท้าย เราเลือกใช้ฝาโลหะสำหรับอาหารกระป๋อง ซึ่งสอดคล้องกับการใช้งานและมีลักษณะที่เหมาะสมกับวัตถุประสงค์

ลองใช้ไม้ตีกลองและตามที่คาดไว้ ผลกระทบมีเสียงดังเกินไป และเคลื่อนออกจากวิธีแก้ปัญหาของกลองที่เงียบ เพื่อแก้ปัญหานี้เราจึงปิดผิวด้วยโฟม Eva ตัดให้ได้ขนาดของเส้นรอบวงตรงกลางของฝา ติดกาวด้วยเทปกาวสองหน้าบางพอที่จะไม่สังเกตเห็นความโล่งใจเมื่อเล่น นอกจากนี้ เนื่องจากขอบของฝายังคงส่งเสียงที่น่ารำคาญซึ่งทำให้เราไม่สามารถเล่นได้สบาย เราจึงหยดกาวร้อนละลายเล็กน้อยที่ขอบเพื่อป้องกันไม่ให้แผ่นรองลื่นและทำให้การกระแทกแต่ละครั้งนิ่มลงมากที่สุด

เพื่อป้องกันไม่ให้แผ่นอิเล็กโทรดทั้งสี่กระจายตัวขณะสัมผัส เราจึงเชื่อมเข้าด้วยกันเป็นคู่โดยใช้แถบเกลียวที่เข้าจากด้านข้าง โดยยึดจากด้านในด้วยน็อตเล็กๆ ปัญหาเมื่อเราเริ่มเล่นคือ เนื่องจากมันเป็นวัสดุที่เป็นโลหะ มันจึงส่งแรงสั่นสะเทือนจากแผ่นหนึ่งไปยังอีกแผ่นหนึ่ง ดังนั้นเมื่อเราเล่นแผ่นหนึ่ง คู่ของเขาก็ส่งเสียงพร้อมกัน

ในที่สุดเราก็ถอดแท่งและเห็นว่าเพียงพอและใช้งานได้จริงมากขึ้นที่จะใช้สายเคเบิล piezo เป็นสหภาพ

สำหรับคันเหยียบ เรามีแนวคิดเบื้องต้นในการถือพายโซระหว่างแซนด์วิช เพื่อหลีกเลี่ยงผลกระทบโดยตรงของ piezo กับพื้น ในการทำเช่นนี้ เราติดเพียโซบนแผ่นไม้และติดแผ่นพีวีซีอีกแผ่นที่มีขนาดเท่ากัน ซึ่งเราทำรอยร้าวเล็กๆ ที่อำนวยความสะดวกและรองรับทั้งเพียโซและสายเคเบิล

ในตอนแรก เราใช้ PVC สำหรับแผ่นทั้งสองแผ่น แต่หลังจากการทดสอบหลายครั้ง เราก็พบว่าวัสดุนี้ดูดซับแรงกระแทกมากเกินไปและส่งผ่านไปยัง Piezo

เพื่อหลีกเลี่ยงไม่ให้แป้นเหยียบหลวมและเคลื่อนที่ในขณะที่คุณก้าว เราจึงตัดสินใจวางแถบยางไว้ระหว่างแซนวิชเพื่อยึดแป้นเหยียบไว้กับเท้าของเรา และตรวจสอบให้แน่ใจว่าแต่ละจังหวะบนดรัม

สุดท้าย เพื่อให้ได้ผลลัพธ์ที่ดีขึ้น เราจึงสร้างกล่องเล็กๆ ขึ้นมาเองซึ่งเป็นที่ตั้งของโปรโตบอร์ดและอาร์ดิโน นี่คือที่ที่สายเคเบิล 5 เส้นเข้าทางด้านหนึ่งและอนุญาตให้เชื่อมต่อสาย USB ผ่านอีกด้านหนึ่ง มันถูกติดตั้งด้วยกระดาษแข็งขนนกสีดำ เพื่อความสะดวกในการจัดการและเพื่อความสวยงามของต้นแบบทั้งขาวดำต่อไป

แนะนำ: