Music Maker Shield issues

Adafruit Ethernet, Motor, Proto, Wave, Datalogger, GPS Shields - etc!

Moderators: adafruit_support_bill, adafruit

Please be positive and constructive with your questions and comments.
Locked
User avatar
antitrust311
 
Posts: 8
Joined: Fri Apr 04, 2014 3:14 pm

Music Maker Shield issues

Post by antitrust311 »

Hello,

I have a Arduino Uno wifi Rev 2 with an Adafruit Music maker shield attached via the header pins. I followed the guide here;

https://learn.adafruit.com/adafruit-mus ... bis-player

I keep getting this error message in the Arduino IDE

"Adafruit VS1053 Simple Test Couldn't find VS1053, do you have the right pins defined?"

I have checked all the pins on the shield with a multimeter checking to ensure there are no shorts or opens on every pin.I am new to these devices and to the Arduino IDE. I am pretty sure its a code issue and not a hardware issue. I am using an 8Gb Sandisk industrial micro sd card and I have labeled two mp3's track001.mp3 and track002.mp3. Neither of them will play. When I hit the reset button on the shield or on the Arduino Uno I can here the amp reset so I know the shield is powered.

I am on a M1 Macbook Pro Ventura 13.2.1 using the Arduino IDE version 2.1.0. I have the device connected via a USB B to USB C cable and I am powering it externally with an Arduino power supply. I am able to compile and upload the code without any errors and I am able to use the serial monitor to see the error that I listed above. Any help would be greatly appreciated. Thank you.


Here is the code I have in Arduino IDE from the example given in the tutorial for this board.

This is an example for the Adafruit VS1053 Codec Breakout

Code: Select all

Designed specifically to work with the Adafruit VS1053 Codec Breakout 
  ----> https://www.adafruit.com/products/1381

  Adafruit invests time and resources providing this open source code, 
  please support Adafruit and open-source hardware by purchasing 
  products from Adafruit!

  Written by Limor Fried/Ladyada for Adafruit Industries.  
  BSD license, all text above must be included in any redistribution
 ****************************************************/

// include SPI, MP3 and SD libraries
#include <SPI.h>
#include <Adafruit_VS1053.h>
#include <SD.h>

// define the pins used
//#define CLK 13       // SPI Clock, shared with SD card
//#define MISO 12      // Input data, from VS1053/SD card
//#define MOSI 11      // Output data, to VS1053/SD card
// Connect CLK, MISO and MOSI to hardware SPI pins. 
// See http://arduino.cc/en/Reference/SPI "Connections"

// These are the pins used for the breakout example
//#define BREAKOUT_RESET  9      // VS1053 reset pin (output)
//#define BREAKOUT_CS     10     // VS1053 chip select pin (output)
//#define BREAKOUT_DCS    8      // VS1053 Data/command select pin (output)
// These are the pins used for the music maker shield
#define SHIELD_RESET  -1      // VS1053 reset pin (unused!)
#define SHIELD_CS     7      // VS1053 chip select pin (output)
#define SHIELD_DCS    6      // VS1053 Data/command select pin (output)

// These are common pins between breakout and shield
#define CARDCS 4     // Card chip select pin
// DREQ should be an Int pin, see http://arduino.cc/en/Reference/attachInterrupt
#define DREQ 3       // VS1053 Data request, ideally an Interrupt pin

Adafruit_VS1053_FilePlayer musicPlayer = 
  // create breakout-example object!
  //Adafruit_VS1053_FilePlayer(BREAKOUT_RESET, BREAKOUT_CS, BREAKOUT_DCS, DREQ, CARDCS);
  //create shield-example object!
  Adafruit_VS1053_FilePlayer(SHIELD_RESET, SHIELD_CS, SHIELD_DCS, DREQ, CARDCS);
  
void setup() {
  Serial.begin(9600);
  Serial.println("Adafruit VS1053 Simple Test");

  if (! musicPlayer.begin()) { // initialise the music player
     Serial.println(F("Couldn't find VS1053, do you have the right pins defined?"));
     while (1);
  }
  Serial.println(F("VS1053 found"));
  
   if (!SD.begin(CARDCS)) {
    Serial.println(F("SD failed, or not present"));
    while (1);  // don't do anything more
  }

  // list files
  printDirectory(SD.open("/"), 0);
  
  // Set volume for left, right channels. lower numbers == louder volume!
  musicPlayer.setVolume(20,20);

  // Timer interrupts are not suggested, better to use DREQ interrupt!
  //musicPlayer.useInterrupt(VS1053_FILEPLAYER_TIMER0_INT); // timer int

  // If DREQ is on an interrupt pin (on uno, #2 or #3) we can do background
  // audio playing
  musicPlayer.useInterrupt(VS1053_FILEPLAYER_PIN_INT);  // DREQ int
  
  // Play one file, don't return until complete
  Serial.println(F("Playing track 001"));
  musicPlayer.playFullFile("/track001.mp3");
  // Play another file in the background, REQUIRES interrupts!
  Serial.println(F("Playing track 002"));
  musicPlayer.startPlayingFile("/track002.mp3");
}

void loop() {
  // File is playing in the background
  if (musicPlayer.stopped()) {
    Serial.println("Done playing music");
    while (1) {
      delay(10);  // we're done! do nothing...
    }
  }
  if (Serial.available()) {
    char c = Serial.read();
    
    // if we get an 's' on the serial console, stop!
    if (c == 's') {
      musicPlayer.stopPlaying();
    }
    
    // if we get an 'p' on the serial console, pause/unpause!
    if (c == 'p') {
      if (! musicPlayer.paused()) {
        Serial.println("Paused");
        musicPlayer.pausePlaying(true);
      } else { 
        Serial.println("Resumed");
        musicPlayer.pausePlaying(false);
      }
    }
  }

  delay(100);
}


/// File listing helper
void printDirectory(File dir, int numTabs) {
   while(true) {
     
     File entry =  dir.openNextFile();
     if (! entry) {
       // no more files
       //Serial.println("**nomorefiles**");
       break;
     }
     for (uint8_t i=0; i<numTabs; i++) {
       Serial.print('\t');
     }
     Serial.print(entry.name());
     if (entry.isDirectory()) {
       Serial.println("/");
       printDirectory(entry, numTabs+1);
     } else {
       // files have sizes, directories do not
       Serial.print("\t\t");
       Serial.println(entry.size(), DEC);
     }
     entry.close();
   }
}
Attachments
IMG_1523.jpg
IMG_1523.jpg (76.17 KiB) Viewed 489 times
IMG_1522.jpg
IMG_1522.jpg (75.39 KiB) Viewed 489 times
IMG1521.jpg
IMG1521.jpg (130.76 KiB) Viewed 489 times
Last edited by adafruit_support_bill on Mon May 15, 2023 6:24 am, edited 1 time in total.
Reason: Please use [code] tags when posting code to the forums

User avatar
barshatriplee
 
Posts: 200
Joined: Wed Mar 22, 2023 10:11 am

Re: Music Maker Shield issues

Post by barshatriplee »

Do you have an ordinary Arduino UNO? If yes, I suggest you check the shield with an UNO first. If it successfully run with an UNO, then the shield is alright. Maybe to use it with wifi rev2, you have to modify the library.

User avatar
antitrust311
 
Posts: 8
Joined: Fri Apr 04, 2014 3:14 pm

Re: Music Maker Shield issues

Post by antitrust311 »

I do not have one, was going to purchase one as I had a similar thought.

User avatar
antitrust311
 
Posts: 8
Joined: Fri Apr 04, 2014 3:14 pm

Re: Music Maker Shield issues

Post by antitrust311 »

barshatriplee wrote: Mon May 15, 2023 3:59 am Do you have an ordinary Arduino UNO? If yes, I suggest you check the shield with an UNO first. If it successfully run with an UNO, then the shield is alright. Maybe to use it with wifi rev2, you have to modify the library.
Got an Uno Rev3 in just now uploaded the code and it worked instantly. Now to see if theres a pin difference between the two and or some software differences.

Locked
Please be positive and constructive with your questions and comments.

Return to “Arduino Shields from Adafruit”