Cuprins:

AdaBox004 Music Player: 4 pași
AdaBox004 Music Player: 4 pași

Video: AdaBox004 Music Player: 4 pași

Video: AdaBox004 Music Player: 4 pași
Video: Adabox004 Unboxing 2024, Iulie
Anonim
AdaBox004 Music Player
AdaBox004 Music Player

Am folosit piesele din AdaBox004 pentru a crea un simplu music player. Se conectează la un port USB și începe să redea melodii aleatoriu de pe cardul micro SD. Este pentru atelierul meu pentru o sursă de melodii optimiste.

Pasul 1: Piese

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

Pasul 2: Creați Music Box

Faceți Music Box
Faceți Music Box
Faceți Music Box
Faceți Music Box

Instrucțiunile generale sunt pe site-ul AdaFruit la

Important să acordați atenție:

Când citiți instrucțiunile AdaBox004, este ușor să treceți cu vederea linkurile către site-urile de instrucțiuni pentru componente. Asigurați-vă că acordați atenție casetelor verzi care au link-uri pentru: Adafruit Feather HUZZAH ESP8266 (https://learn.adafruit.com/adafruit-feather-huzzah-esp8266). În secțiunea „Utilizarea Arduino IDE” pentru placă, are legături către drivere, va trebui să conectați placa și să descărcați codul din Arduino IDE, precum și instrucțiuni pentru adăugarea plăcii ca opțiune la Arduino IDE.

De asemenea, acordați atenție linkului pentru Music Maker FeatherWing (https://learn.adafruit.com/adafruit-music-maker-featherwing/). Acesta are instrucțiuni pentru instalarea bibliotecilor necesare pe Arduino.

Am conectat potențiometrul exact așa cum se arată (https://learn.adafruit.com/adabox004/adding-a-volume-knob) - dar rețineți că am mutat Feather mai în spate pe panou pentru ca cablul USB să se potrivească.

Cutia albă vine cu kitul. Pur și simplu am folosit un perforator pentru a face găuri suficient de mari pentru ca cablul USB inclus să se potrivească. Făcusem o mică fantă cu un cuțit de buzunar în cutia pliată, așa că știam unde să tăiem pe fiecare panou.

Pentru deschiderea difuzorului, am estimat centrul și l-am marcat cu o monedă străină mare (100 de coloane din Costa Rica pentru a fi exact), apoi am tăiat cercul cu un cuțit pentru magazin. Difuzorul era aliniat și am marcat unde ar trebui să meargă șuruburile mici cu un pumn ascuțit.

Pasul 3: Codul playerului muzical

Am modificat exemplul de cod pentru playerul cu pene, eliminând codul care nu se aplica. Puteți să-l tăiați și să-l inserați în Arduino IDE, apoi să îl încărcați pe Feather.

Rețineți că am încercat cu greu să obțin recunoașterea fișierelor. Ceea ce am aici funcționează, dar trebuie să ajustați codul pentru a schimba numărul de melodii disponibile. Și rețineți că felul în care am făcut-o va face dificilă realizarea a peste 100 de melodii (000 - 099), deoarece selectează doar 2 cifre individuale. Aș fi putut alege numărul piesei reale, dar ar fi trebuit să-l analizez pentru a crea numele corect al fișierului. Poate într-o iterație viitoare.

Fișierul este disponibil și pe GitHub la https://github.com/KFW/AdaBox004. Dacă fac modificări, acolo vor fi acestea.

// AdaBox004_random_songs

// În mod special pentru utilizare cu Adafruit Feather, pinii sunt prefixați aici! // exemplu feather_player modificat pentru proiectul AdaBox 004 // player independent care redă melodii aleatorii din lista de redare // eliminat codul neutilizat // a avut probleme cu obținerea numelui fișierului șirul funcționează convertind tipul de șir // din moment ce apelul funcțional pentru redare folosește char array // după ce am încercat diferite abordări, acesta este elementul pe care l-am venit // piesele sunt numite TRACK ##. mp3 // Am 60 de melodii pe cardul SD I „Folosesc (000 - 059) // ar fi fost mai inteligent să număr # de fișiere sau să găsesc o altă modalitate de a obține aleatoriu numele fișierului // Oh bine data viitoare

// include biblioteci SPI, MP3 și SD

#include #include #include

// Acestea sunt pinii folosiți

. ieșire) #define CARDCS 2 // Cip card de selectare pin #define VS1053_DREQ 0 // VS1053 Cerere de date, ideal un pin de întrerupere #define VOLUME_KNOB A0

int lastvol = 10;

int loopcounter = 0; lung trackNumber; String 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);

configurare nulă () {

// Serial.begin (115200); // este necesar doar pentru depanarea // while (! Serial) {delay (1); } // Așteptați deschiderea portului serial, // Serial.println ("\ n / nAdafruit VS1053 Feather Test"); randomSeed (ESP.getCycleCount ()); // HUZZAH are doar 1 pin analogic care este deja utilizat // avea nevoie de semințe aleatorii diferite // această idee de la https://github.com/esp8266/Arduino/issues/728 musicPlayer.begin (); musicPlayer.sineTest (0x44, 500); // Faceți un ton pentru a indica faptul că VS1053 funcționează SD.begin (CARDCS);

// Setați volumul pentru canalele din stânga, din dreapta. numere mai mici == volum mai mare!

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

bucla nulă () {

// verificați periodic pentru a regla volumul!

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

// Redați un fișier în fundal, CERERE întreruperi!

if (! musicPlayer.playingMusic) {TrackNumber = random (6); // trebuie să faceți această cifră la rând; prima cifră 0-5 char c = char (TrackNumber + 48); // ASCII 48 este „0”; trebuie să schimbați valoarea pentru a obține un cântec de caractere potrivit [6] = c; // înlocuiți valoarea zecilor în matricea de caractere trackNumber = random (10); // a doua cifră 0-9 c = char (TrackNumber + 48); cântec [7] = c; // Serial.println (melodie); musicPlayer.startPlayingFile (melodie); întârziere (10); }}

Pasul 4: Bucurați-vă

Pur și simplu conectați-vă la o sursă de alimentare USB și bucurați-vă de melodiile preferate.

Volumul poate fi reglat cu potențiometrul din interiorul cutiei. În caz contrar, nu există comenzi.

Recomandat: