Inhaltsverzeichnis:

AdaBox004 Musik-Player - Gunook
AdaBox004 Musik-Player - Gunook

Video: AdaBox004 Musik-Player - Gunook

Video: AdaBox004 Musik-Player - Gunook
Video: Borderlands 2 But I Copy The Bosses 2024, Juli
Anonim
AdaBox004 Musik-Player
AdaBox004 Musik-Player

Ich habe die Teile in der AdaBox004 verwendet, um einen einfachen Musikplayer zu erstellen. Es wird an einen USB-Port angeschlossen und beginnt die zufällige Wiedergabe von Songs von der Micro-SD-Karte. Es ist für meinen Workshop für eine unkomplizierte Quelle für peppige Songs.

Schritt 1: Teile

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

Schritt 2: Machen Sie die Musikbox

Mach die Musikbox
Mach die Musikbox
Mach die Musikbox
Mach die Musikbox

Die allgemeinen Anweisungen finden Sie auf der AdaFruit-Website unter

Wichtig zu beachten:

Beim Durchlesen der AdaBox004-Anleitung übersieht man leicht Links zu Anleitungsseiten für die Komponenten. Achten Sie unbedingt auf die grünen Kästchen mit Links für: Adafruit Feather HUZZAH ESP8266 (https://learn.adafruit.com/adafruit-feather-huzzah-esp8266). Im Abschnitt "Using the Arduino IDE" für das Board finden Sie Links zu den Treibern, die Sie zum Anschließen des Boards und zum Herunterladen von Code von der Arduino IDE benötigen, sowie Anweisungen zum Hinzufügen des Boards als Option zur Arduino IDE.

Achtet ebenfalls auf den Link zum Music Maker FeatherWing (https://learn.adafruit.com/adafruit-music-maker-featherwing/). Das enthält Anweisungen zum Installieren der erforderlichen Bibliotheken auf dem Arduino.

Ich habe das Potentiometer genau wie gezeigt verdrahtet (https://learn.adafruit.com/adabox004/adding-a-volume-knob) - aber beachten Sie, dass ich die Feder weiter nach hinten auf dem Steckbrett verschoben habe, damit das USB-Kabel passt.

Die weiße Box wird mit dem Kit geliefert. Ich habe einfach einen Locher verwendet, um Löcher zu machen, die groß genug sind, damit das mitgelieferte USB-Kabel hindurch passt. Ich hatte mit einem Taschenmesser einen kleinen Schlitz in der Faltschachtel gemacht, damit ich wusste, wo auf jeder Platte geschnitten werden musste.

Für die Lautsprecheröffnung habe ich die Mitte geschätzt und mit einer großen ausländischen Münze markiert (Costa-Ricaner 100 Colones, um genau zu sein), dann schneide ich den Kreis mit einem Hobbymesser aus. Der Lautsprecher war ausgerichtet und ich markierte mit einem scharfen Schlag, wo die kleinen Schrauben hingehen sollten.

Schritt 3: Musik-Player-Code

Ich habe den Beispielcode für den Federspieler geändert und Code entfernt, der nicht zutraf. Sie können es in die Arduino-IDE ausschneiden und einfügen und dann auf Ihre Feder laden.

Beachten Sie, dass es mir schwer fiel, die Dateien zu erkennen. Was ich hier habe, funktioniert, aber Sie müssen den Code anpassen, um die Anzahl der verfügbaren Songs zu ändern. Und beachten Sie, dass es auf diese Weise schwierig wird, über 100 Songs (000 - 099) zu erstellen, da nur 2 einzelne Ziffern ausgewählt werden. Ich hätte die tatsächliche Titelnummer wählen können, hätte sie dann aber parsen müssen, um den richtigen Dateinamen zu erstellen. Vielleicht in einer zukünftigen Iteration.

Die Datei ist auch auf GitHub unter https://github.com/KFW/AdaBox004 verfügbar. Wenn ich Änderungen vornehme, werden sie dort sein.

// AdaBox004_random_songs

// Speziell für die Verwendung mit der Adafruit Feather sind die Pins hier voreingestellt! // Modifiziertes Feather_Player-Beispiel für das AdaBox 004-Projekt // Standalone-Player, der zufällige Songs aus der Playlist abspielt // unbenutzten Code entfernt // hatte Probleme beim Abrufen des Dateinamens string to work converting string type // da Funktionsaufruf zum Abspielen ein char-Array verwendet // nachdem ich verschiedene Ansätze ausprobiert habe, ist dies der Kludge, den ich mir ausgedacht habe // Tracks heißen TRACK##.mp3 // Ich habe 60 Songs auf der SD-Karte I m mit (000 - 059) // wäre klüger gewesen, # von Dateien zu zählen oder einen anderen Weg zu finden, um den Dateinamen zufällig zu erhalten // Na ja, nächstes Mal

// SPI-, MP3- und SD-Bibliotheken einschließen

#einschließen #einschließen #einschließen

// Dies sind die verwendeten Pins

#define VS1053_RESET -1 // VS1053 Reset-Pin (nicht verwendet!) // Feder ESP8266 -- mit HUZZAH Feder #define VS1053_CS 16 // VS1053 Chipauswahl-Pin (Ausgang) #define VS1053_DCS 15 // VS1053 Daten-/Befehlsauswahl-Pin (Ausgang) #define CARDCS 2 // Card Chip Select Pin #define VS1053_DREQ 0 // VS1053 Datenanforderung, idealerweise ein Interrupt Pin #define VOLUME_KNOB A0

int lastvol = 10;

int-Schleifenzähler = 0; lange Spurnummer; Zeichenfolge 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);

Leere Einrichtung () {

// Serial.begin (115200); // wird nur zur Fehlersuche benötigt // while (!Serial) { delay(1); } // Warten Sie, bis der serielle Port geöffnet ist, // Serial.println ("\n\nAdafruit VS1053 Federtest"); randomSeed (ESP.getCycleCount()); // HUZZAH hat nur 1 analogen Pin, der bereits verwendet wird // benötigt einen anderen zufälligen Seed // diese Idee von https://github.com/esp8266/Arduino/issues/728 musicPlayer.begin(); musicPlayer.sineTest(0x44, 500); // Einen Ton erzeugen, um anzuzeigen, dass VS1053 funktioniert SD.begin(CARDCS);

// Lautstärke für linke, rechte Kanäle einstellen. niedrigere Zahlen == lautere Lautstärke!

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

Leere Schleife () {

// Überprüfen Sie regelmäßig, um die Lautstärke anzupassen!

Schleifenzähler++; if (Schleifenzähler >= 1000) {Schleifenzähler = 0; int vol = 0; vol = analogRead (VOLUME_KNOB); Vol./= 10; if (abs (vol - lastvol) > 3) {//Serial.println (vol); letztes Volumen = Volumen; musicPlayer.setVolume (lastvol, lastvol); } }

// Eine Datei im Hintergrund abspielen, BENÖTIGT Interrupts!

if (! musicPlayer.playingMusic) { trackNumber = random(6); // muss dies eine Ziffer nach der anderen tun; erste Ziffer 0-5 char c = char(trackNumber + 48); // ASCII 48 ist '0'; muss den Wert verschieben, um das richtige Zeichen zu erhalten song[6] = c; // Ersetze den Zehner-Wert im char-Array trackNumber = random(10); // zweite Ziffer 0-9 c= char(trackNumber + 48); Lied[7] = c; // Serial.println (Lied); musicPlayer.startPlayingFile(Lied); Verzögerung(10); } }

Schritt 4: Genießen Sie

Einfach an ein USB-Netzteil anschließen und Ihre Lieblingssongs genießen.

Die Lautstärke kann mit dem Potentiometer im Inneren der Box eingestellt werden. Sonst keine Kontrollen.

Empfohlen: