Hola, muy buenas.
Tengo un problema con la funcion Tone() en este codigo, y no se muy bien que causa el problema.
Lo que hace esta aplicacion es que cuando pulso un boton de un mando a distancia, que reproduzca un sonido por un altavoz.
El problema es que todo lo hace bien, exceptuando que solo lo hace una vez, y se bloquea la app.
Mirar el codigo:
#include <WProgram.h>
#include <NECIRrcv.h>
#define IRPIN 4NECIRrcv ir(IRPIN);
void setup()
{
Serial.begin(9600);
Serial.println("IR Started");
pinMode(13, OUTPUT);
pinMode(11, OUTPUT);
ir.begin() ;
}void loop()
{
unsigned long ircode;while (ir.available()) {
ircode = ir.read();
Serial.print("Codigo DEC IR: ");
Serial.println(ircode,DEC);
if(ircode == 3158568208){
tone(11, 4000, 20);
digitalWrite(13, 1); //Enciende LED si se pulsa la tecla PowerON/OFF del mando.
}
else {digitalWrite(13, 0); //Apaga el LED si se pulsa cualquier otra tecla.
}
}
}
Un Saludo y gracias!