Saleve,
avevo intenzione di realizzare un lettore mp3 comandato da remoto, che accettasse file da chiave usb, per questo ho comprato uno shield mp3 per Arduino della Elechouse versione V4.1.
Mi sono documentato ed ho trovato uno sketch sul forum di Kenn Sherriff.
Lo sketch seguente però legge i file mp3 da una scheda sd che viene inserita.
Qualcuno potrebbe spiegarmi come è possibile far leggere i dati dalla chavetta USB inserita nell'apposita sede?
sketch:
#include <MP3.h>
#include <SoftwareSerial.h>
#include <IRremote.h>
/** define mp3 class */
MP3 mp3;
int volume = 20;
int irRemotePin = 32;
IRrecv irrecv(irRemotePin);
decode_results results;
// the setup routine runs once when you press reset:
void setup() {
// initialize the digital pin as an output.
pinMode(irRemotePin, INPUT);
/** begin function */
//delay(3000);
mp3.begin(MP3_SOFTWARE_SERIAL); // select software serial
//mp3.begin(MP3_HARDWARE_SERIAL); // select hardware serial(or mp3.begin(MP3_HARDWARE_SERIAL)
/** set volum to the default */
mp3.volume(volume);
/** set MP3 Shield CYCLE mode */
mp3.set_mode(MP3::RANDOM);
/** play music in sd, '0001' for first music */
mp3.play_sd(0x0001);
delay(500);
mp3.next();
delay(500);
mp3.next();
// mp3.volume(30);
Serial.begin(9600);
irrecv.enableIRIn(); // Start the receiver
/** wait until arduino mp3 shield get ready */
}
// the loop routine runs over and over again forever:
void loop() {
if (irrecv.decode(&results)) {
Serial.println(results.value,HEX);
irrecv.resume(); // Receive the next value
switch(results.value)
{
case 16712445: Serial.println("OK button pressed"); mp3.pause(); break;
case 16761405: Serial.println("Next button pressed"); mp3.next(); break;
case 16720605: Serial.println("Previous button pressed"); mp3.previous();break;
case 16736925: Serial.println("Volume Up button pressed");increaseVolume(); mp3.volume(volume);break;
case 16754775: Serial.println("Volume Down button pressed");decreaseVolume(); mp3.volume(volume); break;
case 16728765: Serial.println("Star button pressed");mp3.set_mode(MP3::CYCLE); break;
case 16732845: Serial.println("Sharp button pressed");mp3.set_mode(MP3::RANDOM); break;
}
}
}
void increaseVolume()
{
if(volume<31)
{
volume++;
}
}
void decreaseVolume()
{
if(volume>=1)
{
volume--;
}
}
Grazie mille in anticipo per l'aiuto!!!
sketch_apr10a_OKKKK.ino (1.97 KB)