Daftar Isi:

Pemutar MP3 Terkendali Inframerah: 6 Langkah (dengan Gambar)
Pemutar MP3 Terkendali Inframerah: 6 Langkah (dengan Gambar)

Video: Pemutar MP3 Terkendali Inframerah: 6 Langkah (dengan Gambar)

Video: Pemutar MP3 Terkendali Inframerah: 6 Langkah (dengan Gambar)
Video: ЗАПРЕЩЁННЫЕ ТОВАРЫ с ALIEXPRESS 2023 ШТРАФ и ТЮРЬМА ЛЕГКО! 2024, Juni
Anonim
Image
Image
Pemutar MP3 Terkendali Inframerah
Pemutar MP3 Terkendali Inframerah

Buat pemutar MP3 pengontrol jarak jauh inframerah dengan harga sekitar $10 (usd). Ini memiliki fitur biasa: putar, jeda, putar berikutnya atau sebelumnya, mainkan satu lagu atau semua lagu. Ini juga memiliki variasi equalizer dan kontrol volume. Semua dapat dikendalikan melalui remote.

Fungsionalitas yang diprogram:

Tombol Jarak Jauh: Fungsi

+ 01: Volume turun + 02: Atur ke direktori #2. + 03: Volume naik + 4…9: Pilih pengaturan equalizer berikut: ++ (4)DFPLAYER_EQ_POP (5)DFPLAYER_EQ_CLASSIC (6)DFPLAYER_EQ_NORMAL ++ (7)DFPLAYER_EQ_ROCK (8)DFPLAYER_EQ_JAZZ (9)DFPLAYER_EQ_BASS + OK: Jeda + OK: Putar + >>: Putar berikutnya + <<: Putar sebelumnya + Atas: Putar lagu direktori berikutnya + Dn: Putar lagu direktori sebelumnya + *|Kembali: Loop lagu tunggal: aktif + #|Keluar: Loop lagu tunggal: mati

Langkah pertama adalah menguji Arduino dan menghubungkannya ke papan tempat memotong roti. Langkah-langkah berikut yang dirancang untuk bekerja secara mandiri. Setiap langkah memiliki instruksi pengkabelan dan instruksi pengujian. Ketika saya membangun proyek, saya mengirim dan menguji setiap komponen untuk memastikan mereka berfungsi. Ini membantu mengintegrasikan komponen karena mengetahui bahwa setiap pekerjaan dan saya dapat fokus pada persyaratan integrasi.

Instruksi ini mengharuskan Anda menginstal Arduino IDE. Anda juga harus memiliki keterampilan dasar untuk mengunduh program sketsa Arduino dari tautan di proyek ini, membuat direktori untuk program (nama direktori sama dengan nama program). Langkah selanjutnya adalah memuat, melihat dan mengedit program di IDE. Kemudian, unggah program melalui kabel USB ke papan Arduino Anda.

Perlengkapan

  • Nano V3 ATmega328P CH340G Papan pengontrol mikro untuk Arduino. Sebagai alternatif, Anda dapat menggunakan Uno.
  • Penerima inframerah dan remote control. Saya menggunakan Kit Modul Remote Control Nirkabel IR yang disertakan dengan penerima Inframerah dan remote control inframerah.
  • Satu resistor, 1K hingga 5K. Saya menggunakan resistor 5K karena saya punya banyak. Resister menghilangkan noise yang ada saat tidak menggunakan resistor.
  • Kabel kawat papan tempat memotong roti
  • Adaptor dinding 5 volt

Saya membeli suku cadang di eBay, kebanyakan dari distributor Hong Kong atau China. Distributor AS terkadang memiliki suku cadang yang sama atau serupa dengan harga yang wajar dan pengiriman yang lebih cepat. Suku cadang China membutuhkan waktu 3 hingga 6 minggu untuk dikirim. Distributor yang saya gunakan semuanya dapat diandalkan.

Perkiraan biaya: Nano $3, kit Inframerah $1, papan tempat memotong roti $2, paket 40 kabel kawat $1, $1 untuk adaptor dinding 5 volt. Totalnya, sekitar $8. Catatan, saya membeli Nano dengan pin papan tempat memotong roti yang sudah disolder di tempatnya, karena keterampilan menyolder saya buruk.

Langkah 1: Tambahkan Arduino Nano ke Breadboard

Tambahkan Arduino Nano ke Breadboard
Tambahkan Arduino Nano ke Breadboard

Colokkan Arduino Nano ke Breadboard. Atau, jika Anda mau, Anda dapat menggunakan Arduino Uno untuk proyek ini; mereka berdua menggunakan pin yang sama untuk proyek ini. Hubungkan Nano (atau Uno) ke komputer Anda melalui kabel USB.

