Go Down

Topic: error al reproducir wav.. usando virtualwire (Read 315 times) previous topic - next topic

Lisergio

Buenas a todos....

Estoy como siempre liado con unas pruebas y me he quedado atascado... y necesitaría un poco de ayuda si es posible....

estoy usando la libreria virtualwire con un emisor y un receptor de 400Mhz
la biblioteca TMRpcm y SD para reproducir archivos .wav desde una SD...
y la LCD pues, para eso, ... para un LCD


reproduzco un sonido en el setup , para comprobar el inicio, y quiero reproducir ese sonido de nuevo, al recibir un mensaje " I " por el receptor,
aparte, para confirmar que recibo el dato, coloco un mensaje en el LCD.

la cuestión es que funciona la reproducción de los archivos , hasta el momento de iniciar el vw_setup(2000) del receptor....

pongo aqui el código.....


Quote

#include <SD.h>                     
#define SD_ChipSelectPin 10  
#include <TMRpcm.h>         
#include <VirtualWire.h>
#include <LiquidCrystal.h>


TMRpcm tmrpcm;

LiquidCrystal lcd(7, 6, 5, 4, 3, 2);

void setup(){
  
  tmrpcm.speakerPin = 9;

 Serial.begin(9600);
  if (!SD.begin(SD_ChipSelectPin)) { 
    Serial.println("SD fail"); 
    return;   
  }
  tmrpcm.play("6.wav");
  
  lcd.begin(16, 2);
  lcd.setCursor(0,0);
  lcd.print("Prueba de audio");
  delay(500);
  vw_set_ptt_inverted(true);
  vw_setup(2000);
  vw_set_rx_pin(8);
  vw_rx_start(); 
}



void loop(){ 

    uint8_t buf[VW_MAX_MESSAGE_LEN];
    uint8_t buflen = VW_MAX_MESSAGE_LEN;
    
   if (vw_get_message(buf, &buflen))
    {
    int i;
    
    lcd.setCursor(0,1);
     
     if (buf[0]==73)
   {
     lcd.clear();
     lcd.setCursor(0,0);     
     lcd.print("Prueba iniciada");         
     tmrpcm.play("6.wav"); 

   }
    } 

}



alguna idea????
gracias!!!!

Go Up