Having been an video games assembly language programmer in the 80's and 90's, and recently learned C++ C VB, everything thing I have played with so far in Arduino makes perfect sense and I was making superb progress. That was until our local radio ham repeater keeper asked me to build a temperature monitor which could speak.
I had an AT2560 based card so I bought into a cheap Greetech VS1053 mp3 shield thinking that I could record each word and play back to create the temperature (from a thermistor) speech while the cpu checks that the repeater isn't in use and holds the Transmitter line high. The CPU also will drive a four line display and thermistor which I have successfully coded for. I used the Greetech because it was cheap everything else is five times the price and since this is a charity job I don't intend on changing the electronics at this stage. Had I known that Arduino kit goes out of date so quickly I might have avoided it to be honest.
But anyway...
Then I started to prototype the MP3 player control using examples to start and hit this brick wall...
-fatal error: SdFatUtil.h: No such file or directory #include <SdFatUtil.h>
It seems that this is a really common issue, with lots of issues with it, but none helped me much. Mostly caused by bad questions and a few which I didn't understand the answers to.
I found the include in #include <SFEMP3Shield.h> It's calling SdFat.h which in turn contains
SdFatUtil.h
So I decided to locate and remove the call from SFEMP3Shield.h the result was:
-Library can't use both 'src' and 'utility' folders. Double check C:\Program Files (x86)\Arduino\libraries\SdFat
So I read up on this and it appears that its caused by an inheritance error to do with a utility(Public) and a private include. I have no idea how to fix that, nor do I think it will help since I created this error by removing the include from the mp3 encoder include.
There seems to be lots of information on this SdFatUtil issue but after researching for two days straight, I don't seem to be getting anywhere. All I want to do is get this code working. I know its simple but all I need is to play the files with the words in sequence like "Two" + "Five"+"Degrees" according to the output form the Thermistor.
#include <SPI.h>
#include <SdFat.h>
#include <SdFatUtil.h>
#include <SFEMP3Shield.h>
SdFat sd;
SFEMP3Shield MP3player;
void setup()
{
Serial.begin(9600);
Serial.println("setup");
//start the shield
sd.begin(SD_SEL, SPI_HALF_SPEED);
MP3player.begin();
MP3player.playTrack(1); // play track 1 for 5 seconds
delay(5000);
MP3player.stopTrack();
MP3player.playTrack(2); // play track 2 for 2 seconds
delay(2000);
MP3player.stopTrack();
MP3player.playMP3("track001.mp3"); // play track by file name.
}
//do something else now
void loop()
{
Serial.println("Kendro!");
delay(2000);