MP3 Speler

De DFPlayer Mini is een kleine en goedkope mp3-modulespeler met een uitvoer rechtstreeks naar de luidsprekers (stereo). De module kan worden gebruikt als een standalone module met aangesloten batterij, luidspreker en drukknoppen of in combinatie met een Raspberry Pi of andere met RX / TX-mogelijkheden.

Op de DFPlayer is de decoderingsmodule geïntegreerd die veelgebruikte audioformaten ondersteunt, kun je de muziek die zich op de micro SD-kaart bevindt afspelen zonder enige andere onderliggende bewerkingen. De module decodeert MP3, WAV en WMA.

Specificatie
– Ondersteunde bemonsteringsfrequenties (kHz): 8 / 11.025 / 12/16 / 22.05 / 24/32 / 44.1 / 48.
– 24-bit DAC-uitgang, ondersteuning voor dynamisch bereik 90dB, SNR-ondersteuning 85dB.
– Ondersteunt volledig FAT16, FAT32-bestandssysteem, maximale ondersteuning van 32G van de SD-kaart.
– Een verscheidenheid aan besturingsmodes, I/O-besturingsmodus, seriële modus, AD-knopbesturingsmodus.
– Reclame geluid wachten functie, de muziek kan worden opgeschort. als de reclame voorbij is, blijft de muziek spelen.
– Audiogegevens gesorteerd op map, ondersteunt maximaal 100 mappen, elke map kan maximaal 255 nummers bevatten.
– 30 niveaus volume instelbaar, 6 niveaus EQ instelbaar

Aantekeningen
– Alle audiobestanden moeten in de map /mp3 worden geplaatst.
– Het audiobestand moet 0001.mp3, 0002.mp3… ..0255.mp3 heten (4 letters niet 2 of 3 letters)
– Namen van audiobestanden kunnen willekeurige tekens bevatten na de 4 cijfers, zoals 0001_JFF_Play that song.mp3
mp3_play (74) betekent: afspelen audiobestand 0074.mp3

De aansluitingen
DE DFPlayer is voorzien van een aantal boeiende aansluitingen met evenzo boeiende functies.

USB aansluiting
In de tabel zie je de pinnen USB+ en USB-. Samen met de voedingsspanning en de ground kun je deze verbinden met een USB kabel en deze met een computer verbinden en aansturen.

Triggerpoorten
In dit project wordt gebruik gemaakt van de trigger poorten. We sluiten deze poorten samen met de ground op de Raspberry Pi aan. De voeding van de DFPlayer wordt bij voorkeur NIET van de Raspberry Pi afgenomen. Gebleken is dat de Pi ondervoedingsproblemen ervaart. Beter is in dit geval een aparte voeding te nemen.

Ondervoedingsprobleem
Bij gebruik van een standaard adapter (5V/2.5A) voor de Raspberry Pi kan de DFPlayer niet in alle gevallen door de Raspberry Pi gevoed worden. De kans is aanwezig dat je een Under-voltage detection melding krijgt ofschoon de module slechts zo’n 130mA bij 5V nodig heeft. Dit betekent dat de DFPlayer teveel stroom nodig waardoor de spanning van de Pi ‘instort’ en in de console een melding geeft. De oplossing is een aparte spanningsbron voor de DFPlayer te nemen. Vergeet daarbij niet de ground/massa van de Raspberry Pi en de externe voeding met elkaar te verbinden.

Indien jouw Raspberry Pi in combinatie met de DFPlayer geen ondervoedingsproblemen ervaart is er geen reden om een aparte voeding te gebruiken.

DFPlayer met de Pi Verbinden
In de tabel hieronder zie je hoe de DFPlayer met de Raspberry Pi verbonden wordt. Zoals hierboven aangegeven moet je erop letten dat de Raspberry Pi geen ondervoedingsprobleem ervaart, anders zal de DFPlayer apart gevoed moeten worden.

Ik heb een opstelling gemaakt om de DFPlayer te besturen. De DFPlayer wil met een LAAG signaal aangestuurd worden. Dit is lastig programmeren, daarom heb ik het aansturen met een HOOG signaal gedaan. Het nadeel hiervan is dat je het signaal moet inverteren zodat de DFPlayer het snapt. Voor het inverteren heb ik een inverter gebruikt. Op een breadboard is dit snel gebouwd.

Schematische voorstelling van de verschillende onderdelen

De logische inverter
Zoals je in het schema hierboven kunt zien worden de inverters resp. aan pin 38 en 40 van de Raspberry Pi aangesloten. De uitgang van de inverters worden verbonden met IO_1 en IO_2 van de DFPlayer.

De mono luidspreker wordt met SPK_1 en SPK_2 van de DFPlayer verbonden. Wil je stereo beluisteren, verbind dan van beide luidsprekers een draad met de GND en de een op SPK_1 en van de ander op SPK_2.

Wil je meer weten van de inverter? Klik hier.

Python
Het script is vrij eenvoudig. We weten van de DFPlayer dat bij het kort indrukken (= aanbieden van een LAAG signaal) het volgende of vorige nummer afgespeeld wordt. Indien het signaal langer aangeboden wordt, het volume wijzigt.

Veel succes!