IR arduino

Hola amigos: El próximo proyecto que pretendo comenzar es el control de las salidas del arduino con un mando de TV.

Materiales que tengo: - Arduino Due. - Sensor IR Vishay TSOP34156 - 56Khz - LCD 16X2

He estado leyendo varios proyectos y tutoriales, pero no tengo ni idea por donde empezar.

Sobre todo me he estado documentando sobre el protocolo RC5 de Philips (casi todos los tutoriales son sobre este), el problema es que no se si los mandos que tengo por casa utilizan este protocolo o debería de comprarme uno universal, a ser posible me gustaría usar lo que tengo por casa.

Me gustaría comenzar por pulsar un botón del mando (por ejemplo el 1) y que este pusiera en HIGH el PIN 1.

Agradezco toda ayuda.

Un saludo. Sento!

Hola Sento,

Echa una ojeada aqui:

http://sheepdogguides.com/arduino/ar3ne1ir.htm

http://www.arcfn.com/2009/08/multi-protocol-infrared-remote-library.html

Saludos,

Cristal, muchas gracias por contestar,. mañana mismo con la ayudita del traductor :smiley: empiezo a meterle caña.

Un saludo

Hola muy buenas a todos:
Ya he empezado y ya veo algo de luz al final de tunel.

He programado un ejemplo para un mando que tenía por casa de SONY.

#include <IRremote.h>

int RECV_PIN = 11;
IRrecv irrecv(RECV_PIN);
decode_results results;

void setup()
{
  Serial.begin(9600);
  pinMode(ledpin, OUTPUT);
  irrecv.enableIRIn();
}

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

Entonces cuando toco una tecla por ejemplo el 1 del mando aparece en el serial “1A” y ahora lo que me gustaría hacer es algo como que si recibe 1A ponme a 5v el pin 13

El problema es que no tengo ni idea como podría hacerlo pero ninguna de las cosas que he probado a funcinado.

He probado algo así como:
if(results.value == 1A) → pone el pin 13 en HIGH pero nada.

Por que viendo el código que la variable donde se almacena el codigo del botón es la de “results.value” ¿No es así?

Un saludo

Por si a alguien le interesa ya lo he conseguido:

era por que no había caido en lo de que estaba en Hexadecimal.

#include <IRremote.h>

#define LED_UNO 0x1A

int ledpin = 13;
int RECV_PIN = 11;

IRrecv irrecv(RECV_PIN);
decode_results results;

void setup()
{
  Serial.begin(9600);
  irrecv.enableIRIn(); // Start the receiver
}

void loop() {
  if (irrecv.decode(&results)) {
    Serial.println(results.value, HEX);
    irrecv.resume(); // Receive the next value
  }
  if (results.value == LED_UNO){
    digitalWrite(ledpin, HIGH);
    delay(1000);
  }
    else {
      digitalWrite(ledpin, LOW);
    }
}

Un saludo

hola no tendras un esquema electrico gracias