🍪 Privacy & Transparency

We and our partners use cookies to Store and/or access information on a device. We and our partners use data for Personalised ads and content, ad and content measurement, audience insights and product development. An example of data being processed may be a unique identifier stored in a cookie. Some of our partners may process your data as a part of their legitimate business interest without asking for consent. To view the purposes they believe they have legitimate interest for, or to object to this data processing use the vendor list link below. The consent submitted will only be used for data processing originating from this website. If you would like to change your settings or withdraw consent at any time, the link to do so is in our privacy policy accessible from our home page..

Vendor List | Privacy Policy
Skip to content

Technik Blog

Programmieren | Arduino | ESP32 | MicroPython | Python | Raspberry PI

Menu
  • Projekte
    • LED’s
    • Servo & Schrittmotoren
    • Sound
    • LCD’s
    • Kommunikation
    • Sicherheit
    • Weekend Project
  • Arduino
    • Tutorials
    • ProMini
      • Anschließen & Programmieren
    • Nano
      • Arduino Nano – Übersicht
    • UNO
      • Übersicht
    • MEGA 2560
      • Übersicht
    • Leonardo
      • Übersicht
    • NodeMCU
      • NodeMCU – “Einer für (fast) Alles!”
    • Lilypad
      • Arduino: Lilypad “Jetzt Geht’s Rund!”
    • WEMOS
      • WEMOS D1 – Arduino UNO kompatibles Board mit ESP8266 Chip
      • WEMOS D1 Mini – Übersicht
      • Wemos D1 mini Shields
    • STM32x
      • STM32F103C8T6 – Übersicht
    • Maker UNO
      • Maker UNO – Überblick und Test
    • ATTiny85
      • Mini Arduino mit ATTiny85 Chip
      • ATtiny85 mit dem Arduino UNO beschreiben
  • Android
  • Über mich
  • DeutschDeutsch
  • EnglishEnglish
Menu

Arduino Lektion 72: MP3 Shield

Veröffentlicht am 15. Oktober 20181. Mai 2023 von Stefan Draeger

In diesem Tutorial möchte ich das MP3 Shield für den Arduino vorstellen.

MP3 Shield für den Arduino UNO / Leonardo / Mega 2560
MP3 Shield für den Arduino UNO / Leonardo / Mega 2560
MP3 Shield
MP3 Shield

Das Shield kann bequem auf den Arduino stecken.

In diesem Beispiel verwende ich einen Arduino Leonardo (Klon) dieser ist Baugleich mit dem Arduino UNO. Der Microcontroller unterscheidet sich vom Chip, Anschlussbuchse und noch ein paar kleineren Feinheiten welche jedoch bei dem MP3 Shield nicht zum tragen kommen.

  • Bezug
  • Aufbau
  • Vorbereitungen
    • Formatieren der Micro SD Karte
    • Ablage der MP3 Dateien
  • Quellcode
    • Bibliothek zum abspielen von MP3 Dateien
  • Troubleshooting
    • SD errorCode: 0X20,0XFF
  • Video

Bezug

Zu beziehen ist das Shield über ebay.de oder aber auch amazon.de hat dieses im Sortiment. Der Preis liegt hier zwischen 6€ und 23€ je nach Model. 

Aufbau

Aufbau des MP3 Shields
Aufbau des MP3 Shields

Vorbereitungen

Als erstes benötigt man eine Micro SD Karte im FAT32 Format.

Micro SD Card
Micro SD Card

Die Micro SD Card kann man in jedem gut sortierten Elektronikfachhandel (Saturn, Mediamarkt, usw.) oder im Supermarkt für einen schmalen Taler kaufen. Ich habe meine bei Saturn für ca. 10€ gekauft (aber das ist schon deutlich lange her.)

Ein vergleich von den Anbietern kann hier bares Geld sparen, daher nicht gleich beim erstbesten zugreifen.

Formatieren der Micro SD Karte

Je nach Betriebssystem kann das formatieren der SD Karte anders verlaufen, ich habe ein Microsoft Windows 10 und klicke im Explorer (Windows Taste + E) auf das Laufwerkssymbol mit der rechten Maustaste und wähle dort „Formatieren“ aus.

Im nun neu geöffneten Fenster wählt man aus der Auswahlliste „Dateisystem“ den Eintrag FAT32 aus und bestätigt die Auswahl mit der Schaltfläche „Starten“. Wenn der Vorgang abgeschlossen ist wird dieses mit einem Infodialog quittiert.

Ablage der MP3 Dateien

Die MP3 Dateien müssen für die Verwendung mit der Bibliothek VS1053 von Michael L. Flaga mit einem bestimmten Dateinamen versehen werden. Das Format ist „trackxxx“ wobei xxx als Platzhalter für eine dreistellige Zahl steht. Wenn diese Zahl unter 100 bzw. 10 ist dann wird mit Nullen aufgefüllt. zbsp. track099.mp3 oder track001.mp3. 

Quellcode

Bibliothek zum abspielen von MP3 Dateien

Für den nachfolgenden Sketch wird die Bibliothek Arduino_Library-vs1053_for_SdFat benötigt welche vom GitHub Repository  des Entwicklers Michael P. Flaga heruntergeladen werden kann.

Alternativ kann man die Bibliothek auch über den Bibliotheksverwalter der Arduino IDE installieren.

Bibliotheksverwalter der Arduino IDE - vs1053
Bibliotheksverwalter der Arduino IDE – vs1053

Wenn man die Bibliothek über den Bibliotheksverwalter oder als *.zip Datei installiert hat, erhält man zusätzlich Zugriff auf 3 Beispiele.

Beispiele der Bibliothek VS1053 zum Abpielen von MP3 Dateien
Beispiele der Bibliothek VS1053 zum Abpielen von MP3 Dateien

Ich benutze diese Beispiele wieder als Grundlage jedoch vereinfache ich diese um das abspielen genau einer bestimmten Datei von der Micro SD Karte.

Des Weiteren wird die Bibliothek SDFat benötigt.  Diese kann man auch über den Bibliotheksverwalter installieren.

Bibliothek "SDFat" im Bibliotheksverwalter der Arduino IDE
Bibliothek „SDFat“ im Bibliotheksverwalter der Arduino IDE
#include <SPI.h>          // Bibliothek für die Kommunikation über SPI
#include <SdFat.h>        // Bibliothek für den Zugriff auf die SD Karte (wird benötigt für die Bibliothek vs1053_SdFat)
#include <vs1053_SdFat.h> // Bibliothek für das Abspielen von MP3 Dateien

SdFat sd;         //erzeugen des Objektes für die SD Karte
vs1053 MP3player; //erzeugen des MediaplayerObjektes

//Definieren der Pause zwischen dem Abspielen von Lieder.
const int PAUSE = 2000; 

void setup() {
  //Starten der Kommunikation mit der SD Karte
  //Wenn ein Fehler auftritt soll hier angehalten werden.
  if(!sd.begin(SD_SEL, SPI_FULL_SPEED))
    sd.initErrorHalt();

  //Auf das Wurzelverzeichnis der SD Karte wechseln.
  //Sollte ein Fehler auftreten so wird die Fehlermeldunt "sd.chdir" ausgegeben.
  if (!sd.chdir("/"))
      sd.errorHalt("sd.chdir");
  
  //MP3 Shield starten
  MP3player.begin();

  //Setzen der Lautstärke
  //der erste Wert ist für den linken Audiokanal 
  //der zweite für den rechten Audiokanal
  MP3player.setVolume(15,15); //Die Lautstärke einstellen 
  
}

void loop() {
  //Startet den Timer zum abspielen der Lieder
  MP3player.available();

  //Öffnet das Lied mit der Bezeichnung "track003.mp3". 
  //Die Lieder müssen im Format "trackXXX.mp3" vorliegen.
  //Wobei XXX für eine dreistellige Zahl steht, sollte die
  //Zahl unter 100 bzw. unter 10 liegen wird jeweils mit Nullen 
  //aufgefüllt. zbsp. track099.mp3 oder track001.mp3
  MP3player.playTrack(3);
  delay(PAUSE);
}

Troubleshooting

SD errorCode: 0X20,0XFF

Im ersten Versuch habe ich den Arduino Leonardo verwendet und folgenden Fehler auf dem seriellen Monitor der Arduino IDE erhalten:

SD initialization failed.
Do not reformat the card!
Is the card correctly inserted?
Is chipSelect set to the correct value?
Is there a wiring/soldering problem?
errorCode: 0x1, errorData: 0xff

Auf der GitHub Seite findet man folgenden Text „Initially developed on a ATmega328 Arduino UNO/Duemilanove“ und dieses gab mir zu denken denn der Arduino Leonardo hat einen ATmega32u4 Chip und nicht einen ATmega328 somit habe ich einen MakerUNO getestet und es hat funktioniert.

Video

MP3Shield VS1053 am MakerUNO
Dieses Video auf YouTube ansehen.

Schreibe einen Kommentar Antworten abbrechen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Kategorien

Tools

  • 8×8 LED Matrix Tool
  • 8×16 LED Matrix Modul von Keyestudio
  • 16×16 LED Matrix – Generator
  • Widerstandsrechner
  • Rechner für Strom & Widerstände
  • ASCII Tabelle

Meta

  • Videothek
  • Impressum
  • Datenschutzerklärung
  • Disclaimer
  • Kontakt
  • Cookie-Richtlinie (EU)

Links

Blogverzeichnis Bloggerei.de Blogverzeichnis TopBlogs.de das Original - Blogverzeichnis | Blog Top Liste Blogverzeichnis trusted-blogs.com
©2023 Technik Blog | Built using WordPress and Responsive Blogily theme by Superb
x
x