Benutzer-Werkzeuge

Webseiten-Werkzeuge


sonstiges:tutorials:esp32:mp3_von_sd_karte

MP3s - i2s DAC - SDHC

Übersicht

Verbindungen zum I2S Dac (PCM5102a zB)

  • LCK - GPIO25
  • BCK - GPIO26
  • DIN - GPIO22
  • SCK - GND

Die SD Karte muss wie gewohnt verbunden werden

  • MOSI - GPIO23
  • MISO - GPIO19
  • SCK - GPIO18
  • CS/SS - GPIO5

Auf manchen Boards sind Pins wie XMT vorhanden. Da muss ins Datenblatt geguckt werden wie diese beschaltet werden müssen (In den meisten Fällen auf gnd).

Der Sketch kann (nicht VBR) MP3s problemlos abspielen. Der Bibliothek Inhaber rät dazu die CPU Frequenz auf 160MHz festzulegen.

https://github.com/earlephilhower/ESP8266Audio

sketch.cpp
#include "Arduino.h"
 
#include <SD.h>
#include <HTTPClient.h>
#include <SPIFFS.h>
 
#ifdef ESP32
  #include <WiFi.h>
  #include "SPIFFS.h"
#else
  #include <ESP8266WiFi.h>
#endif
 
//out = new AudioOutputI2SDAC();
#include "AudioFileSourceSD.h"
#include "AudioGeneratorMP3a.h"
#include "AudioOutputI2SDAC.h"
 
AudioGeneratorMP3a *mp3;
AudioFileSourceSD *file;
AudioOutputI2SDAC *out;
 
void setup()
{
  WiFi.mode(WIFI_OFF);
  Serial.begin(115200);
  if(!SD.begin()){
        Serial.println("Card Mount Failed");
        return;
  }
  uint8_t cardType = SD.cardType();
 
  if(cardType == CARD_NONE){
    Serial.println("No SD card attached");
    return;
  }
  Serial.print("SD Card Type: ");
  if(cardType == CARD_MMC){
    Serial.println("MMC");
  } else if(cardType == CARD_SD){
    Serial.println("SDSC");
  } else if(cardType == CARD_SDHC){
    Serial.println("SDHC");
  } else {
    Serial.println("UNKNOWN");
  }
 
  uint64_t cardSize = SD.cardSize() / (1024 * 1024);
  Serial.printf("SD Card Size: %lluMB\n", cardSize);
 
  delay(1000);
  Serial.printf("SD Card MP3 start\n");
  file = new AudioFileSourceSD("/musik.mp3");
  out = new AudioOutputI2SDAC();
  mp3 = new AudioGeneratorMP3a();
  mp3->begin(file, out);
}
 
void loop()
{
  if (mp3->isRunning()) {
    if (!mp3->loop()) mp3->stop();
  } else {
    Serial.printf("MP3 done\n");
    delay(1000);
  }
}
sonstiges/tutorials/esp32/mp3_von_sd_karte.txt · Zuletzt geändert: 2022-11-17 22:34 von 127.0.0.1