Cara Menggunakan Modul MP3 DFMini Player Dengan Arduino: 4 Langkah
Cara Menggunakan Modul MP3 DFMini Player Dengan Arduino: 4 Langkah
Anonim
Cara Menggunakan Modul MP3 DFMini Player Dengan Arduino
Cara Menggunakan Modul MP3 DFMini Player Dengan Arduino

Beberapa proyek memerlukan reproduksi suara untuk menambahkan beberapa jenis fungsi. Di antara proyek-proyek ini, kami menyoroti: aksesibilitas untuk tunanetra, pemutar musik MP3 dan eksekusi suara suara oleh robot, misalnya.

Di semua sistem ini, kita membutuhkan perangkat reproduksi suara MP3 untuk terhubung ke Arduino. Oleh karena itu, dalam artikel ini kita akan mempelajari poin-poin berikut: Rangkaian operasi dasar DFMini Player MP3;Organisasi dan konfigurasi file suara pada kartu memori;Kontrol musik dengan Arduino.

Perlengkapan

PCBWay Kustom PCB;

Modul MP3 Mini DFPlayer - UTSOURCE;

Resistor 10kR - UTSOURCE;

Tombol Beralih - UTSOURCE;

Papan tempat memotong roti - UTSOURCE;

Arduino UNO - SUMBER;

Pin Tajuk - UTSOURCE;

Langkah 1: Apa itu Modul MP3 DF Mini Player?

Apa itu Modul MP3 Pemutar Mini DF?
Apa itu Modul MP3 Pemutar Mini DF?
Apa itu Modul MP3 Pemutar Mini DF?
Apa itu Modul MP3 Pemutar Mini DF?

Modul DFMini Player adalah pemutar musik kecil, berbiaya rendah, dan berdaya rendah yang bertujuan untuk mereproduksi suara yang tersimpan di kartu memori.

Berdasarkan hal tersebut, modul dapat dikontrol melalui mode standalone, yaitu dalam mode ini hanya akan ada modul DFMini, baterai untuk menyalakan, speaker, tombol untuk mengontrolnya dan SD Card dengan lagu. Cara lain untuk mengontrolnya adalah dengan menggunakan Arduino atau perangkat kontrol lainnya.

Arduino, misalnya, akan mengirimkan perintah melalui komunikasi serial dengan Modul DFMini Player. Modul DFMini Player ditunjukkan pada Gambar 1.

Untuk mengontrolnya, penting untuk menggunakan rangkaian dasar yang berdiri sendiri. Rangkaian ini ditunjukkan pada Gambar 2.

Dua tombol yang ditunjukkan pada rangkaian di atas digunakan untuk mengubah trek musik dan mengontrol volume suara. Tombol yang terhubung ke pin IO1 digunakan untuk pergi ke trek sebelumnya dan mengurangi volume. Dengan sentuhan cepat, sistem akan kembali ke lagu sebelumnya, namun jika Anda menekan tombol lebih dari 1 detik, sistem akan mengurangi volume lagu.

Tombol yang terhubung ke pin IO2 digunakan untuk pergi ke trek berikutnya dan meningkatkan volume. Dengan sentuhan cepat, sistem akan maju ke lagu berikutnya, namun, jika Anda menekan tombol lebih dari 1 detik, sistem akan meningkatkan volume lagu.

Langkah 2:

Gambar
Gambar

Dalam metode standalone ini, lagu-lagu harus disimpan di kartu memori, seperti yang ditunjukkan pada Gambar 3.

Dengan cara ini, setiap kali tombol ditekan, sistem akan memutar setiap lagu dalam urutan menaik atau menurun. Namun, saat menggunakan Arduino atau perangkat kontrol lain, kita harus mengubah cara mengatur file musik di SD Card.

Sekarang, saya akan menjelaskan cara mengontrol DFMini Player menggunakan Arduino melalui komunikasi serial.

Langkah 3: Mengontrol DFMini Player Dengan Arduino

Mengontrol Pemutar DFMini Dengan Arduino
Mengontrol Pemutar DFMini Dengan Arduino
Mengontrol Pemutar DFMini Dengan Arduino
Mengontrol Pemutar DFMini Dengan Arduino

Pada langkah ini, kontrol volume, kontrol jangkauan, perintah pemerataan, dan fitur lainnya akan dikirim oleh Arduino.

