Can't get MP3 trigger to work

I’m very new to programming, but I used the MP3 shield trigger sketch on the sparkfun website. I uploaded the sketch as is to my arduino uno. I have 9 MP3 files all named correctly on my SD card, but when I use a jumper wire to short any of the trigger pins to ground I am getting no sound in my headphones. I then tried to upload the sketch for the the example file player that came with the shield. I uploaded it and opened up the serial utility tool and could play any of the 9 MP3 files that I had loaded on the SD card. Do I need to modify the MP3 trigger sketch in any way to make it work for me? Was hoping it was as cut and dry as it looked as I’m using it to finish up a Christmas present, but ran into technical difficulties I see. Any help would be greatly appreciated.

Here is a copy of the sketch that was posted

MP3 Shield Trigger
by: Jim Lindblom
SparkFun Electronics
date: September 23, 2013

This is an example MP3 trigger sketch for the SparkFun MP3 Shield.
Pins 0, 1, 5, 10, A0, A1, A2, A3, and A4 are setup to trigger tracks
“track001.mp3”, “track002.mp3”, etc. on an SD card loaded into
the shield. Whenever any of those pins are shorted to ground,
their respective track will start playing.

When a new pin is triggered, any track currently playing will
stop, and the new one will start.

A5 is setup to globally STOP playing a track when triggered.

If you need more triggers, the shield’s jumpers on pins 3 and 4
(MIDI-IN and GPIO1) can be cut open and used as additional
trigger pins. Also, because pins 0 and 1 are used as triggers
Serial is not available for debugging. Disable those as
triggers if you want to use serial.

Much of this code was grabbed from the FilePlayer example
included with the SFEMP3Shield library. Major thanks to Bill
Porter and Michael Flaga, again, for this amazing library!

#include <SPI.h> // SPI library
#include <SdFat.h> // SDFat Library
#include <SdFatUtil.h> // SDFat Util Library
#include <SFEMP3Shield.h> // Mp3 Shield Library

SdFat sd; // Create object to handle SD functions

SFEMP3Shield MP3player; // Create Mp3 library object
// These variables are used in the MP3 initialization to set up
// some stereo options:
const uint8_t volume = 0; // MP3 Player volume 0=max, 255=lowest (off)
const uint16_t monoMode = 1; // Mono setting 0=off, 3=max

/* Pin setup */
int triggerPins[TRIGGER_COUNT] = {0, 1, 5, 10, A0, A1, A2, A3, A4};
int stopPin = A5; // This pin triggers a track stop.
int lastTrigger = 0; // This variable keeps track of which tune is playing

void setup()
/* Set up all trigger pins as inputs, with pull-ups activated: /
for (int i=0; i<TRIGGER_COUNT; i++)

  • }*
  • pinMode(stopPin, INPUT_PULLUP);*
  • initSD(); // Initialize the SD card*
  • initMP3Player(); // Initialize the MP3 Shield*
    // All the loop does is continuously step through the trigger
    // pins to see if one is pulled low. If it is, it’ll stop any
    // currently playing track, and start playing a new one.
    void loop()
  • for (int i=0; i<TRIGGER_COUNT; i++)*
  • {*
    _ if ((digitalRead(triggerPins*) == LOW) && ((i+1) != lastTrigger))_
    lastTrigger = i+1; // Update lastTrigger variable to current trigger*_
    _ /* If another track is playing, stop it: /_
    if (MP3player.isPlaying())_
    _ / Use the playTrack function to play a numbered track: /_
    uint8_t result = MP3player.playTrack(lastTrigger);
    // An alternative here would be to use the*_
    * // playMP3(fileName) function, as long as you mapped*
    * // the file names to trigger pins.*
    * if (result == 0) // playTrack() returns 0 on success*
    * {*
    * // Success*
    * }*
    * else // Otherwise there’s an error, check the code*
    * {*
    * // Print error code somehow, someway*
    * }*
    * }*
    * }*
    * // After looping through and checking trigger pins, check to*
    * // see if the stopPin (A5) is triggered.*
    * if (digitalRead(stopPin) == LOW)*
    * {*
    * lastTrigger = 0; // Reset lastTrigger*
    * // If another track is playing, stop it.*
    * if (MP3player.isPlaying())*
    * MP3player.stopTrack();*
    * }*
    // initSD() initializes the SD card and checks for an error.
    void initSD()
    * //Initialize the SdCard.*
    * if(!sd.begin(SD_SEL, SPI_HALF_SPEED))
    // initMP3Player() sets up all of the initialization for the*_
    // MP3 Player Shield. It runs the begin() function, checks
    // for errors, applies a patch if found, and sets the volume/
    // stero mode.
    void initMP3Player()
    * uint8_t result = MP3player.begin(); // init the mp3 player shield*
    * if(result != 0) // check result, see readme for error codes.*
    * {*
    * // Error checking can go here!*
    * }*
    * MP3player.setVolume(volume, volume);*
    * MP3player.setMonoMode(monoMode);*

I'm sorry, but we can't see some parts of the sketch. Please put it between code tags.

How are your switches wired? The code you posted assumes external pulldown resistors. You do have them, right? Why? Using the internal pullup resistors, and wiring the switch between ground and the digital pin is so much easier.

NOT using pins 0 and 1 is a good idea. Then, you can use Serial.begin(), Serial.print(), etc. to debug your code.