Всем привет.
Вопрос собственно вот в чем: как с помощью этой штуки ( http://www.dfrobot.com/wiki/index.php?t ... KU:DFR0112) ) проигрывать нужные мне звуковые файлы, не используя команды типа следующий, предыдущий....(не искать нужный, а сразу проигрывать его) то есть, сказал я ему играть такой то файл, он играет,сказал ему играть десятый файл, он играет...
вот пример сэмпловского кода\
#include <Wire.h>
#include <stdlib.h>
//
//The sd card must be formated at FAT format.
//Create a "sound" directory, put mp3/wav/midi files under the SD card,
//Make sure the length of file name do not exceed 8 letters.
// Play Sound "\sound name\r\n". Return "Play ok\r\n" if success,
// Return "Not found\r\n" if sound track does not be found, Return "over\r\n" if the track has reached its end.
// Pause Play "\:p\r\n" Return "pause\r\n" if success
// Continoue Play "\:s\r\n" Return "start\r\n" if success
// Play next "\:n\r\n" Return "next\r\n" if success,Return "false\r\n" if failed
// Play previous "\:u\r\n" Return "key up\r\n"
// Set the volume "\:v 255\r\n",set the volume, from 0 (minimum)-255 (maximum), Return "vol set ok" if success
/////////////////////////////////////////////////////////////////////////////////
#define ArduinoPlayer_address 0x35 //ArduinoPlayer I2C address 0x35 (default)
void TwiSend(const char *cmd) //I2C Command
{
char len = 0;
len = strlen(cmd); //Calculate the length of the command
Wire.beginTransmission(ArduinoPlayer_address); // ArduinoPlayer I2C address
while(len--)
{
Wire.send(*(cmd++));
}
Wire.endTransmission(); // stop transmitting
}
void setup()
{
Wire.begin(); // join i2c bus (address optional for master)
Serial.begin(9600);
delay(2000);//Wait for 2 seconds
Serial.println("Ready");
TwiSend("\\:v 255\r\n"); // set the volume, from 0 (minimum)-255 (maximum)
}
//Receive control command from serial
void loop()
{
int val;
if(Serial.available() > 0)
{
val=Serial.read();
switch(val)
{
case 'p': // Pause
TwiSend("\\:p\r\n");
Serial.println("OK");
break;
case 's': // Continoue to play
TwiSend("\\:s\r\n");
Serial.println("OK");
break;
case 'n':
TwiSend("\\:n\r\n"); // Play next
Serial.println("OK");
break;
case 'u':
TwiSend("\\:u\r\n"); // Play previous
Serial.println("OK");
break;
case 'm': //Play
//The volume must be set before playing the sound
TwiSend("\\:v 250\r\n"); // set the volume, from 0 (minimum)-255 (maximum)
TwiSend("\\yes\r\n");
Serial.println("OK");
break;
default:
break;
}
}
}
То есть // Play Sound "\sound name\r\n". Return "Play ok\r\n" if success,
мне следует написать так:
case '1': // играть файл 1.mp3
TwiSend("\\1.mp3\r\n");
Serial.println("OK");
break;
правильно???
или надо как то по-другому??