Isi kandungan:
- Langkah 1: Apa yang Anda Perlu
- Langkah 2: Litar Pemasangan
- Langkah 3: Programkannya
- Langkah 4: Bina
- Langkah 5: Mainkan Drum
Video: Drum Studio: 5 Langkah
2024 Pengarang: John Day | [email protected]. Diubah suai terakhir: 2024-01-30 11:10
Drummer akan menghabiskan berjam-jam berlatih… Tetapi tidak semua orang boleh memiliki drum di rumah: ruang dan bunyi bising adalah masalah besar!
Atas sebab ini, kami ingin membuat drumkit mudah alih dan senyap yang boleh anda mainkan di rumah.
Drumkit ini sangat mudah digunakan, anda hanya perlu memukul pad dan ia akan berbunyi seperti dram sebenar! Ia juga dilengkapi dengan paparan di mana anda dapat melihat pad mana yang anda gemari. Dan jika anda ingin menggunakannya dalam mod senyap, sambungkan fon kepala anda ke komputer riba!
Langkah 1: Apa yang Anda Perlu
BAHAN
- Arduino Uno
- Papan roti
- Sebilangan wayar
- Piezos 5x
- Perintang Ohm 5x 1M
- 5 penutup balang
- Buih Eva
- Papan busa
PROGRAM:
- Arduino IDE
- Memproses
* Untuk memuat turun program di atas ke komputer anda, ikuti pautan di bawah:
- https://www.arduino.cc/en/main/software
- https://www.arduino.cc/en/main/software
Langkah 2: Litar Pemasangan
Pertama sekali kita perlu menyolder ke piezos (GND ke bahagian kuning dan wayar pin analog ke bahagian putih piezo).
Kami akan menggunakan papan roti untuk menghubungkan semuanya.
Sambungkan perintang dan wayar piezo seperti yang ditunjukkan dalam rajah di atas. Kemudian sambungkan wayar papan roti GND ke GND di Arduino. Akhirnya, sambungkan setiap wayar piezo ke pin analog pada Arduino anda seperti yang ditunjukkan di bawah.
Piezos disambungkan ke pin analog:
- Caixa = A0;
- Charles = A1;
- Tomtom = A2;
- Keretakan = A3;
- Bombo = A4;
Langkah 3: Programkannya
Kami memutuskan untuk membuat paparan sendiri untuk drumkit daripada menggunakan program pratetap. Kami telah menggunakan Pemprosesan untuk ini.
Kami telah memprogramkannya sehingga ketika piezo dipukul, bunyi drum yang sesuai akan terdengar. Di samping itu, corak drum yang sesuai akan menyala di skrin.
Anda perlu mengimport suara pemprosesan, dan memproses perpustakaan bersiri.
Jangan lupa untuk menambahkan suara drum ke folder data!
KOD ARDUINO
// PIEZOS BERHUBUNGAN DENGAN PIN ANALOG
const int caixa = A0;
const int charles = A1;
const int tomtom = A2;
const int crash = A3;
const int bombo = A4;
ambang const int = 100; // nilai ambang untuk menentukan kapan bunyi yang dikesan adalah ketukan atau tidak
// BACA DAN simpan NILAI BACA DARI PIN SENSOR
int caixaReading = 0;
int charlesReading = 0;
int tomtomReading = 0;
int crashReading = 0;
int bomboReading = 0;
batal persediaan () {
Serial.begin (9600); // gunakan port bersiri
}
gelung kosong () {
// baca sensor dan simpan dalam sensor pembolehubah Membaca:
caixaReading = analogRead (caixa);
// jika bacaan sensor lebih besar daripada ambang:
jika (caixaReading> = ambang) {
// JIKA ANDA MENGHUKUM CAIXA, HANTAR 0 UNTUK MEMPROSES
Cetakan bersiri ("0,");
Serial.println (caixaReading);
}
charlesReading = analogRead (charles);
if (charlesReading> = ambang) {
// JIKA ANDA MENGHADAPI CAJ, HANTAR 1 UNTUK MEMPROSES
Cetakan bersiri ("1,");
Serial.println (caixaReading);
}
tomtomReading = analogRead (tomtom);
jika (tomtomReading> = ambang) {
// JIKA ANDA MENGHUKUM CAIXA, HANTAR 2 UNTUK MEMPROSES
Cetakan bersiri ("2,");
Serial.println (tomtomReading);
}
crashReading = analogRead (crash);
jika (crashReading> = ambang) {
// JIKA ANDA MENGHUKUM CAIXA, HANTAR 3 UNTUK MEMPROSES
Cetakan bersiri ("3,");
Serial.println (crashReading);
}
bomboReading = analogRead (bombo);
jika (bomboReading> = 15) {
// JIKA ANDA MENGHUKUM CAIXA, HANTAR 4 UNTUK MEMPROSES
Cetakan bersiri ("4,");
Serial.println (bomboReading);
}
kelewatan (10); // kelewatan untuk mengelakkan beban penyangga port yang berlebihan
}
KOD PEMPROSESAN
// PUSTAKA SUARA DAN SIRI IMPOR
pemprosesan import.sound. *;
pemprosesan import.serial. *;
MyPort bersiri; // Buat objek dari kelas Serial
String val; // Data diterima dari port bersiri
// Bunyi DRUM
SoundFile caixa;
Carta SoundFile;
Tomtom SoundFile;
Kemalangan SoundFile;
Bomo SoundFile;
// GAMBAR STUDIO DRUM
PImage img0;
PImage img1;
PImage img2;
PImage img3;
PImage img4;
PImage img5;
PImage img6;
// PELBAGAI GELOMBANG STUDIO DRUM
apungan n = 0;
apungan n2 = 1;
apungan n3 = 2;
apungan n4 = 3;
apungan n5 = 4;
terapung y = 0;
terapung y2 = 1;
terapung y3 = 2;
terapung y4 = 3;
terapung y5 = 4;
persediaan tidak sah ()
{
// BUKA PORT WHATEVER ADALAH SATU YANG ANDA GUNAKAN
String portName = Serial.list () [0]; // ubah 0 ke 1 atau 2 dll untuk memadankan port anda
myPort = Serial baru (ini, nama port, 9600);
// CONSOLA DRUM
saiz (720, 680);
latar belakang (15, 15, 15);
berat badan (2);
// GAMBAR STUDIO DRAM
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");
// SUARA BUNGA
caixa = SoundFile baru (ini, "caixa.aiff");
charles = SoundFile baru (ini, "charles.aiff");
tomtom = SoundFile baru (ini, "tomtom.aiff");
crash = SoundFile baru (ini, "crash.aiff");
bombo = SoundFile baru (ini, "bombo.aiff");
}
undian tidak sah ()
{
// STUDIO DRUM TITULO
gambar (img0, 125, 0);
// LUKISAN gelombang
jika (y> 720) // Mulakan gelombang sekali lagi
{
y = 0;
y2 = 1;
y3 = 2;
y4 = 3;
y5 = 4;
}
isi (0, 10);
segiempat tepat (0, 0, lebar, tinggi);
// Dejamos mengisi para blanco
// dibujar la bola
isi (255);
strok (250, 255, 3);
titik (y, (tinggi-40) + sin (n) * 30);
n = n + 0.05;
y = y + 1;
strok (250, 255, 3);
titik (y2, (tinggi-40) + cos (n2) * 30);
n2 = n2 + 0.05;
y2 = y2 + 1;
strok (250, 255, 3);
titik (y3, (tinggi-40) + sin (n3) * 30);
n3 = n3 + 0.05;
y3 = y3 + 1;
strok (250, 255, 3);
titik (y4, (tinggi-40) + cos (n4) * 30);
n4 = n4 + 0.05;
y4 = y4 + 1;
strok (250, 255, 3);
titik (y5, (tinggi-40) + sin (n5) * 30);
n5 = n5 + 0.05;
y5 = y5 + 1;
// DIBUJO BATERIA SIN NINGUNA PARTE ILUMINADA
gambar (img1, 0, 80);
// BUAT OUTPUT UNTUK SETIAP INPUT
jika (myPort.available ()> 0)
{// Sekiranya data tersedia, val = myPort.readStringUntil ('\ n'); // baca dan simpan dalam val
println (val);
String list = split (val, ','); // Buka senarai untuk mengambil setiap nilai input
jika (senarai! = batal)
{
if (senarai [0]. sama ("0")) {// jika anda menekan caixa
caixa.play (); // Mainkan suara caixa
gambar (img2, 0, 80); // Caixa disinari di skrin
println ("caixa"); // mencetaknya di konsol
} lain jika (senarai [0]. sama ("1")) {// jika anda mencecah charles
charles.play (); // Mainkan suara charles
gambar (img3, 0, 80); // Charles disinari di skrin
println ("charles"); // mencetaknya di konsol
} lain jika (senarai [0]. sama ("2")) {// Sekiranya anda menekan tomtom
tomtom.play (); // Mainkan suara tomtom
gambar (img4, 0, 80); // Tomtom disinari di skrin
println ("tomtom"); // mencetaknya di konsol
} lain jika (senarai [0]. sama ("3")) {// Sekiranya anda mengalami kemalangan
crash.play (); // Mainkan bunyi crash
gambar (img5, 0, 80); // Crash disinari di skrin
println ("crash"); // mencetaknya di konsol
} lain jika (senarai [0]. sama ("4")) {// jika anda memukul bombo
bombo.play (); // Mainkan bunyi bombo
gambar (img6, 0, 80); // Bombo disinari di skrin
println ("bombo"); // mencetaknya di konsol
}
}
}
}
Langkah 4: Bina
Untuk merealisasikan prototaip, kami ada
menggunakan elemen sehari-hari untuk mempermudah proses, tetapi selalu mencari fungsi dan penyelesaian yang baik.
Langkah pertama adalah mengimpal kabel ke piezoelektrik, memotongnya dengan panjang yang cukup untuk mempunyai kebebasan ketika mengatur bateri di atas meja atau di mana kita pergi berlatih.
Setelah beberapa kajian dilakukan, kami memerhatikan bahawa penting agar alas memancarkan getaran setiap kesan ke piezoelektrik secara optimum, sehingga bahan seperti kayu atau plastik dibuang. Akhirnya, kami memilih untuk menggunakan penutup logam untuk makanan dalam tin, yang sesuai dengan fungsinya dan mempunyai penampilan yang sesuai untuk tujuannya.
Mencuba tongkat drum dan seperti yang dijangkakan, kesannya terlalu bising dan menjauhkan diri dari larutan gendang yang sunyi. Untuk menyelesaikannya, kami menutup permukaannya dengan busa Eva, dipotong pada dimensi keliling tengah penutup. Ia dilekatkan dengan pita dua sisi yang cukup tipis sehingga kelegaan tidak dapat dilihat ketika bermain. Sebagai tambahan, kerana tepi penutup masih mengeluarkan suara yang menjengkelkan yang menghalang kami bermain dengan selesa, kami meletakkan beberapa tetes gam lebur panas di pinggir untuk mengelakkan pad tergelincir dan melembutkan setiap kesan sebanyak mungkin.
Untuk mengelakkan keempat pembalut tersebar semasa menyentuh, kami menyambungkannya secara berpasangan dengan menggunakan bar berulir yang masuk dari sisi, terpaku dari dalam dengan kacang kecil. Masalahnya ketika kami mula bermain adalah bahawa kerana itu adalah bahan logam, ia memancarkan getaran dari satu pad ke yang lain, jadi ketika kami bermain, pasangannya terdengar pada waktu yang sama.
Akhirnya kami mengeluarkan batang dan melihat bahawa cukup dan lebih praktikal untuk menggunakan kabel piezo itu sendiri sebagai penyatuan.
Mengenai pedal, kami mempunyai idea awal memegang piezo antara sandwic; untuk mengelakkan kesan langsung piezo ke atas tanah. Untuk melakukan ini, kami menempelkan piezo pada piring kayu dan menempelkan piring PVC lain dengan ukuran yang sama, yang mana kami membuat retakan kecil yang memudahkan dan menampung piezo dan kabel.
Pada mulanya kami menggunakan PVC untuk kedua-dua plat, tetapi setelah beberapa ujian kami menyedari bahawa bahan ini menyerap terlalu banyak kesan dan menyebarkannya ke piezo.
Untuk mengelakkan pedal longgar dan bergerak ketika anda melangkah, kami memutuskan untuk meletakkan gelang getah di antara sandwic untuk menahan pedal ke kaki kami dan memastikan setiap pukulan pada drum.
Akhirnya, untuk mencapai kemasan yang lebih baik, kami membina sebuah kotak kecil yang menempatkan protoboard dan arduino. Di sinilah 5 kabel masuk melalui satu sisi dan membolehkan kabel USB disambungkan melalui yang lain. Ia dipasang dalam kadbod bulu hitam, untuk pengendaliannya yang mudah dan meneruskan estetika hitam dan putih keseluruhan prototaip.
Disyorkan:
Mesin Drum Raspberry Pi: 5 Langkah
Mesin Drum Raspberry Pi: Pengikut Sampel, melalui Raspberry Pi + Python. Penjujukan ini mempunyai 4 polifoni dan membolehkan pengguna menyimpan dan memberi isyarat 6 urutan yang berbeza yang dapat mereka ganti dalam masa nyata, dan menyokong keupayaan untuk menukar antara sampel yang berbeza . Saya
Arduino MIDI Drum: 6 Langkah
Arduino MIDI Drums: Pernah terfikir untuk belajar drum tetapi anda tidak mampu membeli drum set atau tidak mempunyai cukup ruang untuk menyimpan set drum. Dengan mudah membuat set drum MIDI di rumah menggunakan Arduino di bawah ₹ 800 ($ 10)
Mesin Drum Mudah Dengan Arduino Uno dan Mozzi: 4 Langkah
Mesin Drum Ringkas Dengan Arduino Uno dan Mozzi: Tinggal di Argentina bermaksud surat antarabangsa akan dicuri atau terjebak dalam kebiasaan. Tambahkan karantina Coronavirus dan projek anda seterusnya terhad kepada papan Arduino Uno lama. Berita baik? Seperti kata penyair hebat dari Rolling Stones, “Masa sudah hampir
Putar Drum Band Rock X ke dalam Drum Elektronik Sendiri Midi: 4 Langkah (dengan Gambar)
Ubah Drum Band Rock X ke dalam Drum Elektronik Midi Berdiri Sendiri .: Saya bernasib baik kerana mendapat set drum x-box bekas, ia dalam bentuk agak kasar, dan tidak ada dayung, tetapi tidak ada yang tidak dapat diperbaiki. ubahnya menjadi set dram elektrik yang berdiri sendiri. Membaca nilai analog dari sensor piezo dan mengubahnya menjadi MIDI comman
Drum Elektronik DIY (Modul Drum Diperlukan): 4 Langkah
Drum Elektronik DIY (Drum Module Req'd): Jadi tahun lalu saya perlu mendiamkan diri untuk rakan serumah saya, dan sebagai pemain drum yang sedikit menahan diri. Saya melayari internet dan menjumpai beberapa laman web hebat setelah membaca mengenai set drum DIY di Hack-a-day, dan apa yang anda tahu, satu