#include <SD.h>
#include <Adafruit_VS1053.h>
#define DREQ 2 // Data Request pin for VS1053
#define VS1053_CS 6 // Chip Select for VS1053 MP3
#define VS1053_DCS 7 // Data/Command for VS1053 MP3
#define VS1053_RESET 8 // Reset for VS1053 MP3
#define SD_CS 9 // Chip Select for SD card
Adafruit_VS1053_FilePlayer musicPlayer = Adafruit_VS1053_FilePlayer(
VS1053_RESET, VS1053_CS, VS1053_DCS, DREQ, SD_CS
);
void setup() {
Serial.begin(115200);
// Initialize SD card
if (!SD.begin(SD_CS)) {
Serial.println("Unable to access the SD card");
while (true);
}
if (!musicPlayer.begin()) {
Serial.println("Couldn't find VS1053, do you have the right pins defined?");
while (true);
}
Serial.println("VS1053 found");
// Set volume (left channel, right channel)
musicPlayer.setVolume(50, 50); // Adjust volume as needed
// List and print all files on SD card
// listAllFiles("/");
// if (!musicPlayer.startPlayingFile("Not_Ok.mp3")) {
// Serial.println("error");
// } else {
// Serial.println("all good");
// }
}
void loop() {
if (Serial.available()) {
String name = Serial.readStringUntil('\n');
Serial.print("Playing: ");
Serial.println(name);
if (!musicPlayer.startPlayingFile((name).c_str())) {
Serial.println("Failed to play");
}
}
}