Table des matières:

Lecteur de musique AdaBox004 : 4 étapes
Lecteur de musique AdaBox004 : 4 étapes

Vidéo: Lecteur de musique AdaBox004 : 4 étapes

Vidéo: Lecteur de musique AdaBox004 : 4 étapes
Vidéo: Elle Était Coincée Donc Ce Policier L'aide 2024, Juillet
Anonim
Lecteur de musique AdaBox004
Lecteur de musique AdaBox004

J'ai utilisé les pièces de l'AdaBox004 pour créer un simple lecteur de musique. Il se branche sur un port USB et commence à jouer des chansons de manière aléatoire à partir de la carte micro SD. C'est pour mon atelier pour une source simple de chansons entraînantes.

Étape 1: Pièces

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

Étape 2: Fabriquer la boîte à musique

Faire la boîte à musique
Faire la boîte à musique
Faire la boîte à musique
Faire la boîte à musique

Les instructions générales sont sur le site AdaFruit à

Important de faire attention à:

Lors de la lecture des instructions AdaBox004, il est facile d'oublier les liens vers les sites d'instructions pour les composants. Assurez-vous de faire attention aux cases vertes qui contiennent des liens pour: Adafruit Feather HUZZAH ESP8266 (https://learn.adafruit.com/adafruit-feather-huzzah-esp8266). Dans la section "Utilisation de l'IDE Arduino" de la carte, il contient des liens vers les pilotes dont vous aurez besoin pour connecter la carte et télécharger le code à partir de l'IDE Arduino, ainsi que des instructions pour ajouter la carte en option à l'IDE Arduino.

De même, faites attention au lien pour le Music Maker FeatherWing (https://learn.adafruit.com/adafruit-music-maker-featherwing/). Cela contient des instructions pour installer les bibliothèques nécessaires sur l'Arduino.

J'ai câblé le potentiomètre exactement comme indiqué (https://learn.adafruit.com/adabox004/adding-a-volume-knob) - mais notez que j'ai déplacé le Feather plus loin sur la planche à pain pour que le câble USB s'adapte.

La boîte blanche est livrée avec le kit. J'ai simplement utilisé une perforatrice pour faire des trous assez grands pour que le câble USB inclus puisse y passer. J'avais fait une petite fente avec un couteau de poche dans la boîte pliée donc je savais où couper sur chaque panneau.

Pour l'ouverture du haut-parleur, j'ai estimé le centre et l'ai marqué avec une grande pièce de monnaie étrangère (100 colones du Costa Rica pour être exact), puis j'ai coupé le cercle avec un couteau de magasin. Le haut-parleur était aligné et j'ai marqué où les petits boulons devaient aller avec un coup de poing pointu.

Étape 3: Code du lecteur de musique

J'ai modifié l'exemple de code pour le lecteur de plumes, en supprimant le code qui ne s'appliquait pas. Vous pouvez le copier-coller dans l'IDE Arduino, puis le charger sur votre Feather.

Notez que j'ai eu du mal à essayer de faire reconnaître les fichiers. Ce que j'ai ici fonctionne, mais vous devez ajuster le code pour modifier le nombre de chansons disponibles. Et notez que la façon dont je l'ai fait rendra difficile de faire plus de 100 chansons (000 - 099) car il ne sélectionne que 2 chiffres individuels. J'aurais pu choisir le numéro de piste réel, mais j'aurais ensuite dû l'analyser pour créer le bon nom de fichier. Peut-être dans une future itération.

Le fichier est également disponible sur GitHub à l'adresse https://github.com/KFW/AdaBox004. Si j'apporte des changements, c'est là qu'ils seront.

// AdaBox004_random_songs

// Spécifiquement pour une utilisation avec l'Adafruit Feather, les broches sont prédéfinies ici ! // Exemple de plume_player modifié pour le projet AdaBox 004 // lecteur autonome qui lit des chansons aléatoires de la liste de lecture // code inutilisé supprimé // a eu du mal à obtenir le nom du fichier chaîne pour fonctionner en convertissant le type de chaîne // puisque l'appel de fonction pour la lecture utilise un tableau de caractères // après avoir essayé différentes approches, c'est le kludge que j'ai trouvé // les pistes s'appellent TRACK##.mp3 // j'ai 60 chansons sur la carte SD I m using (000 - 059) // aurait été plus intelligent de compter le nombre de fichiers ou de trouver un autre moyen d'obtenir le nom du fichier au hasard // Eh bien la prochaine fois

// inclure les bibliothèques SPI, MP3 et SD

#include #include #include

// Ce sont les broches utilisées

#define VS1053_RESET -1 // Broche de réinitialisation VS1053 (non utilisée !) // Plume ESP8266 -- en utilisant la plume HUZZAH #define VS1053_CS 16 // Broche de sélection de puce VS1053 (sortie) #define VS1053_DCS 15 // Broche de sélection de données/commande VS1053 (sortie) #define CARDCS 2 // Pin de sélection de puce de carte #define VS1053_DREQ 0 // VS1053 Demande de données, idéalement une broche d'interruption #define VOLUME_KNOB A0

int lastvol = 10;

int loopcounter = 0; long trackNumber; Chaîne trackString; 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); // uniquement nécessaire pour le dépannage // while (!Serial) { delay(1); } // Attendez que le port série soit ouvert, // Serial.println("\n\nAdafruit VS1053 Feather Test"); randomSeed(ESP.getCycleCount()); // HUZZAH n'a qu'une seule broche analogique qui est déjà utilisée // avait besoin d'une graine aléatoire différente // cette idée de https://github.com/esp8266/Arduino/issues/728 musicPlayer.begin(); musicPlayer.sineTest (0x44, 500); // Émet une tonalité pour indiquer que VS1053 fonctionne SD.begin(CARDCS);

// Réglez le volume pour les canaux gauche et droit. nombres inférieurs == volume plus fort !

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

boucle vide() {

// vérifier périodiquement pour ajuster le volume !

compteur de boucles++; if (loopcounter >= 1000) { loopcounter = 0; vol int = 0; vol = analogRead(VOLUME_KNOB); vol /= 10; if (abs(vol - lastvol) > 3) { // Serial.println(vol); derniervol = vol; musicPlayer.setVolume(lastvol, lastvol); } }

// Lecture d'un fichier en arrière-plan, REQUIERT des interruptions !

if (! musicPlayer.playingMusic) { trackNumber = random(6); // je dois faire ça un chiffre à la fois; premier chiffre 0-5 car c = char(trackNumber + 48); // ASCII 48 est '0'; besoin de changer la valeur pour obtenir le bon caractère chanson[6] = c; // remplace la valeur des dizaines dans le tableau de caractères trackNumber = random(10); // deuxième chiffre 0-9 c= char(trackNumber + 48); chanson[7] = c; // Serial.println(chanson); musicPlayer.startPlayingFile(chanson); retard(10); } }

Étape 4: Profitez

Branchez simplement sur une alimentation USB et profitez de vos chansons préférées.

Le volume peut être réglé avec le potentiomètre à l'intérieur de la boîte. Sinon pas de contrôles.

Conseillé: