controllare un lettore mp3 tramite la porta seriale

l'obiettivo è quello di far partire una traccia mp3 quando viene premuto il bottone unitamente all'accensione del led.

ho collegato l'arduino uno a questo modulo mp3 tramite le porte TX e RX e l'alimentazione.

il modulo funziona correttamente "stand alone" ma se provo a farlo funzionare tramite l'arduino e la porta seriale non funziona.

il modulo dovrebbe essere in grado di ricevere istruzioni tramite la porta seriale secondo lo standard RS232 come da istruzione contenute nel manuale

il comando "7E 07 A0 30 31 30 30 32 7E" dovrebbe far partire la traccia 002.mp3 contenuta nella cartella adver01

ho fatto partire questo script ma alla pressione del pulsante si accende solo il LED mentre il modulo resta muto

  // Esempio 01: accendi il led appena è premuto il pulsante  
      
    #define LED 9                // LED collegato al pin digitale 9  
    #define BUTTON 7              // pin di input dove è collegato il pulsante  
    int  val = 0;                 // si userà val per conservare lo stato del pin di input  
      
    void setup() {  
      pinMode(LED, OUTPUT);       // imposta il pin digitale come output  
      pinMode(BUTTON, INPUT);     // imposta il pin digitale come input  
     Serial.begin(9600);
    }  
      
    void loop() {  
      val = digitalRead(BUTTON);  // legge il valore dell'input e lo conserva  
      
      // controlla che l'input sia HIGH (pulsante premuto)  
      if (val == HIGH) {  
        digitalWrite(LED, HIGH);  //accende il led  
   Serial.write("7E 07 A0 30 31 30 30 31 7E"); // play file 001.mp3 in folder advert01
      }  
      else {  
        digitalWrite(LED, LOW);   //spegne il led  
      }  
    }

risolto grazie all'utente DX00WD

l'istruzione giusta da inviare era la seguente

// play file 001.mp3 in folder advert01
Serial.write(0x7E);
Serial.write(0x07);
Serial.write(0xA0);
Serial.write(0x30);
Serial.write(0x31);
Serial.write(0x30);
Serial.write(0x30);
Serial.write(0x31);
Serial.write(0x7E);

:slight_smile:

adesso ho aggiunto un secondo pulsante in modo tale da poter selezionare una specifica traccia da far partire alla pressione del primo pulsante

ho usato questo script che pero' non funziona bene: delle volte il secondo pulsante non funziona , e poi la scelta delle tracce mi sembra casuale piu' che dipendente dal conteggio del primo pulsante.. dove sbaglio?

EDIT
risolto da solo