Isi kandungan:

Pemain Muzik AdaBox004: 4 Langkah
Pemain Muzik AdaBox004: 4 Langkah

Video: Pemain Muzik AdaBox004: 4 Langkah

Video: Pemain Muzik AdaBox004: 4 Langkah
Video: Huggy Wuggy Mengerjar Kita - Project Playtime Indonesia 2024, Julai
Anonim
Pemain Muzik AdaBox004
Pemain Muzik AdaBox004

Saya menggunakan bahagian-bahagian di AdaBox004 untuk membuat pemain muzik sederhana. Ia dipasang ke port USB dan mula memainkan lagu secara rawak dari kad micro SD. Ini untuk bengkel saya untuk sumber lagu-lagu ceria.

Langkah 1: Bahagian

AdaBox004 (https://www.adafruit.com/product/3370)

Langkah 2: Buat Kotak Muzik

Buat Kotak Muzik
Buat Kotak Muzik
Buat Kotak Muzik
Buat Kotak Muzik

Petunjuk umum terdapat di laman AdaFruit di

Penting untuk diperhatikan:

Semasa membaca arahan AdaBox004, mudah untuk melupakan pautan ke laman arahan untuk komponen. Pastikan untuk memberi perhatian kepada kotak hijau yang mempunyai pautan untuk: Adafruit Feather HUZZAH ESP8266 (https://learn.adafruit.com/adafruit-feather-huzzah-esp8266). Di bawah bahagian "Menggunakan Arduino IDE" untuk papan itu ada pautan ke pemacu yang anda perlukan untuk menyambungkan papan dan memuat turun kod dari Arduino IDE, serta arahan untuk menambahkan papan sebagai pilihan ke Arduino IDE.

Begitu juga perhatikan pautan untuk Music Maker FeatherWing (https://learn.adafruit.com/adafruit-music-maker-featherwing/). Itu mempunyai arahan untuk memasang perpustakaan yang diperlukan ke Arduino.

Saya memasang potensiometer persis seperti yang ditunjukkan (https://learn.adafruit.com/adabox004/adding-a-volume-knob) - tetapi perhatikan bahawa saya menggerakkan Feather lebih jauh ke atas papan roti untuk mendapatkan kabel USB agar sesuai.

Kotak putih dilengkapi dengan kit. Saya hanya menggunakan pukulan lubang untuk membuat lubang cukup besar agar kabel USB yang disertakan dapat dipasang. Saya telah membuat celah kecil dengan pisau saku di dalam kotak yang dilipat sehingga saya tahu di mana di setiap panel untuk memotong.

Untuk pembukaan pembesar suara, saya mengira pusatnya dan menandainya dengan duit syiling asing yang besar (100 kolon Kosta Rika tepat), kemudian potong bulatan dengan pisau hobi kedai. Pembesar suara berada di barisan dan saya menandakan ke mana bolt kecil harus pergi dengan pukulan tajam.

Langkah 3: Kod Pemain Muzik

Saya mengubah suai contoh kod untuk pemain bulu, mengeluarkan kod yang tidak berkenaan. Anda boleh memotong dan menampalnya ke Arduino IDE kemudian memuatkannya ke Feather anda.

Perhatikan bahawa saya mempunyai masa yang sukar untuk berusaha agar fail dikenali. Apa yang saya ada di sini berfungsi, tetapi anda harus menyesuaikan kodnya untuk mengubah jumlah lagu yang ada. Dan perhatikan bahawa cara saya melakukannya akan menyukarkan melakukan lebih dari 100 lagu (000 - 099) kerana hanya memilih 2 digit individu. Saya boleh memilih nombor trek yang sebenarnya, tetapi kemudian harus menguraikannya untuk membuat nama fail yang betul. Mungkin dalam beberapa lelaran masa depan.

Fail tersebut juga boleh didapati di GitHub di https://github.com/KFW/AdaBox004. Sekiranya saya membuat perubahan, di situlah mereka akan berada.

// AdaBox004_random_songs

// Khusus untuk digunakan dengan Adafruit Feather, pin telah ditetapkan di sini! // contoh feather_player yang diubah suai untuk projek AdaBox 004 // pemain mandiri yang memainkan lagu secara rawak dari senarai main // melucutkan kod yang tidak digunakan // menghadapi masalah mendapatkan nama fail string to work converting String type // sejak fungsi panggilan untuk bermain menggunakan char array // setelah mencuba pendekatan yang berbeza inilah kludge yang saya buat dengan // trek yang diberi nama TRACK ##. mp3 // Saya mempunyai 60 lagu pada kad SD I Saya menggunakan (000 - 059) // akan lebih bijak untuk mengira # fail atau mencari cara lain untuk mendapatkan nama fail secara rawak // Oh lain kali

// sertakan perpustakaan SPI, MP3 dan SD

#sertakan #sertakan #sertakan

// Ini adalah pin yang digunakan

#define VS1053_RESET -1 // VS1053 pin reset (tidak digunakan!) // Feather ESP8266 - menggunakan HUZZAH featther #define VS1053_CS 16 // VS1053 chip select pin (output) #define VS1053_DCS 15 // VS1053 Data / perintah pilih pin (output) #define CARDCS 2 // Cip kad pilih pin #define VS1053_DREQ 0 // VS1053 Permintaan data, idealnya pin Interrupt #define VOLUME_KNOB A0

int lastvol = 10;

int loopcounter = 0; Nombor trek panjang; String trackString; lagu char [13] = {'T', 'R', 'A', 'C', 'K', '0', '2', '0', '.', 'm', 'p', '3', '\ 0'};

Adafruit_VS1053_FilePlayer musicPlayer =

Adafruit_VS1053_FilePlayer (VS1053_RESET, VS1053_CS, VS1053_DCS, VS1053_DREQ, CARDCS);

batal persediaan () {

// Serial.begin (115200); // hanya diperlukan untuk masalah menembak // sementara (! Serial) {kelewatan (1); } // Tunggu port bersiri dibuka, // Serial.println ("\ n / nAdafruit VS1053 Feather Test"); randomSeed (ESP.getCycleCount ()); // HUZZAH hanya mempunyai 1 pin analog yang sudah digunakan // memerlukan benih rawak yang berbeza // idea ini dari https://github.com/esp8266/Arduino/issues/728 musicPlayer.begin (); musicPlayer.sineTest (0x44, 500); // Buat nada untuk menunjukkan VS1053 berfungsi SD.begin (CARDCS);

// Tetapkan kelantangan untuk saluran kiri, kanan. nombor lebih rendah == kelantangan lebih kuat!

musicPlayer.setVolume (lastvol, lastvol); musicPlayer.useInterrupt (VS1053_FILEPLAYER_PIN_INT); // DREQ int}

gelung kosong () {

// periksa secara berkala untuk menyesuaikan kelantangan!

kaunter gelung ++; jika (loopcounter> = 1000) {loopcounter = 0; int vol = 0; vol = analogRead (VOLUME_KNOB); jilid / = 10; jika (abs (vol - lastvol)> 3) {// Serial.println (vol); lastvol = jilid; musicPlayer.setVolume (lastvol, lastvol); }}

// Mainkan fail di latar belakang, MEMERLUKAN gangguan!

jika (! musicPlayer.playingMusic) {trackNumber = random (6); // mesti melakukan satu digit ini pada satu masa; digit pertama 0-5 char c = char (trackNumber + 48); // ASCII 48 ialah '0'; perlu beralih nilai untuk mendapatkan lagu watak yang betul [6] = c; // ganti nilai puluhan dalam char array trackNumber = random (10); // digit kedua 0-9 c = char (trackNumber + 48); lagu [7] = c; // Serial.println (lagu); musicPlayer.startPlayingFile (lagu); kelewatan (10); }}

Langkah 4: Nikmati

Cukup pasangkan ke bekalan kuasa USB dan nikmati lagu kegemaran anda.

Isipadu dapat disesuaikan dengan potensiometer di dalam kotak. Jika tidak tiada kawalan.

Disyorkan: