Inhoudsopgave:

AdaBox004 muziekspeler: 4 stappen
AdaBox004 muziekspeler: 4 stappen

Video: AdaBox004 muziekspeler: 4 stappen

Video: AdaBox004 muziekspeler: 4 stappen
Video: Adabox 004 2024, Juli-
Anonim
AdaBox004 Muziekspeler
AdaBox004 Muziekspeler

De onderdelen in de AdaBox004 heb ik gebruikt om een simpele muziekspeler te maken. Het wordt aangesloten op een USB-poort en begint willekeurig nummers af te spelen vanaf de micro SD-kaart. Het is voor mijn workshop voor een no-nonsense bron van vrolijke liedjes.

Stap 1: Onderdelen

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

Stap 2: Maak de muziekdoos

Maak de muziekdoos
Maak de muziekdoos
Maak de muziekdoos
Maak de muziekdoos

De algemene instructies staan op de AdaFruit-site op

Belangrijk om op te letten:

Bij het lezen van de AdaBox004 instructies is het gemakkelijk om links naar instructiesites voor de componenten over het hoofd te zien. Let vooral op de groene vakjes met links voor: Adafruit Feather HUZZAH ESP8266 (https://learn.adafruit.com/adafruit-feather-huzzah-esp8266). Onder het gedeelte "De Arduino IDE gebruiken" voor het bord staan links naar de stuurprogramma's die je nodig hebt om het bord aan te sluiten en code te downloaden van de Arduino IDE, evenals instructies voor het toevoegen van het bord als een optie aan de Arduino IDE.

Let ook op de link voor de Music Maker FeatherWing (https://learn.adafruit.com/adafruit-music-maker-featherwing/). Dat heeft instructies voor het installeren van de benodigde bibliotheken op de Arduino.

Ik heb de potentiometer precies aangesloten zoals getoond (https://learn.adafruit.com/adabox004/adding-a-volume-knob) - maar merk op dat ik de Feather verder naar achteren op het breadboard heb verplaatst om de USB-kabel te laten passen.

De witte doos wordt geleverd met de kit. Ik heb gewoon een perforator gebruikt om gaten te maken die groot genoeg zijn om de meegeleverde USB-kabel door te laten. Ik had een kleine spleet gemaakt met een zakmes in de opgevouwen doos, zodat ik wist waar op elk paneel te snijden.

Voor de opening van de luidspreker schatte ik het midden en markeerde het met een grote buitenlandse munt (Costa Ricaanse 100 colones om precies te zijn), en sneed vervolgens de cirkel uit met een hobbymes uit de winkel. De luidspreker stond in een rij en ik markeerde waar de kleine bouten moesten komen met een scherpe stoot.

Stap 3: Muziekspelercode

Ik heb de voorbeeldcode voor de verenspeler aangepast, waarbij ik code heb verwijderd die niet van toepassing was. Je kunt het knippen en plakken in de Arduino IDE en het vervolgens op je Feather laden.

Merk op dat ik het moeilijk had om de bestanden te laten herkennen. Wat ik hier heb werkt, maar je moet de code aanpassen om het aantal beschikbare nummers te wijzigen. En merk op dat de manier waarop ik het deed het moeilijk zal maken om meer dan 100 nummers (000 - 099) te doen, omdat het slechts 2 individuele cijfers selecteert. Ik had het eigenlijke tracknummer kunnen kiezen, maar dan had ik het moeten ontleden om de juiste bestandsnaam te maken. Misschien in een toekomstige iteratie.

Het bestand is ook beschikbaar op GitHub op https://github.com/KFW/AdaBox004. Als ik wijzigingen aanbreng, zullen ze daar zijn.

// AdaBox004_random_songs

// Specifiek voor gebruik met de Adafruit Feather, de pinnen zijn hier vooraf ingesteld!// gemodificeerde feather_player voorbeeld voor AdaBox 004 project // standalone speler die willekeurige nummers uit afspeellijst afspeelt // verwijderde ongebruikte code // had problemen met het verkrijgen van de bestandsnaam string naar werk converteren String type // aangezien de functie-aanroep voor het spelen gebruik maakt van char array // na verschillende benaderingen te hebben geprobeerd is dit de kludge die ik bedacht // tracks heten TRACK##.mp3 // Ik heb 60 nummers op SD-kaart I Ik gebruik (000 - 059) // zou slimmer zijn geweest om # bestanden te tellen of een andere manier te vinden om de bestandsnaam willekeurig te krijgen // Nou ja, de volgende keer

// inclusief SPI-, MP3- en SD-bibliotheken

#include #include #include

// Dit zijn de gebruikte pinnen

#define VS1053_RESET -1 // VS1053 reset pin (niet gebruikt!) // Feather ESP8266 -- met HUZZAH featther #define VS1053_CS 16 // VS1053 chip select pin (output) #define VS1053_DCS 15 // VS1053 Data/command select pin (output) #define CARDCS 2 // Card chip select pin #define VS1053_DREQ 0 // VS1053 Data request, idealiter een Interrupt pin #define VOLUME_KNOB A0

int laatstevol = 10;

int lusteller = 0; lange tracknummer; SnaarspoorString; 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);

ongeldige setup() {

// Serieel.begin(115200); // alleen nodig voor het oplossen van problemen // while (!Serial) { delay(1); } // Wacht tot de seriële poort is geopend, // Serial.println("\n\nAdafruit VS1053 Feather Test"); randomSeed(ESP.getCycleCount()); // HUZZAH heeft slechts 1 analoge pin die al wordt gebruikt // andere willekeurige seed nodig // dit idee van https://github.com/esp8266/Arduino/issues/728 musicPlayer.begin(); muziekspeler.sineTest (0x44, 500); // Maak een toon om aan te geven dat VS1053 werkt SD.begin (CARDCS);

// Stel het volume in voor de linker-, rechterkanalen. lagere cijfers == luider volume!

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

lege lus() {

// controleer regelmatig om het volume aan te passen!

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

// Speel een bestand op de achtergrond af, VEREIST onderbrekingen!

if (! musicPlayer.playingMusic) { trackNumber = willekeurig (6); // moet dit cijfer voor cijfer doen; eerste cijfer 0-5 char c = char (tracknummer + 48); // ASCII 48 is '0'; moet de waarde verschuiven om het juiste karakternummer te krijgen [6] = c; // vervang de tientallen waarde in de char array trackNumber = random (10); // tweede cijfer 0-9 c= char (tracknummer + 48); lied [7] = c; // Serial.println (lied); musicPlayer.startPlayingFile(lied); vertraging(10); } }

Stap 4: Geniet ervan

Gewoon aansluiten op een USB-voeding en genieten van uw favoriete nummers.

Het volume kan worden aangepast met de potentiometer in de doos. Anders geen controle.

Aanbevolen: