«

»

Diciembre 02

Imprimir esta Enviar

Tutorial: Arduino como transmisor IR o como un mando a distancia

En estos días me tomé un post antiguo: Tutorial Arduino - IR TSOP31238 y me pregunté si era posible otro Arduino enviar señales IR a la primera, tal vez con la misma biblioteca IRremote.h, Bueno, puedes.

Arduino telecomando IR

Usted puede usar la biblioteca irRemote es decodificar las señales de un sensor IR provenineti ( TSOP31238 equivalente) tanto para el envío de señales de infrarrojos a su televisor.

El boceto en este caso son 2, el primero se utiliza para enviar señales, el Andari cargar sull'Arduino derecho (ver figura anterior); el segundo recibe y decodifica, Voy a cargar nmell'Arduino izquierda.

Primo Sketch – envía señales de infrarrojos

Local: el ejemplo se utiliza para la codificación y decodificación de señales como Sony, cada control remoto y el receptor están configurados para codificar / descodificar un segundo común, IR Library ofrece algunas codificaciones estándar: (Sony, Nec, RC5, RC6) y métodos para la codificación / descodificación de tal prima, genérico y se puede codificar y decodificar lo que usted necesita.
También la biblioteca ahora no le permite cambiar el pin de Arduino utiliza para conducir el LED IR, siempre tienes que usar el pin 3 como se muestra en la figura.

Aquí está el esquema de codificación o el envío de:

#incluir <IRremote.h>

IRsend irsend;

void setup() { }

void loop() {
  para (int i = 0; yo < 3; i    ) {
    irsend.sendSony(0xa90, 12); // Sony TV poder código(100);
  }
}

Se analiza la línea de boceto de línea:

línea 01: incluyen la biblioteca IRremote.h, la biblioteca debe estar presente en el mismo directorio que poner el boceto, de lo contrario el IDE podría dar error porque no lo encuentro;

línea 03: inicializa el objeto irsend como una instancia de IRsend, que le permite enviar códigos IR;

línea 05: definir la función disposición() en este caso vacío, recordar que las funciones de configuración() E Loop() siempre debe existir en un boceto y si usted no tiene que hacer nada que pueda declarar vacío, como en este caso;

línea 07: definir una función bucle() en este caso el único para realizar algo en nuestro esquema;

línea 08: definir un ciclo 3 paso (0,1 y 2) en la que para cada paso envía el código definido bajo;

línea 09: envía el código en el estándar de Sony a90, hacerlo utilizando el método sendSony( datos, nBit ) donde fecha es el valor para enviar y NBIT la longitud de la cadena. Hay otros métodos de codificación, como ya he dicho sendNEC, sendRC5 y sendRC6 SendRaw o para el envío de diferentes codificaciones;

línea 10: establece un tiempo de espera de 100 milisegundos entre el envío y la siguiente, de esta manera los códigos enviados no son percibidos por el receptor como un solo tren de señales que pueden perjudicar la correcta decodificación.

Sketch Secondo – recibir señales de infrarrojos

Pasemos ahora al dibujo que se recibe una señal de TSOP31238 convierte nalla cadena decodificada:

#incluir <IRremote.h>

int = RECV_PIN 11;

IRrecv irrecv(RECV_PIN);

decode_results resultados;

void setup()
{
  Serial.begin(9600);
  irrecv.enableIRIn(); // Inicie el receptor
}

void loop() {
  si (irrecv.decode(&resultados)) {
    Serial.println(results.value, HEX);
    irrecv.resume(); // Recibe el siguiente valor
  }
}

línea 01: incluir la vista misma biblioteca sobre IRremote.h, que en esta situación se usan para descodificar la señal desde el transmisor de infrarrojos;

línea 03: a diferencia de la parte de enviar cuando se utiliza el irRemote biblioteca como un receptor puede decidir que pin para conectar el sensor, en este ejemplo se conecta a la clavija 11 y definir la variable entera RECV_PIN con valor 11 (el pasador a la que ha conectado el sensor TSOP31238);

línea 05: inicializa un objeto irrecv como una instancia de IRrecv, RECV_PIN pasando la variable que establece el pin en el que esperar a que la decodificación de señal;

línea 07: definir una variable resultados en el que se rellena con los resultados de decondifica realizadas por irRemote;

línea 09: definir la función disposición() en este caso dispone de las operaciones muy precisas que se deben realizar para inicializar la comunicación serie con el monitor y activar la recepción de;

alinear un 11: inicializa una comunicación en serie a 9600 baudios con la cpmpure a la que está conectado Arduino;

línea 12: con el método enableIRIn() permite la comunicación serial, por esta vez todas las señales recibidas por el receptor IR será decodificada por Arduino;

línea 15: definir la función bucle();

línea 16: entrar en un estado de control basándose en el método descodificar() objeto irrecv, Este método devuelve un valor verdadero en presencia de una señal válida de decodificación. La variable resultados contiene el valor de ser decodificada;

línea 17: Una vez descifrado el valor presentado usted puede utilizar para sus aplicaciones, en este ejemplo utilizando el método println() De serie de este valor se escribirá en la serie del monitor, como enviado es un código hexadecimal, utilizzia una opción de método println() que le permite convertir el valor a escribir ya en la codificación correcta (HEX = Esadecimale);

línea 18: utilizando el método reanudar() el irrecv para poner el receptor en modo de espera de la próxima señal;

Sube procedimiento

Por lo general, esta parte no voy a describir porque está bien documentado en la página web oficial y en este mismo blog, Sin embargo, en este caso, lo invito a hacer es seguir los dos pasos a continuación para crear caos no durante la carga:

  1. Arduino define que utilizará para enviar y para recibir el que;
  2. Tome la primera a la arduino que ha decidido utilizar para el envío y conectarlo al puerto USB;
  3. ejecutar la carga del primer boceto;
  4. acabado 3, desconectar el arduino y conectado al USB una destinada a actuar como un receptor;
  5. ejecutar la carga del segundo boceto;
  6. No desconecte el arduino, pedir LED y frontal del receptor uno al otro como en la figura;
  7. potencia con una batería de 9V o derecho similar de la arduino;
  8. abrir el monitor serie y mirar el código para pintato vídeo.
Arduino telecomando IR

Ubicación de 2 Arduino

Un pequeño truco:

Puesto que usted está usando infrarrojos no serás capaz de ver, son invisibles para el all'ocio humana, por lo que si no leer cualquier valor en el monitor de serie podría ser debido a la falta completa de envío por el LED, para poner a prueba usando una cámara digital común, eso es genial también la del teléfono móvil o la webcam ordenador, enmarcando el LED y la cámara le mostrará si está encendido o apagado, debería ver una secuencia señal intermitente cada 100 milisegundos.

Que se diviertan

Importante!


Por favor NO pegue boceto en los comentarios, utilizar el cuadro de información del blog que se encuentra en la página de contacto.

Advertencia!


Sketches se distribuyen de forma gratuita y sin ninguna responsabilidad.
Al leer este artículo y decidió utilizar el boceto traído usted asume toda la responsabilidad.

Importante!


Este artículo fue útil?
Apoyo mí haciendo clic en los patrocinadores, Puedo seguir adquiriendo material para escribir artículos y ayudarle con sus proyectos.

Con un solo clic por día.

Be Sociable, Participación!

Puestos relacionados

Enlace permanente a este artículo: http://www.mauroalfieri.it / electrónica /-arduino-tutorial-how-to transmisor ir-o-como-telecomando.html

67 comentarios

Ir al formulario de comentarios

  1. fabrizio

    Hola quería saber , puedes insertar este sketch en otros tipos de croquis?Si lo desea, puede hacer?
    Te voy a decir si ya tengo el boceto que encender relé a través de la web y siempre quise crear una web remoto para encender la TV, pero cuando pongo este sketch la ide me genera errores…
    ¿Me pueden ayudar?
    Gracias
    Fabrizio Bianchi

    1. Mauro Alfieri

      Hola Fabrizio,
      con el dibujo que usted puede hacer muchas cosas y se puede integrar, en general, sin problemas.
      Hay algunas bibliotecas que son incompatibles con los otros debido a la utilización de la misma clavija o comandos especiales, pero usted no los conoce antes de intentar.

      Para ayudarle a que sé lo que las bibliotecas que utiliza y los dos primeros errores que vienen, por favor no pegar todo el dibujo y todos los errores xchè yo no entendía nada.

      Mauro

  2. andrea

    Hola Mauro,
    Tengo que encender y apagar un pequeño reproductor multimedia que no tiene botones, pero se puede controlar con el mando a distancia. Mi intención está conectado eléctricamente a los cables del sensor Arduino sin pasar por el receptor de infrarrojos LED transmisor. Si me conecto a un todo Arduino LED emisor IR funciona perfectamente, pero yo quería evitar el uso de LED y ser capaz de comunicarse directamente con el receptor de los cables de sensor. ¿Qué cambios son necesarios?

    gracias y felicitaciones!!

    Andrea

    1. Mauro Alfieri

      Ciao Andrea,
      Su idea es muy interesante.
      Para ello es necesario conocer el patrón de la Media Player, el tipo de señal que envía el aparato receptor de infrarrojos cuando recibe la potencia de la señal, será una secuencia de una especie, y el programa de Arduino para repetir esa secuencia cuando quieras acceder al reproductor de medios de comunicación.

      Sin patrones y las señales no pueden conseguir lo que quieres, teniendo en cuenta también el hecho de que no desea eliminar el receptor con el fin de dar órdenes con el mando a distancia.

      Mauro

  3. Carmelo

    Hola Mauro,
    Quería crear un emisor IR que enviaría la señal para cambiar de canal en el televisor. El problema es que no envía nada. ti mando lo sketch:

    #incluir

    int = RECV_PIN 11;

    IRrecv irrecv(RECV_PIN);
    IRsend irsend;

    decode_results resultados;
    búfer entero sin signo[68]={46653, 180, 88, 11, 11, 13……};

    void setup()
    {
    Serial.begin(9600);
    irrecv.enableIRIn(); // Inicie el receptor
    }

    void loop() {
    si (irrecv.decode(&resultados)) {
    Serial.println(results.value, HEX);
    irrecv.resume(); // Recibe el siguiente valor
    }

    para (int i = 0; yo < 3; i ) {
    irsend.sendRaw(uno,4,38);
    retrasar(200);
    }
    }

    También traté de poner en el búfer de la matriz "" para introducir los valores aprendidos mediante el comando y el prefijo 0x results.value (0xB33B4597, 0xB33B4594, 0×1004849, 0xDE4306F1…).

    En lugar del IR LED añadí uno flashes normales y, con IR LED, sin embargo, no se envía ninguna señal. ¿Cuál puede ser el problema?

    1. Mauro Alfieri

      Ciao Carmelo,
      Me gustaría empezar por la creación de un boceto que se enfrentan a una sola operación, enviar el recv, no dos, como lo hizo en el boceto del sexo.
      No me aclaro la cadena: irsend.sendRaw(uno,4,38); búfer usi paloma?

      Mauro

  4. Carmelo

    en lugar de un tampón debe escribirse:

    irsend.sendRaw(amortiguar,68,38); //cadena correcta

    Yo había creado varias matrices con los códigos de los distintos comandos, pero sería inútil para publicarlos todos, así que me fui solo una llamada búfer como un ejemplo y me olvidé de cambiar el nombre de la cadena.

    He creado un dibujo que se ocupa sólo enviar la señal, pero el problema persiste. Pensé que podría hacer que el LED es ir atrapado utiliza de manera, después de comprobar el funcionamiento de un control remoto de un viejo reproductor de DVD, Me quité el LED y reemplacé el utilizado anteriormente, sin resultado.

    Los componentes han sido relacionados con Arduino en la forma que se indica en el diagrama de.

    El dibujo se rellena correctamente no riseco entender cuál es el problema.
    Como he escrito, he sustituido el IR LED con una normal y se puede ver que destella (claramente no envía ninguna señal), entonces el conjunto creo que funciona, con IR LED, sin embargo, no hay nada succcede, No se cambia de canal.

    1. Mauro Alfieri

      Ciao Carmelo,
      la forma de escribir del todo correcto Sebra, trate de comprobar con otro arduino y una IRreciver si lo que usted envía es la primera correttamete entendido por secodo.
      Los problemas que está experimentando podrían deberse a una interpretación incorrecta del código enviado.
      Si resuelve hacernos participantes, Me gustaría saber que usted tiene éxito en.

      Mauro

  5. stefano

    Buenas tardes

    Me gustaría saber si este script funciona con Arduino Mega 2560 y con el mismo puerto 3 Hice algunas pruebas y no puedo conseguir que funcione Yo no envié ninguna señal

    gracias

    1. Mauro Alfieri

      Hola Stefano,
      Todavía no he probado en Mega un'arduino, Sin embargo, el lenguaje de programación es el mismo entre A y número de pin del cambio y el uso del puerto Mega.
      Es probable que tenga que adaptarse.

      Mauro

  6. Marino

    ¡Hola ;)
    Quería preguntarte una cosa que yo no entendía :
    tu dici che “IR Library ofrece algunas codificaciones estándar: (Sony, Nec, RC5, RC6) y métodos para la codificación / descodificación de tal prima” pero estoy teniendo un televisor LG ¿qué debo usar y cómo debo modificar el script de arriba : irsend.sendSony(datos, nBit );
    y al final yo no entendía lo que significa Nbit basado en lo que el elegido 12 enviar a a90??
    Gracias de antemano :D

    1. Mauro Alfieri

      Ciao Marino,
      cada fabricante utiliza su propio código remoto, incluso a veces diferente de modelo a modelo.
      La biblioteca de IR ya ha establecido una serie de codificaciones y le proporciona los métodos sendSony tipo a utilizar para la codificación insertada.

      Si tiene un control remoto de LG y no es de ninguna codificación ya establecido, puede utilizar la fila métodos ( enviar() e leído() ) para enviar y leer los códigos del mando a distancia, pero usted tendrá que escribir el código, Lo hice por las teclas 0-9 Mi Samsung.

      En el artículo no está escrito cómo hacerlo.

      Mauro

  7. davide

    ¡Hola! :) Mientras tanto, felicidades por tu blog. Siempre he muchos artículos interesantes y bien hechas! Me gustaría preguntarte algo. Vi que en el mercado hay muchos receptores de IR. son todos pueden utilizarse con esta biblioteca, o simplemente lo que usted ha indicado que usted trabaja? y el transmisor? debe ser cualquier IR LED?
    gracias de antemano!

    1. Mauro Alfieri

      Hola David,
      He intentado sólo con los dos receptores IR se describen en.
      Usted debe consultar la hoja de datos del receptor que, en Internet son, y verifique que el tipo de señal de salida es compatible.

      Alternativamente, se puede modificar el IR biblioteca o encontrar una biblioteca para el receptor de infrarrojos.

      Mauro

  8. Domenico

    Hola Mauro, Probé el siguiente esquema.
    Pero yo no entiendo lo que es el puerto de salida al que conectar el LED infrarrojo visto que 12 Nbit se envía la cadena………….?

    #incluir
    IRsend irsend;
    void setup() { }
    void loop()
    {
    para (int i = 0; yo < 3; i )
    {
    irsend.sendSony(0xa90, 12); // Sony TV cable de alimentación de retardo(100);
    }
    }

    1. Mauro Alfieri

      Hola Domenico,
      usted puede encontrar el pasador que conecta el LED IR en el diagrama anterior, iPod pin 3 resistencia a través apropiada.
      El de no se puede elegir en el boceto se encuentra en la biblioteca.
      Si quería tener que hacerlo en la biblioteca de intercambio IrRemote.

      Mauro

  9. Domenico

    Lo’ posible, o demasiado difícil, utilizando por Arduino TX, formar su propio código personal y luego Nbit
    Por lo tanto una decodificación complementaria en’ Arduino RX?
    ¿Dónde podría encontrar los materiales de capacitación para este farer?
    Así, la adquisición de una temperatura(decir 8 bit) podría transmitir a un receptor
    utilizando la transmisión por infrarrojos.

    1. Mauro Alfieri

      Hola Domenico,
      idea bella !!!
      Te aconsejo que estudie los protocolos de comunicación y codificaciones IR, Probablemente es que usted tiene que salir de ellos para obtener su código personal.

      Mauro

  10. alessio

    hola mauro, He descargado la biblioteca IrRemote, biblioteca que le permite comunicarse dos Arduino a través de su proyecto por encima de.
    Quería hacerte una pregunta: Estoy utilizando TSOP2236 IR, a continuación, algo cambia en el transcurso del experimento? También cuando abro IRsendDemo de la biblioteca y tratar de compilarlo, aquí está por debajo:

    #incluir

    IRsend irsend;

    void setup()
    {
    Serial.begin(9600);
    }

    void loop() {
    si (Serial.read() != -1) {
    para (int i = 0; yo < 3; i ) {
    irsend.sendSony(0xa90, 12); // Sony Código de alimentación de la TV
    retrasar(300);
    }
    }
    }

    me da este error y no puede averiguar qué hacer. Para el caso podría haber un problema con la biblioteca que no se ha aplicado bien? He puesto en el directorio donde pongo todos los bocetos, continuando a darme este error

    IRsendDemo:11: error: 'IRsend' no se designase un tipo
    IRsendDemo.ino: En la función 'void loop()':
    IRsendDemo:21: error: 'Irsend' no se declaró en este ámbito

    Gracias por la ayuda
    Alessio

    1. Mauro Alfieri

      Hola Alessio,
      la biblioteca parece haber sido escrito para el IDE 0022 Arduino, puede no funcionar en versiones posteriores del IDE.
      El error que los artículos I podrían ser causados ​​tanto por la versión IDE es incorrecta instalación de la biblioteca en su IDE.

      Trate de verificar la compatibilidad de su biblioteca con el IDE y leer un tutorial sobre cómo instalar una biblioteca en Arduino.

      Mauro

  11. alessio

    hola mauro, ya que no son capaces de resolver este problema, Quería preguntarle si usted sabe de un código que me permita comunicarme dos arduini a través de infrarrojos y el receptor, como se muestra en la figura sin sacar provecho de la biblioteca IrRemote! ¡gracias!

    1. Mauro Alfieri

      Hola Alessio,
      librerías que ayudan mucho, si estos no se utilicen tienes que escribir todo de 0 y, francamente, me parece muy complejo que el simple uso de una biblioteca.

      Si este no es el caso, puedes buscar otro que controla IR Tx y Rx

      Mauro

  12. alessio

    hola mauro, Así que mientras tanto, gracias por las respuestas y te dicen que lo resolví por suerte, y estoy muy feliz. Así que traté de su proyecto por encima y funciona muy bien, Me gustaría hacerte una pregunta:
    Si quisiera utilizar más de una señal de infrarrojos LED infrarrojos para enviar y luego más de un receptor para ser capaz de leer y recibir, cambiaría como las conexiones? es decir, a la que pude conectar el pin? ¿cómo podría cambiar el código??? Le doy las gracias por adelantado
    alessio

    1. Mauro Alfieri

      Hola Alessio,
      Nunca he intentado conectar más LEDs con diferentes códigos y el envío de su experimento es interesante.
      Dudo que el IrRemote biblioteca no permite el control simultáneo de múltiples emisores.

      Si usted hace una prueba que me gustaría compartir y publicar el resultado.

      Mauro

      1. alessio

        hola mauro, Miro por la noche me intento conectar múltiples LEDs infrarrojos, pero tener un solo receptor. Sin embargo, la biblioteca le permite usar un pin, es decir, el pasador 3! Ahora vamos a ver lo que puedo hacer. Una cuestión.
        Cuando conecto los dos arduini y abro el monitor serie que recibe dell'arduino, Veo los códigos que aparecen en pantalla numéricos que cambian de acuerdo a la distancia. Por uno frente al otro LED que envía y recibe el receptor a una distancia de unos pocos centímetros, ayer me pasó a mí que, como resultado del monitor serie me salió el resultado en código A90 numérico constante. Lo’ normal a ser tan? porque hablar con mi profesor de la universidad con la que estoy haciendo una pasantía(Arduino precisamente) me dice que podría ser un error de comunicación y para comprobar si hay un protocolo que se utiliza en algún control que prevé la igualdad de CRC o algo así! mmm ¿qué piensas?

        1. Mauro Alfieri

          Hola Alessio,
          Yo no soy un profesor, y creo que su profesor puede estar en lo cierto, otra hipótesis que viene a la mente es que la influencia de la luz ambiental influye en el intercambio de códigos.

          Trate de hacer una prueba con un máximo de luz natural o sin luces de neón o el ahorro de energía.

          Mauro

  13. alessio

    excusar mauro otra cosa, Me he dado cuenta de que a lo largo del 15 pulgadas entonces mi receptor captar señales infrarrojas más. Hay una manera de aumentar o la potencia de la señal o la distancia de transmisión comuqne? al menos para llegar a 2-3 metros?

    1. Mauro Alfieri

      Hola Alessio,
      el mando a distancia del televisor para aumentar el radio utilizando múltiples emisores LED en paralelo, por lo general dos.
      Si los pone también hay que pensar en un circuito de alimentación adecuada, porque más LEDs pueden absorber demasiado por el pin arduino.

      Mauro

  14. alessio

    Hola mauro, para el problema de las distancias que resuelto con poner un poco más de la resistencia en el dell'arduino proyecto que envía señales, es decir, me he comprado una resistencia 20 ohmios, y el resultado fue que ahora puedo llegar a buen recaudo con 5-6 metros y mi receptor recoge la señal sin problema. Ahora voy a probar el problema de las distancias, es decir, el código numérico que me da valores constantes sólo cuando son atacados. hacerle saber. gracias de nuevo por la aiiuto

    1. Mauro Alfieri

      Hola Alessio,
      buena idea para reducir la resistencia, Moneda así el valor como una función de la tensión de alimentación del diodo LED y voltios aplicados para no arriesgarse a lo largo del tiempo para quemar el emisor LED :-)

      Mauro

  15. Alex

    Hola Mauro,
    Me he dado cuenta y experimentado el boceto y todo funciona, incluso con la TV. Pero. no son capaces de hacer un uso práctico por estas razones.
    Se produce la señal de emisión sólo se alimenta el circuito, mientras que sería necesario para disparar con una entrada (botón u otro de entrada analógica). Además, la señal de emisor repite a la perfección. Televisores de Sony en el comando A90 tiene valor OFF a ON, sino también cuando el televisor se enciende y apaga continuamente.
    A partir de este ya habrá deducido mis límites en términos de programación.
    Si no es demasiado pedir educadamente que si usted me puede dar sugerencias para solucionar el problema, tal vez mediante la inserción de la posibilidad de utilizar un par de claves adicionales para más comandos.
    Mientras tanto, os doy las gracias por todo lo que has aprendido hasta ahora de tu blog y también por lo que puede responder a estas preguntas acerca.
    Con admiración
    Alex

    1. Mauro Alfieri

      Ciao Alex,
      Le sugiero que lea algunos artículos sobre el uso de los botones y le agregará un control con botones es bastante simple.

      Mauro

  16. Gianni

    Hola tengo una pregunta…
    Me decodificado el mando a distancia con el código crudo..
    para el emisor de infrarrojos,

    1. Ho comprato l'emisor IR (Transmisor) pero la resistencia de muchos watts? y cuántos ohmios?
    2. ¿Tengo que conectar el emisor de infrarrojos en un pin específico?
    GRACIAS!!

    1. Mauro Alfieri

      Hola Gianni,
      He utilizado un resistor 470ohm, como se puede ver a partir de los colores de la imagen.
      Para el pin de Arduino, si no recuerdo mal, IrRemote utiliza el pin de la biblioteca 3 como emisor y no le permiten elegir el pin.

      Mauro

      1. Gianni

        ¡Gracias por haber respondido… ma O sin problemone…
        Me decodificado el mando a distancia para el aire acondicionado ariston. Yo no escribo todo, Cómo saber si usted me puede ayudar? aquí está..
        http://forum.arduino.cc/index.php?topic=187145.msg1395966#msg1395966

        1. Mauro Alfieri

          Hola Gianni,
          probarlo varias veces a partir de la decodificación a distancia original y verificar que los códigos son siempre idénticos.

          Mauro

      2. Gianni

        Lo sentimos duplicar comentario pero dudo el brillo del LED porque cuando voy a consultar con la cámara, el LED se encienda su más mientras que el Arduino menos… (credo… Yo no diría una mierda)
        entonces el arduino cuando se envía la señal es la mitad de un segundo mientras que el mando a distancia.. y el LED se apaga…asesoramiento??

        1. Mauro Alfieri

          Hola Gianni,
          el brillo del LED identifica sólo la distancia recorrida por la señal de impulso y la calidad percibida del acondicionador de aire.

          Se puede variar la intensidad de la luz mediante la reducción de la resistencia de la conexión, si su LED tiene notas de alimentación específicos, lectura no es siempre, se puede calcular la resistencia a la ley de Ohm.

          Mauro

          1. Gianni

            Hola gracias por tu respuesta… el siguiente problema es el siguiente… el boceto debe ser aceptable, teniendo una cámara no puede ver la transmisión IR LED… lo único es que no pasa nada.. Liderados por el aire acondicionado es un metro y medio.. Traté de ponerlo también en 50 cm es niente…

            He un LED con una resistencia 470 ohm como dijiste..

            No sé qué hacer… la única pregunta es la siguiente:

            Cuando trato de encender el aire acondicionado con el mando a distancia, el LED se mantiene estable durante un segundo… pero cuando intento con restos arduino fijos por medio segundo… No sé si depende de lo que… ¿podría decirme algo al respecto?

          2. Mauro Alfieri

            Hola Gianni,
            evidencia para apoyar el emisor al aparato de aire acondicionado por lo que evitar incluso la posible corrupción de la señal de luces o luces al aire libre a su proyecto.

            Mauro

  17. Gianni

    Hola y gracias.. entonces tal vez me encontré con el problema…
    si nos fijamos en esta foto: http://imagebin.org/271373

    es el código
    8587774C
    Codificación desconocida: 8587774C (32 Bits)

    la primera con la última… pero todos los números de la serie son diferentes… Yo siempre lo he hecho.. EN – OFF.. ON OFF..
    soluciones?

  18. Gianni

    el problema es que a mí cada vez cuando voy a un código distinto prima leer con recvDump… y no puedo con razón ponerlo en marcha…

    soluciones?

    1. Mauro Alfieri

      Sé Gianni, es la parte más difícil del reconocimiento de códigos.
      La única técnica eh sabe es tratar de volver a intentarlo hasta que encuentre el código más similares y recurrentes.

      Mauro

  19. Gianni

    Bueno, yo traté de encender un televisor samsung que es rawcode sendSamsung() y las obras, pero el aire acondicionado no quiere… No sé si estoy frecuencia incorrecta… transmitir a 38Khz… ¿tiene algún consejo para mí?

    1. Mauro Alfieri

      Hola Gianni,
      su prueba con un televisor Samsung y la codificación correcta indica que el circuito y las obras de dibujo.
      El acondicionador de aire puede no funcionar a 38Hz o codificación es incorrecta.

      Mauro

      1. Gianni

        hola yo asumo que la codificación es incorrecto… lo que podría ser?
        Intenté 12 a continuación, por 34 un 40

        1. Mauro Alfieri

          Hola Gianni,
          por desgracia no son números que se puede adivinar, no son más que el resultado de las pruebas y test para incluir la secuencia correcta.

          Mauro

          1. Gianni

            Hola y ver con qué frecuencia usted tiene una guía de trabajo?
            ¿Cuánto tiempo puede oscilar de frecuencia? No creo que hasta 330MHz :\ así que evita que probarlas todas

          2. Mauro Alfieri

            Hola Gianni,
            Desafortunadamente no tengo una guía para sugerir.

            Mauro

  20. alessio

    Hola mauro, Ellos alessio, He escrito antes en este blog. Me gustaría preguntarte algo: Tengo que enviar los mensajes ( textual, también mediante una matriz) de mi arduino TX ( que transmite la señal cruzado LED infrarrojo) mi segundo RX arduino (Tengo un receptor que recibe estas señales TSOP IR). ¿Cómo puedo hacer? Estoy usando el Arduino Arduino Uno son tanto. He implementado una biblioteca para los errores de paridad, La biblioteca de CRC, pero no saben cómo resolver el problema de enviar un mensaje de otro arduino. es decir, si yo escribo una ”¡hola” en el primero de Arduino, el segundo tendrá que leer en su monitor serie.
    Gracias por la ayuda
    Alessio

    aquí está el comentario como usted pidió

    1. Mauro Alfieri

      Hola Alessio,
      la biblioteca que ha implementado maneja el envío de cadenas de texto a través de la IR?

      Mauro

      1. alessio

        hola mauro, entonces la biblioteca CRC fue creado por un usuario, y creo que maneja el envío de cadenas a través de infrarrojos. Pero la biblioteca IrRemote per se no permite que lo haga? porque la biblioteca que sólo serviría para controlar los errores de CRC durante la transmisión. mirada que yo encontré este código en tu blog arduino, y voy a poner aquí en la descripción, Lo intenté, pero parece no trabajar. ¿Se puede entender por qué? Voy a enlazar directamente a la página sin tener que copiar todo el código.

        http://forum.arduino.cc/index.php/topic,10555.0.html

        aquí aquí.
        Espero que para resolver este problema! hasta pronto
        alessio

        1. Mauro Alfieri

          Hola Alessio,
          Sé que el IrRemote no es capaz de enviar cadenas, simplemente codifica señales de IR para los mandos a distancia más comunes.
          Para el boceto que vas a encontrar los invito a escribir en el foro que se encuentra con errores.

          Seguramente el autor puede ayudarle a usted ya cuenta con una mayor experiencia en su programa.

          Mauro

  21. Nicola

    Hola Mauro, Entré hace poco en el mundo de las señales infrarrojas con Arduino.Ho creado un pequeño sistema con un receptor TSOP4838 , que recibe señales de un control remoto de Sony . El sistema es muy básico, o recibe la señal , Hex descodifica y lo muestra en la serie del monitor, en la práctica es sólo una parte de la recepción del citado proyecto.. Sin embargo, me di cuenta de que con la presión ” común” di y Sabor, es decir, la misma que Imprimo para cambiar un canal de TV, el sistema muestra a cabo varias veces el valor correspondiente. Pensé en hacer una especie de circuito antirrebote al leído , ya que tendría que incluir secuencias de 3 cifras, Sin embargo, yo no sé si usted puede hacerlo utilizando sólo los métodos de la IrRemote biblioteca o si tengo que mover el trabajo a otro plano ( Por ejemplo, inserte un pequeño retraso en la lectura de la señal). ¿Me puede dar un consejo?

    1. Mauro Alfieri

      Hola Nicola,
      como es posible que haya leído o señales IR experimentados son “treni de onda” es decir, se envía la secuencia de los códigos de cada tecla para repetir todo el tiempo en el que mantener el botón presionado.
      En su control remoto, probablemente presionando el botón genera varias veces para enviar la señal.

      Ciertamente tendrá que implementar un bosquejo cara del sistema de control.

      Mauro

  22. marco

    Felicidades por el artículo, Soy un tipo que acaba de empezar con Arduino y no entiendo por qué en el primer boceto que generan estos errores:
    sketch_mar12a:5: error: 'IRrecv’ no se designase un tipo
    sketch_mar12a:7: error: 'decode_results’ no se designase un tipo
    sketch_mar12a.ino: En función void setup '()':
    sketch_mar12a:12: error: 'Irrecv’ no se declaró en este ámbito
    sketch_mar12a.ino: En función void loop '()':
    sketch_mar12a:16: error: 'Irrecv’ no se declaró en este ámbito
    sketch_mar12a:16: error: 'Resultados’ no se declaró en este ámbito
    son errores probablemente triviales, pero no puedo encontrar la solución.
    gracias

    1. Mauro Alfieri

      Hola Marco,
      si usted lee el artículo con cuidado, usted encontrará que la biblioteca se describe IrRemote debe descargarlo de la web e instalarlo en Arduino.
      Tenga en cuenta que usted no puede encontrar la versión del IDE para IrRemote 1.0 o superior y tendrá que editarlo para ajustarse a su versión del IDE.

  23. tipo

    Hola Mauro,
    Quería preguntarte algo,
    con este proceso( e boceto de esquema Intento ) es posible crear un dispositivo que podría enviar, evidentemente, con el código de Arduino recibido en el comando a través de infrarrojos para controlar la televisión y más?

    1. Mauro Alfieri

      Ciao individuo, Yo no entendía la solicitud.

  24. Yaxit

    ¡Hola, Me resulta muy útil su guía, MA Ho un problema: el receptor me dice diferentes códigos hexadecimales cada vez, aunque pulse el mismo botón en el mando a distancia… Ahora, ya que tendría que tener señales iguales para crear un control remoto de un coche de juguete de control remoto, ¿tiene usted alguna idea de cómo resolver?
    PS: Puse una resistencia 2000 ohmios entre 5v y el sensor, que este es? No me quiero quemar eso es lo último que queda.
    Hola y gracias 1000!

    1. Mauro Alfieri

      Ciao Yaxit,
      usted puede estar seguro de utilizar un mando a distancia compatible con el iRemote biblioteca?
      A veces, problemas similares se deben a una mala interpretación de los códigos emitidos por el mando a distancia.

      Considera también que la señal IR está constituido por un tren de pulsos y estos pueden causar lecturas anómalas.

      1. Yaxit

        De hecho, el problema fue causado por la resistencia. Confirmo que funciona mal y puesta en 5V benisismo!
        Despedida!

        1. Mauro Alfieri

          Gracias Yaxit confirmación.

  25. Mateo

    ¡Hola! Quería hacerte una pregunta.. Hice este circuito, pero la magnitud de los LED es realmente ridículo (1 m sobre) En este momento se me ocurrió que podía conducirlo a través del transistor con el fin de cruzar una corriente de aproximadamente 80 mA LED, pero una vez que la ejecución del proyecto, estoy de acuerdo en que la biblioteca lleva el PWM y el ir transistor en vez está conectado a un pin digital cualquier Arduino!
    ¿Cómo puedo solucionar este problema? Gracias de antemano!

    1. Mauro Alfieri

      Hola Mateo,
      puede reemplazar el transistor con un MOSFET o de otro tipo de controlador LED de modo que utilice el PWM para modular la señal y proporcionar 80mA necesaria para su LED.

  26. AntonioG

    Buenas noches Mauro, gran guía, pero tengo alguna pregunta que hacer, modificar ligeramente el propósito de la transmisión de IR.
    En la práctica, tengo la necesidad de utilizar los sensores y transmisores IR (dirigido e fototransistor, exactamente el TCRT5000L), como los botones, pero ansichè analizar el estado de alta o baja (que puede crear ambigüedad en un proyecto real, no excluir a la falla de un sensor) Me gustaría transmitir un tren de bits en serie (suficiente incluso 2 byte) para ser leído por otro Arduino que posee el receptor (pero si hubiera podido leer los datos, al mismo arduino sería aún mejor) en la práctica una especie de control remoto de transmisión irda-receptor pero sin modulaciones.
    Lo’ possibilile aunque que ninguna gran dificultad?
    Gracias, Espero sus respuestas.

    1. Mauro Alfieri

      Ciao Antonio, Nunca he experimentado esta técnica, usted debe tratar de. Si el fi me gustaría compartir tu experiencia con otros fans del blog.

Deja un comentario

Su dirección de correo electrónico no será publicada. Los campos necesarios están marcados *

Puedes utilizar las siguientes etiquetas y atributos HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>