Arduino Halloween MP3 Soundboard
|
Arduino Halloween Soundboard ini sekali lagi merupakan proyek sederhana yang dibangun dengan bagian-bagian yang sudah saya miliki. Papan suara sangat sederhana. Ada 16 MP3 pada kartu SD. Segera setelah salah satu dari 16 tombol keypad ditekan, Arduino memutar MP3 yang sesuai melalui loudspeaker. Saat MP3 diputar, Anda dapat menekan tombol lain, pemutaran akan terputus dan suara berikutnya akan segera dimulai.
Sama seperti proyek Halloween sebelumnya “Kilat dan petir: Arduino Halloween DIY project” kami menggunakan DFPlayer Mini. Selain itu, kali ini juga hadir keypad 4×4. Ini bukan proyek yang sudah jadi tetapi merupakan titik awal, Anda dapat menggunakannya untuk membuat sesuatu yang menyenangkan sendiri. Di blog ini, kami menggunakan papan suara dengan suara Halloween, tetapi tentu saja Anda juga dapat menggunakannya dengan sampel lain.


Arduino Halloween MP3 Soundboard
Saya menggunakan komponen berikut untuk proyek ini. Speaker didaur ulang dari PC lama.
- Arduino Uno (Anda juga dapat menggunakan Arduino Nano)
- Modul Mini MP3 Player DFPlayer
- MicroSD-card (maks 32GB)
- Breadboard dan kabel jumper
- Speaker (maks. 3W) atau amplifier
- Resistance 1K
- Papan tombol 4×4
Jika Anda memiliki semua bagian bersama-sama maka hubungkan seperti ditunjukkan pada diagram di bawah ini.


Anda menghubungkan papan tombol ke pin digital Arduino sesuai dengan tabel di bawah ini. Pin 1 dari keypad adalah pin kiri pada konektor (keypad dengan sisi yang dicetak di atas, seperti pada gambar).
Keypad pin | Arduino digital pin |
1 | 5 |
2 | 4 |
3 | 3 |
4 | 2 |
5 | 9 |
6 | 8 |
7 | 7 |
8 | 6 |
DFPlayer Mini terhubung ke pin 10 dan pin 11 (dengan resistor 1K), serta 5V dan GND:
DFPlayer Mini | Arduino digital pin |
TX | 10 |
RX | 11 (via 1K resistor) |
VCC | 5V |
GND | GND |
Dalam contoh tersebut, DFPlayer Mini terhubung ke speaker, tetapi Anda juga dapat menggunakan amplifier. Kedua opsi tercantum dalam tabel di bawah ini:
DFPlayer Mini | Speaker | Amplifier |
SPK_1 | + | |
SPK_2 | – | |
DAC_L | L | |
DAC_R | R | |
GND | GND |


More information about connecting the DFPlayer Mini can be found on the DFRobot Wiki.
Informasi lebih lanjut tentang menghubungkan Mini DFPlayer dapat ditemukan di Wiki DFRobot.
Suara Halloween, MP3
Anda dapat menemukan 16 suara Halloween dalam format MP3 (320kbps) yang sudah jadi di bagian unduhan atau unduh melalui tautan di bawah ini. File-file (0001.mp3 hingga 0016.mp3) harus ditempatkan dalam folder dengan nama “mp3” pada kartu SD. Kartu ini mungkin berformat FAT16 atau FAT32. Suara-suara ini hanyalah contoh-contoh yang dipilih secara acak, tentu saja lebih menyenangkan untuk mencari suara sendiri.
Menginstal perpustakaan Arduino
Untuk membuat pemrograman sedikit lebih mudah, kami menggunakan perpustakaan untuk keypad dan DFPlayer Mini. Anda dapat menginstal perpustakaan di “Library Manager” yang dapat Anda akses melalui menu Tools > Manage libraries …
Pertama, Library keypad (https://playground.arduino.cc/Code/Keypad/). Cari ‘keypad’ dan pilih perpustakaan seperti yang ditunjukkan pada gambar di bawah ini.


Kemudian kami memasang pustaka DFRobotDFPlayerMini (https://github.com/DFRobot/DFRobotDFPlayerMini). Cari “DFRobotDFPlayer” dan pilih perpustakaan bernama “DFRobotDFPlayerMini”.


Ketika kedua pustaka ini diinstal, kita dapat melanjutkan dengan kode untuk papan suara.
Arduino Halloween Soundboard Code
Kode ini juga hanya contoh dan titik awal untuk membuat kreasi Anda sendiri. Kode di bawah ini didasarkan pada sampel “HelloKeypad”. Lebih banyak contoh dapat ditemukan di IDE Arduino di bawah menu File > Examples > Keypad.
#include "Keypad.h" #include "Arduino.h" #include "SoftwareSerial.h" #include "DFRobotDFPlayerMini.h" SoftwareSerial mySoftwareSerial(10, 11); // RX, TX DFRobotDFPlayerMini myDFPlayer; const byte ROWS = 4; //four rows const byte COLS = 4; //four columns char keys[ROWS][COLS] = { {'1','2','3','A'}, {'4','5','6','B'}, {'7','8','9','C'}, {'*','0','#','D'} }; byte rowPins[ROWS] = {5, 4, 3, 2}; //connect to the row pinouts of the keypad byte colPins[COLS] = {9, 8, 7, 6}; //connect to the column pinouts of the keypad Keypad keypad = Keypad( makeKeymap(keys), rowPins, colPins, ROWS, COLS ); String keypadKeys = "1234567890*#ABCD"; void setup(){ mySoftwareSerial.begin(9600); Serial.begin(9600); if (!myDFPlayer.begin(mySoftwareSerial)) { //Use softwareSerial to communicate with mp3. Serial.println(F("Unable to begin:")); Serial.println(F("1.Please recheck the connection!")); Serial.println(F("2.Please insert the SD card!")); while(true); } myDFPlayer.volume(25); //Set volume value. From 0 to 30 } void loop(){ char keyPressed = keypad.getKey(); if (keyPressed){ Serial.println(keyPressed); int sampleIndex = 1 + keypadKeys.indexOf(keyPressed); //Convert pressed key (1234567890*#ABCD) to sample index (1-16) Serial.println(sampleIndex); myDFPlayer.play(sampleIndex); //Play the chosen mp3 } }
Bersambung
Anda dapat melakukan banyak hal dengan proyek seperti ini sehingga kami pasti akan kembali ke sana lagi. Apa lagi yang bisa kita lakukan dengannya?
- Bangun rumah yang lucu
- Pilih tema yang berbeda dari Halloween
- Minta kunci A-B-C-D memilih “bank suara” sehingga Anda dapat memutar lebih banyak suara
- Hubungkan layar OLED atau LCD, LED, dll.
- buat versi WiFi dengan ESP8266 atau ESP32
- Dll. Dll.
Banyak pilihan! Sudahkah Anda membuat proyek yang bagus dengan itu sendiri? Letakkan di komentar di bawah!