Control Remoto IR usando Arduino

Buenas noches amigos del foro,

Quería pedir su colaboración, resulta que necesito crear un control remoto mediante un Tx infrarrojo y un teclado matricial de 4x4. Para esto estoy usando un uC Atmega8.

Mi duda es la siguiente: Tengo un control remoto de una compañía brasileña (EITV) y requiero saber cuales son los pulsos que envía el control remoto (16 botones) para luego llevarlo al Atmega8 y generar mediante este uC los pulsos del control remoto. Alguien ya ha hecho esto con anterioridad?

Se que puedo usar el receptor IR conectado a un osciloscopio y medir los pulsos de los 16 botones que quiero usar del control remoto, pero alguien ya ha hecho estas pruebas? Es factible realizarlo por este método?

Muchas gracias de ante mano a todos.

Saludos √
 
Si que es factible, y de hecho es factible hacerlo sin saber que hace; al micro le pones un fotodiodo y aprendes la señal leyendo un pin y luego la reproduces por otro pin.
 
La verdad es que tengo un proyecto que tiene que ver con eso pero cuando hago el estudio de mercado (vamos, cuando pregunto a familia y amigos) todo el mundo me dice que no tendria futuro y que a los fabricantes no les conviene. En fin...
 
Hola. En realidad captar la señal de un mando y luego reproducirla directamente no es tan facil, puesto que los distintos protocolos (los mas comunes NEC, SIRC, RC5 y RC6) trabajan a distintas frecuencias, distintos tipo de codificación, algunos usan pwm otros no, etc. Lo que te conviene primero es leer sobre NEC y los de philips RC5 y RC6. Luego podes probar en el osciloscopio (o si no podes conectar el fotodiodo a la entrada de micrófono de tu pc y lo visualizas en algún programa de sonido). Ahí te vas a dar cuenta que protocolo utiliza tu control. Una vez que sepas que protocolo utiliza te va a ser muy fácil hacer el programita que lo capte. Saludos.
 
Gracias amigo, si es verdad voy a revisar acerca de los protocolos usados en IR para ver cual usa el mio.

Para informarles que pude lograr la recepción del y transmisión de las señales del control remoto con éxito.
 
Hola que tal como que este port va en otro lado jejeje pero bueno, Podrias publicar un bosquejo de tu circuito y explicar tu programa si que no quieres publicar toda la informacion.

:unsure:
 
Hola, amigos del Foro.
Mi consulta es la siguiente:
Tengo el código de un control remoto infrarrojo para arduino.
Se compila y carga sin problema, el incoveniente es que al abrir el Monitor Serial, sin hacer nada comienza a mostrar el mensaje que muestro adjunto.
1615516502917.png

Entonces, al presionar una tecla del control remoto, no logro ver el código hexadecimal del mismo, por lo cual me resulta imposible poder controlar mi arduino sin este dato.

¿Alguien que me pueda ayudar, por favor?

Adjunto el código en arduino que uso. Gracias y estaré atento.
C++:
#include <IRremote.h>

int receptor = 11;
int led = 13;
IRrecv irrecv(receptor);
decode_results co; //OBJETO CODIGO DE CLASE decode_result, oriundo de IRremote.h

void setup()
{
  pinMode(led, OUTPUT);
  pinMode(11, INPUT);
  Serial.begin(9600);
  irrecv.enableIRIn(); // INICIA LA RECEPCIÓN
}

void loop()
{
if (irrecv.decode(&co))
{
Serial.println(co.value, HEX);

      if (co.value==0x00FF6897)//CÓDIGO DEL NÚMERO CERO PARA ACTIVAR LED
      {
         digitalWrite(led, HIGH);
      }
      if (co.value==0x00FF9867)//CÓDIGO DEL NÚMERO UNO PARA DESACTIVAR LED
      {
         digitalWrite(led, LOW);
      }
delay(500);
irrecv.resume();
}
}
 
Muchas gracias , la traducción es :" la función decodificar (y resultados) está obsoleta y puede que no funcione como se esperaba¡ solo use decodificar. sin ningún parámetro "

Ojalá me puedan ayudar.

Gracias.

HUGO
 

D@rkbytes

Moderador
Ahí lo está diciendo claramente:
The function decode(&results)) is deprecated and may not work as expected! Just use decode() - without any parameter.

Por lo tanto, con quitar los parámetros en decode(params); debería funcionar.
O sea, así: if (irrecv.decode())
 
Muchas gracias....ahora desaparecio el mensaje....solo que al presionar cualquier botón del control remoto solamente aparece un 0 (cero) en el monitor serial.

Me podrán seguir ayudando.

Saludos.

HUGO
Mensaje automáticamente combinado:

Gracias

Alguien me ayuda, por favor.

Muy amables.

Saludos
 
Última edición:

D@rkbytes

Moderador
No uso arduino, pero tal vez falte declarar el tipo de protocolo que se debe decodificar.
Tal vez algo está mal conectado.
Tal vez la librería no soporta el protocolo del control que usas, etc.
Encontrar el problema es complicado cuando se da poca información.
 
Muchas gracias.

Algún miembro del foro que tenga nociones de éste sistema y me pueda ayudar, por favor. Algún código para compartir.

Ésto es lo que aparece en el monitor serial.

1615523725187.png

Al presionar cualquier botón de cualquier control remoto, aparece solo un 0 (cero) en el monitor serial.

Gracias.

Hugo.
 
Hola Huesc: entiendo que buscas enviar señales desde un control remoto infrarojo hacia tu arduino para que ejecute alguna funcion. Esos codigos que colocaste en tu programa, de donde los obtuviste?
Tal como te indica el compañero D@rkBytes, es necesario saber que protocolo utiliza el control y que los codigos sean compatibles con el mismo.

Has probado utilizar el programa de ejemplo que aparece en el IDE para decodificar las señales de los controles remotos?
Que tipo de control remoto utilizas (marca)?
Como recibes las señales hacia arduino?

He utilizado controles IR de marca Sony, que son sencillos de decodificar y funciona de maravilla.b
 
Arriba