Hubungkan daya dan arde dari Arduino ke bilah daya papan tempat memotong roti. Hubungkan pin Arduino 5+ ke bilah positif papan tempat memotong roti. Hubungkan pin Arduino GRN (ground) ke bar negatif (ground) breadboard. Ini akan digunakan oleh komponen lain.

Unduh dan jalankan program uji Arduino dasar: arduinoTest.ino. Saat menjalankan program, lampu LED onboard akan menyala selama 1 detik, lalu mati selama 1 detik. Juga, pesan diposting yang dapat dilihat di Arduino IDE Tools/Serial Monitor.

+++ Pengaturan.

+ Menginisialisasi pin digital LED on board untuk output. LED mati. ++ Pergi ke loop. + Penghitung putaran = 1 + Penghitung putaran = 2 + Penghitung putaran = 3 …

Sebagai latihan, ubah waktu tunda pada lampu yang berkedip, unggah program yang diubah, dan konfirmasikan perubahannya.

Pada foto di atas adalah kotak kit kawat jumper papan tempat memotong roti tanpa solder 140 potong yang bisa Anda dapatkan dengan harga 3 hingga 5 dolar. Mereka membuat papan lebih rapi yang menggunakan kabel panjang untuk koneksi pendek.

Langkah 2: Tambahkan Penerima Inframerah dan Hubungkan ke Arduino

Tambahkan Penerima Inframerah dan Hubungkan ke Arduino
Tambahkan Penerima Inframerah dan Hubungkan ke Arduino

Pasang kabel kabel betina ke jantan ke penerima inframerah (ujung betina). Hubungkan pin arde modul jam, ke strip batang arde papan tempat memotong roti. Hubungkan pin daya modul jam, ke strip batang positif papan tempat memotong roti. Hubungkan pin output penerima inframerah, ke pin Arduino A1.

Hubungkan penerima inframerah, pin dari kiri atas ke kanan:

Paling kiri (di sebelah X) - Pin nano A1 Tengah - 5V Kanan - ground A1 + - - Sambungan pin nano | | | - Pin penerima inframerah --------- |S | | | | --- | | | | | | --- | | | ---------

Di Arduino IDE, instal perpustakaan inframerah. Pilih Alat/Kelola Perpustakaan. Saring pencarian Anda dengan mengetik 'IRremote'. Pilih IRremote by Shirriff (untuk referensi, tautan GitHub perpustakaan). Informasi perpustakaan Arduino IRtautan perpustakaan jarak jauh.

Unduh dan jalankan program pengujian dasar: infraredReceiverTest.ino. Saat menjalankan program, arahkan remote control Anda ke penerima dan tekan berbagai tombol seperti angka dari 0 hingga 9. Keluaran pesan serial (tercetak) yang dapat dilihat di Alat/Monitor Serial Arduino IDE.

+++ Pengaturan.

+ Menginisialisasi penerima inframerah. ++ Pergi ke loop. + Tombol OK - Toggle + Key > - next + Key < - sebelumnya + Key up + Key down + Key 1: + Key 2: + Key 3: + Key 4: + Key 6: + Key 7: + Key 8: + Kunci 9: + Kunci 0: + Kunci * (Kembali) + Kunci # (Keluar)

Sebagai latihan, gunakan remote TV untuk melihat nilai yang dicetak. Anda kemudian dapat memodifikasi program untuk menggunakan nilai-nilai dalam pernyataan sakelar fungsi infraredSwitch(). Misalnya, tekan tombol "0" dan dapatkan nilai untuk remote Anda, misalnya, "0xE0E08877". Kemudian, tambahkan case ke dalam pernyataan switch seperti pada cuplikan kode berikut.

kasus 0xFF9867:

kasus 0xE0E08877: Serial.print("+ Kunci 0:"); Serial.println(""); merusak;

Langkah 3: Buat Kartu Mico SD dari File MP3

Karena DFPlayer adalah perangkat keras kecil yang murah, DFPlayer mengelola file dan folder dengan cara yang sederhana. Saya mendapatkan hasil yang beragam saat memutar file MP3 yang tidak mengikuti format yang direkomendasikan berikut, dan oleh karena itu, saya merekomendasikan yang berikut ini. Juga, saya belum menguji opsi lain, seperti nama file 3 digit (contoh: 003.mp3), namun saya telah melihat nama file 3 digit digunakan dalam instruksi dan sampel lain.

