Daftar Isi:
2025 Pengarang: John Day | [email protected]. Terakhir diubah: 2025-01-13 06:57
pengantar
Setelah bereksperimen dengan konstruksi synthesizer yang berbeda, saya mulai membuat sampler audio, yang mudah direplikasi dan tidak mahal.
Untuk mendapatkan kualitas audio yang baik (44,1 kHz) dan kapasitas penyimpanan yang memadai, digunakan modul DFPlayer, yang menggunakan kartu memori micro SD untuk menyimpan informasi hingga 32 gigabyte. Modul ini hanya mampu memainkan satu suara pada satu waktu, jadi kami akan menggunakan dua.
Persyaratan lain untuk proyek ini adalah bahwa sirkuit dapat beradaptasi dengan antarmuka yang berbeda, itulah sebabnya kami memilih sensor kapasitif daripada tombol.
Sensor kapasitif dapat diaktifkan hanya dengan kontak tangan dengan permukaan logam apa pun yang terhubung ke sensor.
Untuk pembacaan sensor kami akan menggunakan Arduino nano, karena kemampuannya dan ukurannya yang kecil.
karakteristik
6 suara yang berbeda
Diaktifkan oleh sensor kapasitif.
Polifoni 2 suara sekaligus.
Langkah 1: Bahan dan Alat
Bahan:
Arduino Nano
2x DFPlayer
2x micro SD
3.5 Jack Audio
2.1 Jack DC
Papan tembaga 10x10
Ferric Chloride
Kawat solder
Kertas transfer PCB
Peralatan
Besi Solder
Pemotong timah komponen
Komputer
Besi
Perangkat lunak
Arduino Ide
Kicad
Perpustakaan ADTouch
Pustaka DFPlayer Cepat
Langkah 2: Bagaimana Cara Kerjanya?
Sampler bekerja sebagai berikut, menggunakan perpustakaan ADTouch kami mengubah 6 port analog Arduino Nano menjadi sensor kapasitif.
Sebagai sensor, kita dapat menggunakan potongan logam apa pun yang terhubung ke salah satu pin ini melalui kabel.
Anda dapat membaca lebih lanjut tentang library dan sensor kapasitif di tautan berikut
Ketika salah satu sensor ini disentuh, arduino mendeteksi perubahan kapasitansi dan setelah itu mengirimkan perintah untuk mengeksekusi suara yang sesuai dengan sensor tersebut ke modul DFPlayer.
Setiap modul DFPlayer hanya dapat memainkan satu suara pada satu waktu, jadi untuk memiliki kemungkinan mengeksekusi 2 suara sekaligus instrumen menggunakan 2 modul.
Langkah 3: Skema
Dalam diagram kita dapat melihat bagaimana arduino dan dua modul DFPlayer terhubung
R1 dan R2 (1 k) harus menghubungkan modul ke DFPlayers.
R 3 4 5 dan 6 (10k) adalah untuk mencampur keluaran saluran l dan r dari modul.
R 7 (330) adalah resistansi proteksi sebuah LED yang akan digunakan sebagai indikator bahwa arduino sedang diberi energi.
Langkah 4: Bangun PCB
Selanjutnya kami akan memproduksi pelat menggunakan metode perpindahan panas, yang dijelaskan dalam instruksi ini:
6 bantalan telah ditempatkan di papan yang memungkinkan sampler digunakan tanpa memerlukan sensor eksternal.
Langkah 5: Menyolder Komponen
Selanjutnya kita akan menyolder komponennya.
Pertama resistor.
Disarankan untuk menggunakan header untuk memasang Arduino dan modul tanpa menyoldernya secara langsung.
Untuk menyolder header dimulai dengan pin, lalu periksa apakah sudah terpasang dengan baik, lalu solder sisa pin.
Akhirnya kami akan menyolder konektornya
Langkah 6: Instal Perpustakaan
Dalam proyek ini kita akan menggunakan tiga perpustakaan yang perlu kita instal:
SoftwareSerial.h
DFPlayerMini_Fast.h
ADCTouch.h
Di tautan berikut Anda dapat melihat secara detail cara menginstal perpustakaan di Arduino
www.arduino.cc/en/guide/libraries
Langkah 7: Kode
Sekarang kita dapat mengunggah kode ke papan Arduino.
Untuk ini kita harus memilih papan Arduino Nano.
#sertakan #sertakan #sertakan
int ref0, ref1, ref2, ref3, ref4, ref5; int;
Perangkat LunakSerial mySerial(8, 9); // RX, TX DFPlayerMini_Fast myMP3;
SoftwareSerial mySerial2(10, 11); // RX, TX DFPlayerMini_Fast myMP32;
void setup() { int th = 550; // Serial.begin(9600); mySerial.begin(9600); mySerial2.begin(9600); myMP3.begin(mySerial); myMP32.begin(mySerial2); myMP3.volume(18); ref0 = ADCTouch.read(A0, 500); ref1 = ADCTouch.read(A1, 500); ref2 = ADCTouch.read(A2, 500); ref3 = ADCTouch.read(A3, 500); ref4 = ADCTouch.read(A4, 500); ref5 = ADCTouch.read(A5, 500);
}
lingkaran kosong() {
int total1 = ADCTouch.read(A0, 20); int total2 = ADCTouch.read(A1, 20); int total3 = ADCTouch.read(A2, 20); int total4 = ADCTouch.read(A3, 20); int total5 = ADCTouch.read(A4, 20); int total6 = ADCTouch.read(A5, 20);
total1 -= ref0; total2 -= ref1; total3 -= ref2; total4 -= ref3; total5 -= ref4; total6 -= ref5; // // Serial.print(total1 > th); // Serial.print(total2 > th); // Serial.print(total3 > th); // Serial.print(total4 > th); // Serial.print(total5 > th); // Serial.println(total6 > th);
// Serial.print(total1); // Serial.print("\t"); // Serial.print(total2); // Serial.print("\t"); // Serial.print(total3); // Serial.print("\t"); // Serial.print(total4); // Serial.print("\t"); // Serial.print(total5); // Serial.print("\t"); // Serial.println(total6); if (total1 > 100 && total1 > th) { myMP32.play(1); // Serial.println("o1"); }
if (total2 > 100 && total2 > th) { myMP32.play(2); //Serial.println("o2"); }
if (total3 > 100 && total3 > th) {
myMP32.play(3); //Serial.println("o3");
}
if (total4 > 100 && total4 > th) {
myMP3.play(1); //Serial.println("o4");
}
if (total5 > 100 && total5 > th) {
myMP3.play(2); //Serial.println("o5");
}
if (total6 > 100 && total6 > th) {
myMP3.play(3); //Serial.println("o6");
} // tidak melakukan apa-apa delay(1); }
Langkah 8: Muat Suara Ke Kartu Memori
Sekarang Anda dapat memuat suara Anda di kartu micro SD
Formatnya harus 44,1 kHz dan 16 bit wav
Anda harus mengunggah 3 suara di setiap kartu SD.
Langkah 9: Antarmuka
Saat ini Anda sudah dapat menjalankan sampler Anda dengan bantalan di PCB, tetapi Anda masih memiliki kemungkinan untuk menyesuaikannya, memilih kasing dan objek atau permukaan logam yang berbeda untuk digunakan sebagai sensor.
Dalam hal ini saya menggunakan 3 kepala pergelangan tangan yang saya pasang sekrup logam sebagai suara kontak logam.
Untuk ini, sambungkan sekrup ke pin papan dengan kabel.
Anda dapat menggunakan benda logam apa pun, pita konduktif, atau bereksperimen dengan tinta konduktif.