Arduino harus berkomunikasi melalui serial dengan DFMini Player dan mengirimkan perintah kontrol.

Skema elektronik rangkaian kontrol ditunjukkan pada Gambar 4.

Pertama, kita harus merakit sirkuit yang ditunjukkan pada Gambar di bawah. Setelah merakit sirkuit ini, Anda harus menambahkan lagu pada kartu memori Anda. Pada langkah ini, lagu harus diganti namanya menjadi 01, 02, 03, misalnya.

Anda tidak dapat meninggalkan lagu dengan nama mereka, karena akan ada masalah ketika Arduino mengirimkan perintah untuk mengeksekusi trek tertentu. Oleh karena itu, Anda harus mengkonfigurasi seperti yang ditunjukkan di bawah ini.

Langkah 4:

Setelah memberi nama file, tulis kode berikut di Arduino Anda.

//Menunggu entri data melalui serial while (Serial.available() > 0) { command = Serial.read(); if ((perintah >= '1') && (perintah <= '9')) { Serial.print("Reproduksi musik"); Serial.println(perintah); perintah = perintah - 48; myDFPlayer.play(perintah); menu_opcoes(); } //Reproduksi //Hentikan jika (perintah == 's') { myDFPlayer.stop(); Serial.println("Musik Berhenti!"); menu_opcoes(); } //Jeda/Lanjutkan a musica if (perintah == 'p') { jedaa = !pausa; if (jeda == 0) { Serial.println("Lanjutkan…"); myDFPlayer.start(); } if (jeda == 1) { Serial.println("Musik Dijeda!"); myDFPlayer.pause(); } menu_opcoes(); }

//Meningkatkan volume

if (perintah == '+') { myDFPlayer.volumeUp(); Serial.print("Volume saat ini:"); Serial.println(myDFPlayer.readVolume()); menu_opcoes(); } if (perintah == '') { myDFPlayer.next(); Serial.println("Selanjutnya:"); Serial.print("Trek saat ini:"); Serial.println(myDFPlayer.readCurrentFileNumber()+1); menu_opcoes(); } //Mengurangi volume if (perintah == '-') { myDFPlayer.volumeDown(); Serial.print("Volume Saat Ini:"); Serial.println(myDFPlayer.readVolume()); menu_opcoes(); } } } void menu_opcoes() { Serial.println(); Serial.println("============================================ ================================================== =====================================")); Serial.println(F("Perintah:")); Serial.println(F(" [1-3] Untuk memilih file MP3")); Serial.println(F("[s] menghentikan reproduksi")); Serial.println(F(" [p] jeda/lanjutkan musik")); Serial.println(F(" [+ atau -] menambah atau mengurangi volume")); Serial.println(F(" maju atau mundur trek")); Serial.println(); Serial.println("============================================ ================================================== ====================================")); }

Kode yang disajikan di atas cukup sederhana dan akan membantu Anda memilih lagu berdasarkan nomornya, berhenti, jeda, kontrol volume, dan lewati trek.

Kontrol musik terdiri dari pengiriman data dari serial Arduino IDE ke papan Arduino kami. Awalnya, sistem membuat konfigurasi dalam pengaturan dan memeriksa apakah Kartu SD dimasukkan ke dalam modul.

Jika tidak dimasukkan, sistem menyajikan pesan untuk memperingatkan pengguna.

Selain itu, sistem menampilkan pesan dengan opsi konfigurasi sistem.