Berikut ini adalah nama file dan format nama direktori folder yang saya rekomendasikan:

  • Nama folder default adalah MP3, ditempatkan di bawah direktori root kartu SD: SD:/MP3. Folder ini opsional saat menggunakan beberapa folder.
  • Pemain juga akan memutar file MP3 di direktori root.
  • Saat menggunakan beberapa folder, gunakan nama folder: 01, 02, 03, …, 99.
  • Nama file mp3 harus 4 digit dengan ekstensi "0001.mp3", misalnya, "0001.mp3".
  • File dapat ditempatkan di folder MP3 atau di salah satu dari beberapa folder.
  • Nama File: 0001.mp3 hingga 0255.mp3. Catatan, player juga akan memutar file MP3 dengan nama lain.
  • Anda dapat menambahkan karakter setelah angka, misalnya, "0001hello.mp3".

Sebaiknya Anda memformat kartu sebelum menambahkan file. Ini memastikan bahwa kartu bersih dari file sistem. Format menggunakan FAT32 MS-DOS.

Di Mac, gunakan utilitas disk untuk memformat disk: Aplikasi > Utilitas > buka Utilitas Disk.

Klik pada kartu SD, contoh: APPLE SD Card Reader Media/MUSICSD. Klik item menu, Erase. Set name, contoh: MUSICSD. Pilih: MS-DOS (Fat). Klik Erase.

Disk dibersihkan dan diformat.

Saya menulis program Java yang akan menyalin direktori file MP3 ke direktori tujuan, menggunakan nama direktori dan file yang bekerja dengan modul DFPlayer. Untuk menjalankan program, Anda perlu menginstal Java JRE. Berikut adalah keluaran bantuan program.

$ java -jar mp3player.jar

+++ Mulai, program penyalinan modul DFPlayer. Sintaks: java -jar mp3player.jar copy [(IN: MP3 directory) (OUT: MP3 directory)] ---------------------- Program ini menyalin direktori file MP3 untuk membuat direktori lain dari file MP3 menggunakan direktori dan nama file yang berfungsi dengan modul DFPlayer. Sebelum menjalankan program ini, + Buat direktori file MP3 Anda. + Buat direktori tujuan. + Direktori tujuan adalah tempat file MP3 akan disalin, ++ menggunakan direktori nomor digit dan nama file. + Direktori tujuan Anda harus kosong. + Jika ada file di dalamnya, hapus file dan direktori. ---------------------- + Jalankan program ini. + Sintaks: java -jar mp3player.jar copy [(IN: direktori MP3) (OUT: direktori MP3)] + Sintaks menggunakan default: java -jar mp3player.jar copy + Nama direktori default: mp3player1 dan mp3player2. + Sama seperti: java -jar mp3player.jar salin mp3player1 mp3player2. ---------------------- + Masukkan kartu SD ke komputer Anda. + Hapus direktori dan file dari kartu SD. + Kosongkan sampah karena file masih ada di kartu SD dan modul DFPlayer dapat memutarnya. + Salin direktori dan file baru ke kartu SD. + Keluarkan kartu dari komputer. ---------------------- + Masukkan kartu ke dalam modul DFPlayer. + Kartu siap dimainkan

Untuk melihat kode sumber, klik di sini. Klik di sini, untuk mengunduh file program JAR yang dapat Anda jalankan.

Sebagai referensi

Di Mac, dari baris perintah, Anda dapat menjalankan yang berikut ini.

Daftar untuk menemukan kartu.

$ daftar diskutil

… /dev/disk3 (internal, fisik): #: TYPE NAME SIZE IDENTIFIER 0: FDisk_partition_scheme *4.0 GB disk3 1: DOS_FAT_32 MUSICSD 4.0 GB disk3s1 $ ls /Volumes/MUSICSD

Salin file secara berurutan ke kartu SD. Karena DFPlayer dapat mengurutkan pada stempel waktu, salin file dalam urutan nama file.

