«

»

Diciembre 02

Imprimir esta Mensaje

Tutorial: Arduino como un transmisor o el control remoto IR

Estos días he tenido una vieja entrada del blog: Tutorial Arduino - IR estafa TSOP31238 y me pregunté si era posible que otros señales Arduino enviar IR a la primera, tal vez con la misma IRremote.h biblioteca, Bueno, puedes.

Arduino telecomando IR

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

El boceto en este caso son 2, el primero se utiliza para enviar señales, va a ir el derecho a cobrar sull'Arduino (véase el gráfico más arriba); la segunda de recepción y decodificación, Voy a cargar nmell'Arduino izquierda.

Primo Sketch – envía señales IR

Locales: el ejemplo se utiliza tanto para la codificación de señales de decodificación como Sony, Cada transmisor y el receptor están configurados para codificar / decodificar de acuerdo a una base común, Biblioteca IR ofrece algunas codificaciones estándar: (Sony, No, RC5, RC6) y los métodos para la codificación / decodificación de dicha prima, genérico y se puede codificar y decodificar lo que necesita.
También la biblioteca hoy no permite variar el pin de Arduino utiliza para conducir los LED IR, Es necesario utilizar siempre el pasador 3 como se muestra en la figura.

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

#incluir <IRremote.h>

IRsend irsend;

void setup() { }

void loop() {
  para (int i = 0; i < 3; i   ) {
    irsend.sendSony(0xa90, 12); // Sony Código de alimentación del televisor
    retraso(100);
  }
}

Analizamos la línea de boceto de línea:

línea 01: Incluya la biblioteca IRremote.h, la biblioteca debe estar presente en el mismo directorio donde se pone el boceto, de lo contrario el IDE podría darle error porque no puede encontrar;

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

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

línea 07: Definir una función bucle() en este caso el único para llevar a cabo algo en nuestro boceto;

línea 08: definir un ciclo 3 paso (0,1 y 2) donde para cada paso envía el código define a continuación;

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

línea 10: establece un tiempo de espera de 100 milisegundos entre el envío y la próxima, de esta manera los códigos enviados no son percibidos por el receptor como un solo tren de señales que pueden poner en peligro el correcto descifrado.

Boceto Secondo – recibir señales de infrarrojos

Pasemos ahora al boceto que se recibe una señal de TSOP31238 convierte nalla decodificado cadena:

#incluir <IRremote.h>

int RECV_PIN = 11;

IRrecv irrecv(RECV_PIN);

resultados decode_results;

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 misma vista de la 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 al utilizar el IrRemote biblioteca como un receptor puede decidir qué terminales para la conexión del sensor, en este ejemplo conectarlo a la clavija 11 y definir la variable de número entero RECV_PIN con los valores 11 (el pasador a la que ha conectado el sensor TSOP31238);

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

línea 07: definir una variable resultados que se incluirán en los resultados de decondifica realizadas por IrRemote;

línea 09: Definir la función configuración() en este caso tiene operaciones precisas para llevar a cabo para inicializar la comunicación con el monitor de serie y activar la recepción;

línea de un 11: inicializa una comunicación en serie a 9600 baudios con cpmpure que está conectado Arduino;

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

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

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

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

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

Cómo subir

Por lo general, esta parte no describirlo porque está ampliamente documentado en la web oficial y en este mismo blog, Sin embargo, en este caso, ¿cómo se llama a hacer es seguir los dos pasos simples abajo para No crear caos durante la carga:

  1. Defina lo que usted va a utilizar Arduino para enviar y para recibir;
  2. Tome primero el arduino que ha decidido utilizar para enviar y conectarlo al USB;
  3. ejecutar la carga del primer boceto;
  4. terminado 3, desenchufe el arduino y se conecta al USB una intención de actuar como receptor;
  5. ejecutar la carga del segundo boceto;
  6. No desconecte el arduino, pedir LED y el receptor uno frente al otro como en la figura;
  7. se alimenta con una batería de 9V o derecho similar de la arduino;
  8. abrir el monitor de serie y mirar el código pintato un video.
Arduino telecomando IR

Posición del 2 Arduino

Un pequeño truco:

Puesto que usted está usando infrarrojos, usted será capaz de verlos, son invisibles para el all'ocio humana, así que si usted no lee ningún valor en el monitor serie podría ser debido a la completa falta de envío por el LED, para probar que el uso de una cámara digital común, eso es genial también que el teléfono móvil o la webcam de la computadora, enmarcando el LED y la cámara le mostrará si está encendido o apagado, usted debe verlo parpadear con una secuencia de señales de cada uno 100 milisegundos.

Divertirse

Importante!


Por favor NO pegue boceto en los comentarios, Utilice el cuadro de información del blog que usted puede encontrar en la página de contacto.

Advertencia!


El boceto se distribuye de forma gratuita y sin ninguna responsabilidad.
La lectura de este artículo y decidió utilizar el boceto trajo usted asume toda la responsabilidad.

Importante!


Usted ha sido útil este artículo??
Apoyo a mí haciendo clic en patrocinadores, Voy a ser capaz de seguir adquiriendo material para escribir artículos y ayudarle en sus proyectos.

Con un solo clic de un día.

Be Sociable, Compartir!

Enlace permanente a este artículo: http://www.mauroalfieri.it/elettronica/tutorial-arduino-as-transmisor-ir-o-llegado-telecomando.html

67 comentarios

Ir al formulario de comentarios

  1. fabrizio

    Hola quería saber , Usted puede insertar este bosquejo en otros tipos de boceto?Si lo desea, puede hacer?
    Voy a decirte si ya tengo el boceto que enciendo el relé a través de la web y quería crear una red a distancia para encender siempre en la TV, pero cuando inserto esto me dibuje la ide genera errores…
    Me puedes ayudar?
    Gracias
    Fabrizio Bianchi

    1. Mauro Alfieri

      Hola Fabrizio,
      con el boceto se pueden hacer muchas cosas, y usted puede integrarlos, en general, sin problemas.
      Hay algunas librerías que son incompatibles con los otros debido al uso de la misma aguja o comandos especiales, pero no se puede saber antes de que usted ha intentado.

      Para ayudarle a que sé lo que las bibliotecas que está utilizando y los dos primeros errores que te encuentras, por favor no pegue todo el dibujo y todos los errores xchè Yo no podía entender nada.

      Mauro

  2. andrea

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

    gracias y felicitaciones!!

    Andrea

    1. Mauro Alfieri

      Ciao Andrea,
      Su idea es muy interesante.
      Para lograr que usted tiene que conocer el patrón de la Reproductor de Medios, 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.

      Sin los patrones y las señales de que es imposible conseguir lo que quieres, teniendo en cuenta el hecho de que usted no querrá quitar el receptor sea capaz de dar órdenes utilizando 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 boceto:

    #incluir

    int RECV_PIN = 11;

    IRrecv irrecv(RECV_PIN);
    IRsend irsend;

    resultados decode_results;
    tampón unsigned int[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; i < 3; i ) {
    irsend.sendRaw(uno,4,38);
    retraso(200);
    }
    }

    También traté de poner en la matriz "buffer" para insertar valores aprendidos mediante el uso de la results.value mando y anteponiendo 0x (0xB33B4597, 0xB33B4594, 0×1004849, 0xDE4306F1…).

    En lugar del IR LED he insertado una normal, y el flash, con led ir, sin embargo, no se envía ninguna señal. ¿Cuál podría ser el problema?

    1. Mauro Alfieri

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

      Mauro

  4. Carmelo

    en lugar de un tampón debe ser escrito:

    irsend.sendRaw(búfer,68,38); //cadena correcta

    Yo había creado varios arrays con los códigos de los distintos comandos, pero sería inútil para publicarlos todos, así que sólo fui uno llamado tampón como un ejemplo y me olvidé de cambiar el nombre de la cadena.

    He creado un boceto que sólo se ocupa de enviar la señal, pero el problema persiste. Pensé que podría causar queda atrapado el LED IR utilizado hasta, después de probar el funcionamiento de un control remoto de un viejo reproductor de dvd, Me quité el led y reemplacé el utilizado anteriormente, ningún resultado.

    Los componentes se han relacionado con arduino en la forma que se indica en el diagrama.

    El boceto se rellena correctamente no riseco entender cuál es el problema.
    Como he escrito, he sustituido el led ir con uno normal y se puede ver que parpadear (claramente no envía ninguna señal), entonces creo que todas las funciones, con IR LED, sin embargo, no succcede nada, No se cambia de canal.

    1. Mauro Alfieri

      Ciao Carmelo,
      cómo escribir sebra todo correcto, tratar de comprobar con otro arduino y un IRreciver si lo que usted envía es la primera correttamete entendido por secodo.
      Los problemas que está experimentando podría deberse a una interpretación incorrecta del código enviado.
      Si resuelve, nos convierte en partícipes, Me gustaría saber que usted tiene éxito en.

      Mauro

  5. stefano

    Buena noches

    Me gustaría saber si este script trabajará 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 la misma entre A y número de cambio de pin Mega y el uso de puertos.
      Es probable que tenga que adaptarse.

      Mauro

  6. Marino

    Hola ;)
    Quería preguntarte algo que yo no entendía :
    usted dice que “Biblioteca IR ofrece algunas codificaciones estándar: (Sony, No, RC5, RC6) y los métodos para la codificación / decodificación de dicha 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 no he entendido lo que significa nBit de acuerdo a lo que él ha elegido el 12 enviar a90??
    Gracias de antemano :D

    1. Mauro Alfieri

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

      Si tiene un control remoto LG y no es de ninguna codificación ya se ha 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 hacer.

      Mauro

  7. david

    Hola! :) Mientras tanto, felicidades por el blog. Siempre he muchos artículos interesantes y bien hecho! Me gustaría preguntarte algo. Vi que en el mercado hay muchos receptores IR. son todos utilizables 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,
      Solo he probado con los dos receptores IR están descritas en.
      Usted debe consultar la hoja de datos del receptor le, en Internet hay, y verifique que el tipo de señal de salida es compatible.

      Alternativamente, usted puede modificar el IR biblioteca o encontrar una biblioteca para su receptor IR.

      Mauro

  8. Domenico

    Hola Mauro, Traté su dibujo de abajo.
    Pero yo no entiendo lo que es el puerto de salida al que conectar el LED infrarrojo visto que 12 cadena nBit se envía………….?

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

    1. Mauro Alfieri

      Hola Domenico,
      encontrar el pasador que conecta el LED IR en el diagrama anterior, iPod pin 3 resistencia a través apropiada.
      La de usted no puede elegir en el boceto se encuentra en la biblioteca.
      Si quisiera Cambiario que tienes que hacer en la biblioteca IrRemote.

      Mauro

  9. Domenico

    E’ posible, o demasiado difíciles, utilizando por Arduino TX, formar su propio nBit código personal y después de
    Por lo tanto una decodificación complementaria sobre’ Arduino RX?
    ¿Dónde podría encontrar los materiales de capacitación para este farer?
    De este modo, la adquisición de una temperatura(decir 8 bit) podría ser transmitido a un receptor
    utilizando la transmisión por infrarrojos.

    1. Mauro Alfieri

      Hola Domenico,
      idea bella !!!
      Te aconsejo que estudies los protocolos de comunicación y codificaciones IR, probablemente de los que hay que empezar a darse cuenta de 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 usando IR TSOP2236, entonces algo cambia en la realización 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; i < 3; i ) {
    irsend.sendSony(0xa90, 12); // Sony Código de alimentación del televisor
    retraso(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, continua para darme este error

    IRsendDemo:11: error: 'IRsend' no se designase un tipo
    IRsendDemo.ino: En la función 'bucle vacío()':
    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 de la IDE.
      El error que envío podría ser causada tanto por la versión IDE es por una incorrecta instalación de la biblioteca en su IDE.

      Trate de verificar la compatibilidad de la biblioteca con su 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 un código que me permita comunicarme dos arduini a través de infrarrojos y el receptor como en la figura sin tomar ventaja 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 por otra que controla Tx y Rx a través de infrarrojos

      Mauro

  12. alessio

    hola mauro, Así que mientras tanto, gracias por sus respuestas y le diga que he resuelto, afortunadamente, y estoy feliz. Entonces intenté su proyecto anteriormente y funciona muy bien, una pregunta que le gustaría hacer:
    Si quisiera usar más de un LED infrarrojo para enviar señales de infrarrojos y, por tanto, 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 de antemano
    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 me gustaría compartirlo y publicar los resultados.

      Mauro

      1. alessio

        hola mauro, Miro por la tarde intento conectar múltiples LEDs infrarrojos, pero que tienen un solo receptor. Sin embargo, la biblioteca le permite usar un solo pin, es decir, el pin 3! ahora vamos a ver lo que puedo hacer. Una pregunta.
        Cuando conecto los dos arduini y abro el monitor serie que recibe dell'arduino, Veo los códigos numéricos que aparecen en pantalla que cambian dependiendo de la distancia. Por uno frente al otro LED que envía y el receptor que recibe a una distancia de unos pocos centímetros, ayer me pasó a mí que, como resultado de la serie del monitor Salí el resultado en código A90 numérica de manera constante. E’ normal a ser tan? porque hablar con mi profesor de la universidad con la que estoy haciendo una pasantía(precisamente en arduino) 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é crees?

        1. Mauro Alfieri

          Hola Alessio,
          Yo no soy un profesor, y creo que su maestro puede tener razón, 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 luz natural o al menos sin las lámparas de neón o el ahorro de energía.

          Mauro

  13. alessio

    excusar mauro otra cosa, Me he dado cuenta de que en el 15 centímetros de mi receptor entonces recoge las señales no más infrarrojos. ¿Hay una manera de aumentar o de intensidad de la señal o comuqne la distancia de transmisión? al menos para llegar a 2-3 metros?

    1. Mauro Alfieri

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

      Mauro

  14. alessio

    Hola mauro, al problema de las distancias He resuelto poniendo un poco más de resistencia en el proyecto dell'arduino 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 capta la señal sin problema. Ahora voy a probar el problema de las distancias, que es el código numérico que me da sólo valores constantes 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 a no riesgo en el tiempo para quemar el emisor LED :-)

      Mauro

  15. Alex

    Hola Mauro,
    Me he dado cuenta y experimentado el boceto y funciona todo, incluso con la TV. Pero.. no son capaces de hacer uso práctico por estas razones.
    La señal de emisión se produce tan pronto como se enciende el circuito, mientras que sería necesario para disparar con una entrada (botón u otro de entrada analógica). Por otra parte la señal de emisor repite a la perfección. En los televisores Sony A90 tiene el valor del comando ON OFF, sino también cuando el televisor se enciende y apaga continuamente.
    De este ya habrá deducido mis límites en términos de programación.
    Si no es demasiado Me pido amablemente si usted me puede dar sugerencias para solucionar el problema, quizás introduciendo la posibilidad de utilizar un par de botones adicionales para más controles.
    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 sobre.
    Con admiración
    Alex

    1. Mauro Alfieri

      Ciao Alex,
      Le sugiero que lea algún artículo sobre el uso de los botones y se le agrega un control con botones es bastante simple.

      Mauro

  16. Gianni

    Hola tengo una pregunta…
    Yo 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 vatios? 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 una resistencia de 470ohm, Como se puede ver en los colores de la imagen.
      Para el pin arduino, si no recuerdo mal, Biblioteca IrRemote usar el pin 3 como emisor y no le permiten elegir el pin.

      Mauro

      1. Gianni

        ¡Gracias por haber respondido… ma O UN problemone…
        Yo decodificado el mando a distancia para el aire acondicionado ariston. Yo no escribo todo, Sabes que si usted me podría ayudar? aquí lo tienes..
        http://forum.arduino.cc/index.php?topic=187145.msg1395966#msg1395966

        1. Mauro Alfieri

          Hola Gianni,
          intente ejecutar varias veces la decodificación del mando 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 comprobar con la cámara, El LED en las luces remotas más, mientras que el arduino menos… (Yo creo… 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…consejos??

        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.

          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, de lectura no es siempre, Se puede calcular la resistencia a la ley de Ohm.

          Mauro

          1. Gianni

            Hola gracias por haber respondido… el siguiente problema es el siguiente… el boceto debe estar bien, teniendo una cámara no puede ver el LED transmite ir… lo único es que no pasa nada.. el acondicionador de aire es dirigido por 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 arduino permanece fija durante 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 por las luces o lámparas externas a su proyecto.

            Mauro

  17. Gianni

    Hola y gracias.. entonces que puede haber descubierto el problema…
    si nos fijamos en esta foto: http://imagebin.org/271373

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

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

  18. Gianni

    el problema es que cada vez que con diferente código prima cuando voy a leerlos recvDump… y no puedo hacer que se vaya con razón…

    soluciones?

    1. Mauro Alfieri

      Sé Gianni, es la parte más difícil del reconocimiento de códigos.
      La única técnica eh saben es tratar de volver a intentarlo hasta que encuentre los códigos más similar y recurrente.

      Mauro

  19. Gianni

    Bueno, yo traté de encender un televisor samsung que está en rawcode sendSamsung() y funciona, pero el aire acondicionado no quiere… No sé si estoy equivocado frecuencia… 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 incorrecto.

      Mauro

      1. Gianni

        hola yo asumo que la codificación es incorrecto… lo que podría ser?
        Lo intenté 12 luego 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 la prueba y prueba para incluir la secuencia correcta.

          Mauro

          1. Gianni

            Hola y ver con qué frecuencia usted tiene una guía de trabajo?
            De lo que se puede girar la frecuencia? No creo que hasta 330MHz :\ así que evita que probarlas todas

          2. Mauro Alfieri

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

            Mauro

  20. alessio

    Hola mauro, Son alessio, He escrito anteriormente en este blog. Me gustaría preguntarte algo: Tengo que enviar los mensajes ( textual, también utilizando una matriz) de mi arduino TX ( que transmite la señal a través de un LED infrarrojos beauti) mi segundo arduino RX (Tengo un receptor que recibe estas señales TSOP IR). ¿Cómo puedo hacer? Estoy usando el arduino son ambos Arduino Uno. He implementado una biblioteca para el error de comprobación de paridad, El CRC biblioteca, sin embargo, no sé cómo resolver el problema de enviar un mensaje de otro arduino. es decir, si yo escribo un ”hola” en la primera Arduino, el segundo debe 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 del 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 el CRC biblioteca sólo serviría para controlar los errores durante la transmisión. buscar encontré este código en tu blog arduino, y lo voy a poner aquí en la descripción, Lo intenté, pero no parece funcionar. ¿Se puede entender por qué? Voy a enlazar directamente a la página sin necesidad de copiar todo el código.

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

        aquí lo tienes.
        Espero que para resolver este problema! y presto
        alessio

        1. Mauro Alfieri

          Hola Alessio,
          Sé 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 ha encontrado los invito a escribir en el foro que se encuentra con errores.

          Seguramente el autor puede ayudar y tiene más habilidades en su programa.

          Mauro

  21. Nicola

    Hola Mauro, Entré recientemente en el mundo de las señales infrarrojas con Arduino.Ho creado un pequeño sistema con un receptor TSOP4838 , que recibe señales desde un control remoto Sony . El sistema es muy básico, o recibe la señal , descodifica y lo muestra en hexadecimal en el monitor de serie, en la práctica es sólo una parte de la recepción del proyecto anterior.. Sin embargo, me di cuenta de que con la presión ” común” di y Sabor, que es el mismo que me impresiono de cambiar un canal de TV, el sistema muestra la salida varias veces el valor correspondiente. Pensé para realizar una especie de circuito antirrebote para el valor de lectura , ya que tendría que insertar las secuencias a ser 3 Cifras, Sin embargo, no sé si se puede hacer utilizando sólo los métodos de la IrRemote biblioteca o si tengo que mover el trabajo a otro nivel ( por ejemplo, insertar un pequeño retraso en la lectura de señal). ¿Me puede dar un consejo?

    1. Mauro Alfieri

      Hola Nicola,
      como usted puede haber leído o experimentado señales de IR son “treni de onda” es decir, se envía la secuencia de 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 más veces el envío de la señal.

      Usted tendrá que poner en práctica sin duda un bosquejo cara sistema de control.

      Mauro

  22. marco

    felicitaciones por el artículo, Soy un tipo con arduino novato y no entiendo por qué en el primer boceto genero 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 la función 'setup vacío()':
    sketch_mar12a:12: error: 'Irrecv’ no se declaró en este ámbito
    sketch_mar12a.ino: En la función 'bucle vacío()':
    sketch_mar12a:16: error: 'Irrecv’ no se declaró en este ámbito
    sketch_mar12a:16: error: 'Resultados’ no se declaró en este ámbito
    probablemente son errores triviales, pero no puedo encontrar la solución.
    Gracias

    1. Mauro Alfieri

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

  23. chico

    Hola Mauro,
    Quería preguntarte algo,
    con este proceso( Intento de esquema e boceto ) 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 petición.

  24. Yaxit

    Hola, Me parece muy útil la guía, ma ho un problema: el receptor me dice códigos HEX diferentes cada vez que, aunque pulse el mismo botón en el mando a distancia… Ahora, ya que tendría que tener señales iguales para crear un mando a distancia 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, Quién es este? No quiero quemar esa es la última 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.

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

      1. Yaxit

        De hecho, el problema fue causado por la resistencia. Confirmo que no se debe poner en el 5V y funciona benisismo!
        Nos vemos más tarde!

        1. Mauro Alfieri

          Gracias Yaxit para la confirmación.

  25. Mateo

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

    1. Mauro Alfieri

      Hola Matteo,
      puede reemplazar el transistor MOSFET con un u otro tipo de controladores LED para que utilice el PWM para modular la señal y proporcionar 80mA necesitaba 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.
    E’ possibilile aunque que ninguna gran dificultad?
    Gracias, Espero sus respuestas.

    1. Mauro Alfieri

      Hola Antonio, Nunca he experimentado esta técnica, usted debe tratar. 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>