Hola a todos, vereis, basandome en el esquema de montaje de la web frikadas con arduino control infrarrojo, conecte un receptor al arduino segun el esquema, todo salio bien a la primera recoje la lectura y las manda a la consola serial, el problema es el siguiente, quiero conectar un led, digamos a al pin 13 y que se encienda y apague dandole a una determinada tecla, es decir si pulsamos una vez se enciende y si volvemos a pulsar se apaga, con el codigo de lectura y un par de lineas mas casi que lo he conseguido, pero mientras en la consola de serial salen las lecturas perfectamente sin ningun fallo, es decir cada vez que pulso recoje la lectura, el led se enciende y apaga cada tres o cuatro pulsaciones, es decir que hay que darle muchas veces, al principio pense que podria deberse al tipico problema de rebotes de los interruptores y le añadi un par de variables, pero sigue igual, resumiendo, la lectura perfecta, entiende el valor de la tecla, pero enciende cuando le da la gana y apaga lo mismo, pero ojo solo cuando le doy a la tecla que quiero, con las demas nada, el codigo lo llevo asi:
#include <WProgram.h>
#include <NECIRrcv.h>
#define IRPIN 7 // pin that IR detector is connected t
int ledpin = 13;
boolean encendido;
boolean rebotes;
NECIRrcv ir(IRPIN) ;
void setup()
{
pinMode(ledpin, OUTPUT);
encendido =false;
rebotes =true;
Serial.begin(9600) ;
Serial.println("NEC IR code reception") ;
ir.begin() ;
}
void loop()
{
unsigned long ircode ;
while (ir.available()) {
ircode = ir.read() ;
Serial.print("got code: 0x") ;
Serial.println(ircode,DEC) ;
}
if (ir.read() ==2657221380 && encendido ==false && rebotes ==true){
digitalWrite(ledpin, HIGH);
encendido =true;
rebotes =false;
delay (ir.read() ==2657221380);
}
else if (ir.read() ==2657221380 && encendido ==true && rebotes ==true){
digitalWrite(ledpin, LOW);
encendido =false;
rebotes =false;
delay (ir.read() ==2657221380);
}
else if (ir.read() == 2657221380 && rebotes ==false){
rebotes =true;
}
}
la lectura 2657221380 es la tecla del mando en cuestion, he intentado usar una para encender y otra para apagar y lo mismo hay que darle muchas veces, (3 o 4 veces), y no se que mas intentar, es posible que sea porque la lectura es muy larga? lo que no entiendo es que recoja perfectamente la lectura que le manda el receptor y despues se trabe al encender el led.
un saludo y gracias