Bersihkan file tersembunyi yang dapat menyebabkan masalah (referensi:

$ dot_clean /Volume/MUSICSD

Kartu SD Anda sekarang siap digunakan. Masukkan ke dalam modul DFPlayer Anda.

Langkah 4: Hubungkan Modul DFPlayer Yang Memutar File MP3

Hubungkan Modul DFPlayer Yang Memutar File MP3
Hubungkan Modul DFPlayer Yang Memutar File MP3
Hubungkan Modul DFPlayer Yang Memutar File MP3
Hubungkan Modul DFPlayer Yang Memutar File MP3
Hubungkan Modul DFPlayer Yang Memutar File MP3
Hubungkan Modul DFPlayer Yang Memutar File MP3

Saya telah memisahkan koneksi menjadi 3 bagian: komunikasi serial, daya, dan speaker/suara.

1. Hubungkan pin Arduino RX/TX ke modul DFPlayer. Hubungkan kabel antara pin Arduino 10 dan DFPlayer pin 3 (TX). Hubungkan resistor, saya menggunakan resistor 5K dari DFPlayer pin 2 (RX), ke baris kosong antara Arduino dan DFPlayer. Hubungkan kabel dari Nano pin 11 ke resistor 5K. Resister 5K menghilangkan noise yang ada saat tidak menggunakan resistor.

2. Sambungkan pin arde (GND) modul DFPlayer, ke strip batang arde papan tempat memotong roti. Hubungkan pin daya (VCC) modul DFPlayer, ke strip batang positif papan tempat memotong roti.

3. Jika Anda memiliki satu speaker kecil, sambungkan ke pin 6 (SPK-) dan 8 (SPK+) seperti pada foto di atas dengan Nano.

Pin Mini DFPlayer

Di Arduino IDE, instal pustaka DFPlayer. Pilih Alat/Kelola Perpustakaan. Saring pencarian Anda dengan mengetikkan 'DFRobotDFPlayerMini'. Pilih DFRobotDFPlayerMini oleh perpustakaan pemutar mini DFRobot (untuk referensi, tautan perpustakaan). Untuk implementasi saya, saya memuat versi 1.0.5.

Untuk referensi, tautan perpustakaan. Dan tautan halaman wiki DFPlayer.

Muat file MP3 ke kartu micro SD. Anda dapat memiliki lagu di direktori terpisah. Masukkan kartu SD ke dalam DFPlayer.

Unduh dan jalankan program pemutar MP3: mp3infrared.ino. Saat menjalankan program, arahkan remote control Anda ke penerima dan tekan tombol oke untuk mulai memutar lagu pertama. Saat mulai diputar, lampu biru DFPlayer akan menyala, dan tetap menyala, saat file sedang diputar.

Konfigurasi Lanjut

Saya telah membangun komputer emulator Altair 8800 yang menggunakan Arduino Mega. Saat saya menambahkan DFPlayer, ada banyak noise. Untuk menghilangkan kebisingan, saya menggunakan catu daya terpisah untuk DFPlayer. Mega memiliki satu catu daya, dan mengirimkan sinyal kontrol serial ke DFPlayer. DFPlayer memiliki catu daya lain, dan menerima serta mengimplementasikan sinyal kontrol serial dari Mega.

Pada foto di atas, hub mini USB putih emulator Altair memberi daya pada Mega dan terhubung ke hub mini hitam laptop. DFPlayer memiliki kabel USB yang menghubungkannya langsung ke hub mini hitam laptop. Konfigurasi ini menghilangkan gangguan yang ada saat DFPlayer diaktifkan melalui hub mini putih emulator.

Klik di sini, untuk kode yang dikonfigurasi untuk Mega. Versi kode tersebut menggunakan pin Mega RX/TX, sedangkan untuk Nano atau Uno menggunakan pin port serial software.

Berikut ini adalah untuk referensi

Koneksi yang digunakan dengan Arduino, 1. Serial UART, RX untuk menerima instruksi kontrol DFPlayer. RX: input terhubung ke TX pada Mega/Nano/Uno. TX untuk mengirim informasi status. TX: output terhubung ke RX pada Mega/Nano/Uno. Koneksi untuk Nano atau Uno: RX(2) ke resistor ke pin perangkat lunak serial 11(TX). TX(3) ke pin perangkat lunak serial 10(RX). Koneksi untuk Mega: RX(2) ke resistor ke Serial1 pin 18(TX). TX(3) ke Serial1 pin 19(RX). 2. Opsi daya. Terhubung dari Arduino langsung ke DFPlayer: VCC ke +5V. Catatan, juga berfungsi dengan +3.3V dalam kasus NodeMCU. GND ke tanah (-). Gunakan sumber daya yang sama sekali berbeda: VCC ke +5V dari sumber daya lainnya. GND ke ground (-) dari sumber daya lainnya. Saya melihat opsi daya lain: Dari Arduino +5V, gunakan 7805 dengan kapasitor dan dioda ke pin DFPlayer VCC. GND ke tanah (-). 3. Keluaran pengeras suara. Untuk satu speaker, kurang dari 3W: SPK - ke pin speaker. SPK+ ke pin speaker lainnya. Untuk output ke stearo amp atau telepon telinga: DAC_R ke output kanan (+) DAC_L ke output kiri (+) GND ke ground output.

Mengikuti panggilan fungsi perpustakaan utama. Tautan ke halaman wiki DFPlayer.

DFRobotDFPlayerMini myDFPlayer;

myDFPlayer.play(1); // Mainkan mp3 pertama myDFPlayer.pause(); // jeda mp3 myDFPlayer.start(); // mulai mp3 dari jeda ------------------------------ myDFPlayer.next(); // Putar mp3 berikutnya myDFPlayer.previous(); // Putar mp3 sebelumnya ------------------------------ myDFPlayer.playMp3Folder(4); // memutar mp3 tertentu di SD:/MP3/0004.mp3; Nama File(0~65535) myDFPlayer.playFolder(15, 4); // memutar mp3 tertentu di SD:/15/004.mp3; Nama Folder(1~99); Nama File(1~255) myDFPlayer.playLargeFolder(2, 999); //memutar mp3 tertentu di SD:/02/004.mp3; Nama Folder(1~10); Nama File(1~1000) ------------------------------ myDFPlayer.loop(1); // Ulangi mp3 pertama myDFPlayer.enableLoop(); // aktifkan loop. myDFPlayer.disableLoop(); // nonaktifkan loop. myDFPlayer.loopFolder(5); // loop semua file mp3 di folder SD:/05. myDFPlayer.enableLoopAll(); // ulangi semua file mp3. myDFPlayer.disableLoopAll(); // hentikan loop semua file mp3. ------------------------------ myDFPlayer.volume(10); // Tetapkan nilai volume. Dari 0 hingga 30 myDFPlayer.volumeUp(); // Volume Naik myDFPlayer.volumeDown(); // Volume Turun ------------------------------ myDFPlayer.setTimeOut(500); //Mengatur waktu komunikasi serial 500 ms myDFPlayer.reset(); //Reset modul ------------------------------ Serial.println(myDFPlayer.readState()); //baca status mp3 Serial.println(myDFPlayer.readVolume()); //baca volume saat ini Serial.println(myDFPlayer.readEQ()); //baca pengaturan EQ Serial.println(myDFPlayer.readFileCounts()); //membaca semua jumlah file di kartu SD Serial.println(myDFPlayer.readCurrentFileNumber()); //baca nomor file putar saat ini Serial.println(myDFPlayer.readFileCountsInFolder(3)); //baca jumlah pengisian di folder SD:/03 ------------------------------ myDFPlayer.available()

Langkah 5: Catu Daya Eksternal

Image
Image
Catu Daya Eksternal
Catu Daya Eksternal
Catu Daya Eksternal
Catu Daya Eksternal

Sekarang pemutar MP3 Anda telah diuji dan berfungsi, Anda dapat mencabutnya dari komputer dan menggunakannya dengan catu daya independen. Untuk kesederhanaan, saya menggunakan adaptor dinding 5 volt, yang dapat dibeli dengan harga sekitar satu dolar, dan kabel USB, satu dolar lagi. Kabel menghubungkan Arduino ke adaptor dinding +5V. Karena daya Arduino dan pin ground terhubung ke papan tempat memotong roti, itu akan memberi daya pada komponen lainnya. Karena kesederhanaan dan biayanya yang rendah, saya menggunakan kombinasi yang sama ini untuk menggerakkan proyek lain.

Foto di sebelah kanan dan video menunjukkan pemutar yang terhubung ke ampli $40 saya duduk di speaker Bose kanan di meja saya. Ini sistem musik desktop saya: Arduino MP3 player, Douk Audio amp, dan 2 speaker Bose. Kualitas suara yang bagus.

Saya harap Anda berhasil dan menikmati membangun pemutar musik MP3 Anda sendiri.

Langkah 6: Hilangkan Kebisingan Statis

Pada volume rendah, ada suara statis latar belakang yang mengganggu. Suaranya oke saat volume DFPlayer lebih tinggi dan musik sedang diputar. Tetapi ketika musiknya tenang, statis ada di sana.

Saya menemukan halaman StackExchage yang memiliki banyak saran. Berikut ini bekerja untuk saya:

  • Hubungkan kabel pendek antara pin ground DFPlayer: pin 7 hingga 10.
  • Gunakan steker dinding USB terpisah (5V) untuk memberi daya pada modul DFPlayer.
  • Hubungkan ground steker dinding ke ground Arduino. Ini diperlukan agar kontrol serial bekerja antara Arduino dan pemutar.

Hal di atas diuji pada emulator Altair 8800 saya yang saya tingkatkan dengan DFPlayer untuk memutar musik. Pemutar dikendalikan dengan membalik tombol panel depan.

Direkomendasikan: