Hola que tal todos, espero que me puedan ayudar con un proyecto de un carro a control remoto usando un receptor ir, sucede que funciona por un momento y luego deja de "recibir" y no responde, hasta que no le de reset a la placa. uso el monitor serie para "ver" los mensajes y me doy cuenta que deja de recibir porque: 1:no hace nada. 2:el led del modulo receptor ir no se enciende como deberia hacerlo.
adjunto codigo e imagen del receptor ir que utilizo. Nota: solo tengo conecta 1 de los 2 motores y están comentados.
//Testeando Motores con L293D
//Definimos pins
//Motor A
#include <IRremote.h>
int pin=5;
IRrecv irrecv(pin);
decode_results results;
int motorA1 = 10;
int motorA2 = 11;
//Motor B
int MotorB1 = 8;
int MotorB2 = 9;
char val;
void setup() {
Serial.begin (9600);
Serial.println("IR Receiver Button Decode");
irrecv.enableIRIn();
//configuración
// pinMode (motorA1, OUTPUT);
//pinMode (motorA2, OUTPUT);
pinMode (MotorB1, OUTPUT);
pinMode (MotorB2, OUTPUT);
}
void loop()
{
if (irrecv.decode(&results))
{ Serial.println(results.value, HEX);
switch(results.value)
{
case 0xFF906F: Serial.println("Forward"); // Button 2
detener();
adelante();
break;
case 0xFFE01F: Serial.println("down"); // Button 2
detener();
atras();
break;
case 0xFFE21D: //Serial.println("down"); // Button 2
Serial.println ("stop");
detener();
break;
}
irrecv.resume();
}//fin if
}
void adelante()
{
//digitalWrite (motorA1, LOW);
// digitalWrite (motorA2, HIGH);
digitalWrite (MotorB1, LOW);
digitalWrite (MotorB2, HIGH);
delay(100);
}
void atras()
{
// digitalWrite (motorA1, HIGH);
//digitalWrite (motorA2, LOW);
digitalWrite (MotorB1, HIGH);
digitalWrite (MotorB2, LOW);
delay(100);
}
void detener()
{
digitalWrite (MotorB1,HIGH);
digitalWrite (MotorB2, HIGH);
}