Seriale e lettore mp3

ho da poco acquistato un modulo riproduttore mp3 indirizzabile da futura elettronica FT862M e vorrei gestirlo con arduino....
premesso che l'ho provato stand alone utilizzando la seriale di programmazione di arduino, in quanto i segnali accettati dal modulo sono a livello TTL
usando il monitor seriale a mo di hyperterminal inviando i comandi il lettore suona.....

ora vorrei che fosse arduino a fare questo ma non mi riesce proprio...

il codice che ho usato è il seguente

#include <SoftwareSerial.h>

SoftwareSerial mySerial(2,3); // RX, TX

void setup()
{
// Open serial communications and wait for port to open:

mySerial.begin(9600);
delay(1000);
mySerial.println("p");
}

void loop() // run over and over
{
mySerial.println("p");
delay(10);
mySerial.println("15");
delay(10);
mySerial.println("P");
delay(10000);
}

ho già spulciato internet e il forum trovando alcuni esempi ma in nessun modo funziona
qualche idea?

ciao

Sei fortunato: ho appena terminato un progetto per FUTURA che riguarda proprio uno shield per TiDiGino con il modulo FT862M ed il relativo articolo che dovrebbe vedere la luce a breve.

Ti consiglio di settare il config.txt in modo che i due echi siano disattivati:

ECHO COMANDO	= 0			(eco comando inviato – 0=No, 1=Sì)
ECHO COM ESTESO	= 0			(eco esteso – 0=No, 1=Sì)

Il comando che fornisci è sbagliato: devi prima indicare la traccia da eseguire e solo poi attivare il play. lnoltre non devi aggiungere e , quindi non devi usare il println():

  SerialAux.write('#');	                        // delimitatore inizio nome traccia
  SerialAux.print(Track, DEC);                  // 0-65539
  SerialAux.write('*');	                        // delimitatore fine nome traccia
  SerialAux.write('P');	                        // play track MP3

Se hai altri problemi, chiedi pure.

Ettore Massimo Albani

Sei un grande!!!!

Avevo già provveduto a togliere gli echo anche se non ho collegato la linea di ricezione....

lo sketch che ho postato effettivamente non era quello corretto, la sequenza di comandi era errata dopo10000 prove stavo impazzendo
anche il "fine linea" lo avevo messo perche pensavo li concatenasse sulla stessa riga...

potresti spiegarmi la differenza tra serial.write e serial.print ???

Grazie per la tempestiva risposta!!!

Stefano

Grazie! :wink:

Il write serve a scrivere uno o più byte, mentre il print stampa una stringa nella sua rappresentazione ASCII.

In realtà i progettisti hanno ingenerato un po' di confusione: di regola io uso il write per scrivere un singolo byte o carattere.

Nota infatti che ho usato il print per scrivere il numero della traccia.

Ho appena ricevuto dal progettista del modulo il nuovofirmware per la gestione del modulo.

Contiene importanti aggiornamenti.

Non appena finisco di collaudarlo te lo segnalo.

Ho preparato una libreria per usare FT862M e tra poco la inserirò nel sito comune.