Sommario:

AdaBox004 Lettore musicale: 4 passaggi
AdaBox004 Lettore musicale: 4 passaggi

Video: AdaBox004 Lettore musicale: 4 passaggi

Video: AdaBox004 Lettore musicale: 4 passaggi
Video: Adabox 004 2024, Dicembre
Anonim
AdaBox004 Lettore musicale
AdaBox004 Lettore musicale

Ho usato le parti nell'AdaBox004 per creare un semplice lettore musicale. Si collega a una porta USB e inizia a riprodurre brani in modo casuale dalla scheda micro SD. È per il mio laboratorio per una fonte senza fronzoli di canzoni allegre.

Passaggio 1: parti

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

Passaggio 2: crea il carillon

Crea il carillon
Crea il carillon
Crea il carillon
Crea il carillon

Le istruzioni generali sono sul sito di AdaFruit all'indirizzo

Importante prestare attenzione a:

Quando si leggono le istruzioni di AdaBox004 è facile trascurare i collegamenti ai siti di istruzioni per i componenti. Assicurati di prestare attenzione alle scatole verdi che hanno collegamenti per: Adafruit Feather HUZZAH ESP8266 (https://learn.adafruit.com/adafruit-feather-huzzah-esp8266). Nella sezione "Utilizzo dell'IDE Arduino" per la scheda sono presenti i collegamenti ai driver necessari per collegare la scheda e scaricare il codice dall'IDE di Arduino, nonché le istruzioni per aggiungere la scheda come opzione all'IDE di Arduino.

Allo stesso modo, presta attenzione al collegamento per Music Maker FeatherWing (https://learn.adafruit.com/adafruit-music-maker-featherwing/). Contiene le istruzioni per installare le librerie necessarie su Arduino.

Ho cablato il potenziometro esattamente come mostrato (https://learn.adafruit.com/adabox004/adding-a-volume-knob) - ma nota che ho spostato la Feather più indietro sulla breadboard per adattare il cavo USB.

La scatola bianca viene fornita con il kit. Ho semplicemente usato un perforatore per fare dei fori abbastanza grandi da far passare il cavo USB incluso. Ho fatto un piccolo taglio con un coltellino tascabile nella scatola piegata, così sapevo dove tagliare su ogni pannello.

Per l'apertura dell'altoparlante, ho stimato il centro e l'ho contrassegnato con una grossa moneta straniera (100 colones costaricani per l'esattezza), quindi ho tagliato il cerchio con un coltellino da negozio. L'altoparlante era allineato e ho segnato dove dovrebbero andare i piccoli bulloni con un pugno tagliente.

Passaggio 3: codice lettore musicale

Ho modificato il codice di esempio per il Feather Player, eliminando il codice che non si applicava. Puoi tagliarlo e incollarlo nell'IDE di Arduino, quindi caricarlo sul tuo Feather.

Nota che ho avuto difficoltà a cercare di far riconoscere i file. Quello che ho qui funziona, ma devi regolare il codice per cambiare il numero di canzoni disponibili. E nota che il modo in cui l'ho fatto renderà difficile fare oltre 100 canzoni (000 - 099) perché seleziona solo 2 cifre individuali. Avrei potuto scegliere il numero di traccia effettivo, ma poi avrei dovuto analizzarlo per creare il nome file corretto. Forse in qualche iterazione futura.

Il file è disponibile anche su GitHub all'indirizzo https://github.com/KFW/AdaBox004. Se faccio delle modifiche, ecco dove saranno.

// AdaBox004_random_songs

// Specificamente per l'uso con Adafruit Feather, i pin sono preimpostati qui!// esempio di Feather_player modificato per il progetto AdaBox 004 // lettore autonomo che riproduce brani casuali dalla playlist // codice inutilizzato eliminato // ha avuto problemi a ottenere il nome del file string to work conversione di tipo String // poiché la chiamata alla funzione per la riproduzione utilizza l'array di caratteri // dopo aver provato diversi approcci questo è il kludge che ho inventato // le tracce si chiamano TRACK##.mp3 // Ho 60 brani sulla scheda SD I sto usando (000 - 059) // sarebbe stato più intelligente contare # di file o trovare un altro modo per ottenere il nome del file in modo casuale // Oh bene la prossima volta

// include le librerie SPI, MP3 e SD

#include #include #include

// Questi sono i pin utilizzati

#define VS1053_RESET -1 // VS1053 reset pin (non usato!) // Feather ESP8266 -- using HUZZAH featther #define VS1053_CS 16 // VS1053 pin di selezione chip (output) #define VS1053_DCS 15 // VS1053 pin di selezione dati/comando (output) #define CARDCS 2 // Pin di selezione del chip della scheda #define VS1053_DREQ 0 // VS1053 Richiesta dati, idealmente un pin di Interrupt #define VOLUME_KNOB A0

int lastvol = 10;

int contatore loop = 0; numero di traccia lungo; Stringa tracciaStringa; char song[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);

void setup() {

// Serial.begin(115200); // necessario solo per la risoluzione dei problemi // while (!Serial) { delay(1); } // Attendi l'apertura della porta seriale, // Serial.println("\n\nAdafruit VS1053 Feather Test"); randomSeed(ESP.getCycleCount()); // HUZZAH ha solo 1 pin analogico che è già utilizzato // aveva bisogno di un seme casuale diverso // questa idea da https://github.com/esp8266/Arduino/issues/728 musicPlayer.begin(); musicPlayer.sineTest(0x44, 500); // Emette un segnale acustico per indicare che VS1053 sta funzionando SD.begin(CARDCS);

// Imposta il volume per i canali sinistro e destro. numeri più bassi == volume più alto!

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

ciclo vuoto() {

// controlla periodicamente per regolare il volume!

contaloop++; if (contacicli >= 1000) { contacicli = 0; volume int = 0; vol = analogRead(VOLUME_KNOB); vol /= 10; if (abs(vol - lastvol) > 3) { // Serial.println(vol); ultimovol = vol; musicPlayer.setVolume(lastvol, lastvol); } }

// Riproduce un file in background, RICHIEDE interruzioni!

if (! musicPlayer.playingMusic) { trackNumber = random(6); // devo farlo una cifra alla volta; prima cifra 0-5 char c = char(trackNumber + 48); // ASCII 48 è '0'; è necessario spostare il valore per ottenere la canzone del personaggio corretta[6] = c; // sostituisce il valore delle decine nell'array di caratteri trackNumber = random(10); // seconda cifra 0-9 c= char(trackNumber + 48); canzone[7] = c; // Serial.println(canzone); musicPlayer.startPlayingFile(canzone); ritardo(10); } }

Passaggio 4: divertiti

Basta collegarlo a un alimentatore USB e ascoltare le tue canzoni preferite.

Il volume può essere regolato con il potenziometro all'interno della scatola. Altrimenti niente controlli.

Consigliato: