สารบัญ:
- ขั้นตอนที่ 1: สร้างวงเล็บเซอร์โว
- ขั้นตอนที่ 2: ต่อสายเซอร์โวเข้ากับ Arduino Uno
- ขั้นตอนที่ 3: รหัส Arduino…
วีดีโอ: Arduino Servo Drum Machine: 4 ขั้นตอน
2024 ผู้เขียน: John Day | [email protected]. แก้ไขล่าสุด: 2024-01-30 13:06
นี่คือเครื่องดรัมหรือหุ่นยนต์ควบคุมไมโครเซอร์โวสองตัวและ Arduino Uno เซอร์โวติดตั้งอยู่บนโครงไม้รูปตัว L ที่จับกับกลองสแนร์ด้วยแม่เหล็กแรงสูง 4 ตัว แขนเซอร์โวถูกยึดเข้ากับตะเกียบสองตัวซึ่งทำหน้าที่เป็นไม้ตีกลอง มันค่อนข้างดัง แต่ไม่ดังเกินไป สามารถรับเสียงที่ดังกว่ามากได้โดยใช้เซอร์โวขนาดมาตรฐานและไม้ตีกลองจริงซึ่งค่อนข้างหนักกว่าเล็กน้อย แต่นั่นก็ต้องใช้แหล่งจ่ายไฟแยกต่างหากสำหรับเซอร์โวด้วย ด้วยการใช้ไมโครเซอร์โว Arduino จะจ่ายกระแสไฟให้เพียงพอสำหรับจ่ายไฟโดยตรงโดยไม่ต้องใช้แหล่งจ่ายไฟแยกต่างหาก
วิดีโอแสดงความพยายามของฉันในการเขียนโปรแกรมกลองโซโล Wipeout เวอร์ชันง่าย ๆ แน่นอนว่ามันไม่ได้อยู่ที่ 160 ครั้งต่อนาทีจริง ๆ แต่สามารถรับได้โดยง่ายโดยการเพิ่มเซอร์โวอีกตัวหนึ่งซึ่งค่อนข้างเจ๋ง ฉันไม่ได้คำนวณว่า bpm อันดับต้น ๆ ที่สามารถรับได้โดยใช้เซอร์โวคืออะไร และต้องใช้เวลาในการรับไม้ตีกลองจากตำแหน่งที่จอดไว้ไปยังหัวดรัม
จังหวะที่คุณสร้างได้นั้นจำกัดด้วยจินตนาการของคุณเท่านั้น และเครื่องดรัมเป็นคู่หูที่น่าเล่นมากกว่ากลองดิจิตอล หากคุณเป็นนักดนตรี
ข้อเสียเพียงอย่างเดียวคือเสียงเซอร์โวซึ่งไม่ค่อยเด่นชัดนักแม้ว่าเสียงของกล้องจะจับได้ค่อนข้างชัดเจน
ขั้นตอนที่ 1: สร้างวงเล็บเซอร์โว
ฉากยึดนี้ทำมาจากไม้อัดงานอดิเรกบางแผ่นที่ฉันมีอยู่ ฉันสร้างรูปตัว L โดยยึดสองชิ้นเข้าด้วยกันกับโครงเหล็กรูปตัว L จากนั้นนำท่อนไม้เล็กๆ มาติดแถบด้านบนเพื่อยึดเซอร์โวสองตัว
ฉันมีวงเล็บเซอร์โวที่มีประโยชน์สองตัวซึ่งฉันขันเข้ากับบล็อกไม้
ฉันใช้แม่เหล็กนีโอไดเมียม 4 อันเพื่อยึดตัวยึดกับดรัมสแนร์
ขั้นตอนที่ 2: ต่อสายเซอร์โวเข้ากับ Arduino Uno
เซอร์โว vcc (สายกลาง) ไปที่พิน Arduino 5 v
กราวด์ต่อกราวด์ Arduino
สายสัญญาณไปที่พิน 6 และ 7
เซอร์โวชิลด์จะทำให้ง่ายยิ่งขึ้นถ้าคุณมี
ขั้นตอนที่ 3: รหัส Arduino…
ด้านล่างนี้คือภาพสเก็ตช์ง่ายๆ ในการเล่น Wipeout คุณเพียงแค่ต้องปรับตำแหน่งเซอร์โวสำหรับการตั้งค่าเฉพาะของคุณ
มีความสุข!
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
#รวม "servo.h"
// มือกลองเซอร์โว Jim Demello มิถุนายน 2018
เซอร์โว myservo1, myservo2;
int servoPin6 = 6; //เซอร์โว
int servoPin7 = 7;
เป็นโมฆะ myServo (int servoPosition, int servoNumber) {
ถ้า (servoNumber == 1) {
myservo1.write (ตำแหน่งเซอร์โว);
}
ถ้า (servoNumber == 2) {
myservo2.write (ตำแหน่งเซอร์โว);
}
}
เป็นโมฆะ doOneEighthNote (int servoNumber, int beat) {
int delayVal = 60;
ถ้า (servoNumber == 1) {
ถ้า (ชนะ) {ชนะ = 10; // ถ้า beat = 1 ให้เพิ่มเซอร์โวลงอีกหน่อยเพื่อให้กระหน่ำแรงขึ้น
}
myServo (150 + จังหวะ, servoNumber); //ลง
ล่าช้า (delayVal);
myServo (100, servoNumber); // ขึ้น
ล่าช้า (delayVal);
}
ถ้า (servoNumber == 2) {
ถ้า (ชนะ) ตี = -10;
myServo (60 + จังหวะ, servoNumber); //ลง
ล่าช้า (delayVal);
myServo (80, servoNumber); // ขึ้น
ล่าช้า (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);
}
แนะนำ:
MIDI Drum Kit บน Python และ Arduino: 5 ขั้นตอน (พร้อมรูปภาพ)
MIDI Drum Kit บน Python และ Arduino: ฉันต้องการซื้อชุดกลองมาตั้งแต่เด็ก ย้อนกลับไปในตอนนั้น อุปกรณ์ดนตรีทั้งหมดไม่มีแอปพลิเคชันดิจิทัลทั้งหมด เนื่องจากเรามีอยู่มากมายในปัจจุบัน ดังนั้นราคาและความคาดหวังจึงสูงเกินไป ล่าสุดผมตัดสินใจซื้อค
ง่ายต่อการสร้าง MIDI Hang Drum: 4 ขั้นตอน
ง่ายต่อการสร้าง MIDI Hang Drum: กลองแบบแขวนหรือที่เรียกว่า handpan, กลองแทงค์หรือดรัมลิ้นเหล็กเป็นเครื่องมือที่ทำมาจากถังโพรเพน (ว่างเปล่าแน่นอน) โดยมีลิ้นบางอันตัดในโลหะ ระดับเสียงของโน้ตขึ้นอยู่กับขนาดและน้ำหนักของลิ้นรองเท้า โปร
Servo Arduino Vending Machine: 8 ขั้นตอน
Servo Arduino Vending Machine: ตู้จำหน่ายสินค้าอัตโนมัตินี้มีแท่งสนิกเกอร์ขนาดสนุกสามแท่ง และจะจำหน่ายทีละตัวโดยใช้ Arduino Uno และเซอร์โวมอเตอร์
CNC Drum Plotter: 13 ขั้นตอน (พร้อมรูปภาพ)
พลอตเตอร์กลอง CNC: a.articles {ขนาดตัวอักษร: 110.0%; font-weight: ตัวหนา; ตัวอักษรสไตล์: ตัวเอียง; ตกแต่งข้อความ: ไม่มี; background-color: red;} a.articles:hover {background-color: black;} คำแนะนำนี้อธิบายพล็อตเตอร์ A4/A3 ที่ทำจากส่วนของ pi พลาสติก
Arduino Drum Man: 5 ขั้นตอน (พร้อมรูปภาพ)
Arduino Drum Man: ส่วนผสม:1. ลวดโลหะ2. ชุดกลองของเล่นราคาถูก (ไฮแฮท บ่วง กลองเตะ)3. สามเซอร์โว4. สายไฟฟ้า5. เทปพันท่อ6. เขียงหั่นขนม7. Arduino Uno8. Usb เป็น Usb 2.0