void setup(){ //Komunikasi serial com o modulo mySoftwareSerial.begin(9600); //Inisialisasi serial yang dilakukan Arduino Serial.begin(115200); //Verifikasi se o modulo esta respondendo e se o //cartao SD foi encontrado Serial.println(); Serial.println(F("DFRobot DFPlayer Mini")); Serial.println(F("Menginisialisasi modul DFPlayer … Tunggu!")); if (!myDFPlayer.begin(mySoftwareSerial)) { Serial.println(F("Tidak diinisialisasi:")); Serial.println(F("1. Periksa koneksi DFPlayer Mini")); Serial.println(F("2. Masukkan kartu SD")); sementara (benar); } Serial.println(); Serial.println(F("Modul DFPlayer Mini diinisialisasi!")); //Definisi ini adalah myDFPlayer.setTimeOut(500); //Timeout serial 500ms myDFPlayer.volume(5); //Volume 5 myDFPlayer. EQ(0); //Equalizacao normal menu_opcoes(); }

Jika kartu memori dimasukkan, aliran kode akan memasuki fungsi loop.

void loop(){ //Menunggu entri data melalui serial while (Serial.available() > 0) { command = Serial.read(); if ((perintah >= '1') && (perintah <= '3')) { Serial.print("Reproduksi musik"); Serial.println(perintah); perintah = perintah - 48; myDFPlayer.play(perintah); menu_opcoes(); } //Reproduksi //Hentikan jika (perintah == 's') { myDFPlayer.stop(); Serial.println("Musik Berhenti!"); menu_opcoes(); } //Jeda/Lanjutkan a musica if (perintah == 'p') { jedaa = !pausa; if (jeda == 0) { Serial.println("Lanjutkan…"); myDFPlayer.start(); } if (jeda == 1) { Serial.println("Musik Dijeda!"); myDFPlayer.pause(); } menu_opcoes(); }

//Meningkatkan volume

if (perintah == '+') { myDFPlayer.volumeUp(); Serial.print("Volume saat ini:"); Serial.println(myDFPlayer.readVolume()); menu_opcoes(); } if (perintah == '') { myDFPlayer.next(); Serial.println("Selanjutnya:"); Serial.print("Trek saat ini:"); Serial.println(myDFPlayer.readCurrentFileNumber()+1); menu_opcoes(); } //Mengurangi volume if (perintah == '-') { myDFPlayer.volumeDown(); Serial.print("Volume Saat Ini:"); Serial.println(myDFPlayer.readVolume()); menu_opcoes(); } } }

Pengguna dapat mengirim karakter kontrol berikut:

Nomor 1 sampai 3: Pilih lagu yang akan dimainkan;

  • Huruf s: Hentikan lagu;Huruf p: Jeda lagu;
  • Kirim tanda +: Tingkatkan volume lagu;
  • Kirim sinyal -: Kurangi volume lagu;
  • Kirim sinyal <: Pilih lagu sebelumnya;
  • Kirim sinyal >: Pilih lagu berikutnya;

Dari sinyal, huruf, dan angka tersebut, Arduino akan menerimanya melalui serial dan akan mengontrol musik yang akan dimainkan.

Setiap kondisi disajikan di bawah ini dan secara internal, dengan perintahnya masing-masing.

if ((perintah >= '1') && (perintah <= '3')){ Serial.print("Reproduksi musik"); Serial.println(perintah); perintah = perintah - 48; myDFPlayer.play(perintah); menu_opcoes(); } //Reproduksi //Hentikan jika (perintah == 's') { myDFPlayer.stop(); Serial.println("Musik Berhenti!"); menu_opcoes(); } //Jeda/Lanjutkan a musica if (perintah == 'p') { jedaa = !pausa; if (jeda == 0) { Serial.println("Lanjutkan…"); myDFPlayer.start(); } if (jeda == 1) { Serial.println("Musik Dijeda!"); myDFPlayer.pause(); } menu_opcoes(); }

//Meningkatkan volume

if (perintah == '+') { myDFPlayer.volumeUp(); Serial.print("Volume saat ini:"); Serial.println(myDFPlayer.readVolume()); menu_opcoes(); } if (perintah == '') { myDFPlayer.next(); Serial.println("Selanjutnya:"); Serial.print("Trek saat ini:"); Serial.println(myDFPlayer.readCurrentFileNumber()+1); menu_opcoes(); } //Mengurangi volume if (perintah == '-') { myDFPlayer.volumeDown(); Serial.print("Volume Saat Ini:"); Serial.println(myDFPlayer.readVolume()); menu_opcoes(); } }

Jadi, jika Anda menerapkan semua langkah yang disajikan, Anda dapat mempelajari:

  • Sirkuit operasi dasar DFMini Player MP3;
  • Organisasi dan konfigurasi file suara pada kartu memori;
  • Kontrol musik dengan Arduino. Dari kode ini, Anda dapat mengembangkan proyek lain yang perlu menggunakan suara sebagai fungsionalitas sistem.

Ucapan Terima Kasih

Akhir kata, kami ucapkan terima kasih telah membaca dan dukungan dari PCBWAY. COM untuk mendukung Silício Lab dalam pembuatan artikel ini untuk Anda.

Silícios Lab berterima kasih kepada UTSOURCE karena telah menawarkan komponen elektronik untuk membangun proyek ini.

Direkomendasikan: