«

»

Diciembre 02

Imprimir esta Puesto

Tutorial: Arduino como un transmisor de infrarrojos o el control remoto

En estos días me recogió una vieja entrada del blog: Tutorial Arduino - IR estafa TSOP31238 y me pregunté si era posible otro Arduino enviar señales IR a la primera, tal vez con el mismo IRremote.h biblioteca, Bien se puede.

Arduino telecomando IR

Usted puede utilizar el IrRemote biblioteca es para decodificar las señales de un sensor de infrarrojos provenineti ( TSOP31238 equivalente) es 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 la figura arriba); la segunda de recepción y decodificación, Voy a cargar nmell'Arduino izquierda.

Primo Sketch – envía señales IR

Local: 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 cifrar / descifrar de acuerdo con un común, Biblioteca IR ofrece algunas codificaciones estándar: (Sony, Ni, 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.
Además de la biblioteca de hoy no le permite cambiar el pin de Arduino puede ser usado para conducir el LED IR, siempre tienes que usar el pin 3 como se muestra en la figura.

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

#incluir <IRremote.h>

IRsend irsend;

void setup() { }

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

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

línea 01: Incluir la biblioteca IRremote.h, la biblioteca se encuentra en el mismo directorio donde poner el boceto, de lo contrario el IDE le puede dar error porque no puede encontrarlo;

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 disposición() en este caso vacío, Recuerde que las funciones de configuración() e bucle() 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 llevar a cabo algo en nuestro boceto;

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: enviar el código en el estándar de Sony a90, hacerlo utilizando el método sendSony( datos, nBit ) donde la fecha es el valor para enviar nBit la longitud de la cadena. Hay otros métodos de codificación, como dije sendNEC, sendRC5 y sendRC6 o SendRaw para enviar diferentes codificaciones;

línea 10: establecer 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 poner en peligro el descifrado correcto.

Boceto Secondo – recibir señales IR

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 usan para descodificar la señal desde el transmisor de infrarrojos;

línea 03: a diferencia de la parte de envío cuando se utiliza 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: inicializar un objeto irrecv como una instancia de la clase IRrecv, RECV_PIN pasando la variable que establece el pin en el que esperar a que la decodificación de la señal;

línea 07: definir una variable resultados que será incluido decondifica resultados realizada por IrRemote;

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

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

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 de infrarrojos serán decodificados por Arduino;

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

línea 16: Incluya una condición de comprobación basándose en el método descodificar() Irrecv artículo, Este método devuelve un valor verdadero 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 presentado se puede utilizar para sus aplicaciones, en este ejemplo utilizando el método println() De serie de este valor se escribirá en el monitor de serie, desde que se envía a un código hexadecimal, utilizzia una opción de método println() que le permite convertir el valor que se ya se ha escrito 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 describe porque está bien documentado en la web oficial y en este mismo blog, Sin embargo, en este caso, lo que los invito a hacer es seguir los dos pasos simples abajo para No crear caos durante la carga:

  1. Defina lo que usted va a utilizar el Arduino para enviar y para recibir;
  2. Tome el primer Arduino que ha decidido utilizar para enviar y conectarlo al USB;
  3. Ejecutar subir el primer boceto;
  4. terminado 3, desconecte el Arduino y conecte el USB uno destinado a actuar como un receptor;
  5. realiza la carga del segundo boceto;
  6. No desconecte el Arduino, preguntar LED y receptor uno frente al otro como en la figura;
  7. alimentado por una batería de 9V o derecho similar de la Arduino;
  8. abrir el monitor de serie y mirar el vídeo de código pintato.
Arduino telecomando IR

Posición de 2 Arduino

Un pequeño truco:

Puesto que usted está utilizando, usted será capaz de ver por infrarrojos, son invisibles para el all'ocio humano, así que si usted no lee ningún valor en el monitor de serie podría ser debido a la completa falta de envío por el LED, para poner a prueba usando una cámara digital común, que también está muy bien que del teléfono móvil o la webcam de la computadora, 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.

Divertirse[importante]
Por favor NO pegar boceto en los comentarios, Utilice el cuadro de información del blog que usted puede encontrar en la página de contacto.
[/importante]

[advertencia]
Bocetos están distribuidos de forma gratuita y sin ninguna responsabilidad.
Al leer este artículo y decidió utilizar el boceto traído usted asume toda la responsabilidad.
[/advertencia]

Be Sociable, Cuota!

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

67 comentarios

Ir al formulario de comentarios

  1. fabrizio

    Hola quería saber , Puede insertar este bosquejo en otros tipos de bocetos?Si lo desea, puede hacer?
    Voy a decirle a usted si ya tengo bocetos 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 esbozar el IDE genera errores…
    Me puedes ayudar?
    Gracias
    Fabricio Bianchi

    1. Mauro Alfieri

      Hola Fabrizio,
      con bocetos pueden hacer muchas cosas, y usted puede integrarlos, en general, suavemente.
      Hay algunas bibliotecas que sean incompatibles con las demás a causa de la utilización de los mismos pines o comandos especiales, pero no se puede saber hasta que no hayan sido probados.

      Para ayudarle a que sé lo que las bibliotecas que está utilizando y los dos primeros errores que te encuentras, por favor no pegar 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 la Arduino cables del sensor de recepción sin pasar por el transmisor de infrarrojos llevado. Si me conecto a un transmisor de Arduino LED IR 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

      Hola 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ñales que el receptor de infrarrojos envía el aparato cuando recibe la señal de encendido, será una secuencia de una especie, y el programa de Arduino para repetir esa secuencia cuando lo desee acceder al reproductor de medios de comunicación.

      Sin los patrones y las señales no pueden conseguir lo que quieres, teniendo en cuenta el hecho de que usted no querrá quitar el receptor con el fin 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 se 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; yo < 3; i ) {
    irsend.sendRaw(uno,4,38);
    retraso(200);
    }
    }

    También traté de poner en la matriz "buffer" para introducir valores aprendidos mediante el uso de la results.value comando y poniendo 0x (0xB33B4597, 0xB33B4594, 0x1004849, 0xDE4306F1…).

    En lugar del IR LED he añadido uno normal y parpadea, con IR LED, sin embargo, no enviar 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); paloma búfer usi?

      Mauro

  4. Carmelo

    en lugar de uno debe ser escrito tampón:

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

    Yo había creado varias matrices con los códigos de los distintos controles, 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 a esa cadena.

    He creado un boceto que sólo se ocupa de enviar la señal, pero el problema persiste. Pensé que la causa podría ser utilizado como IR LED está atrapado, después de comprobar el funcionamiento de un mando a distancia de un viejo reproductor de dvd, Quité el LED y reemplacé el utilizado anteriormente, ningún resultado.

    Los componentes están conectados a la placa Arduino como usted ha indicado en el diagrama.

    El boceto se rellena correctamente no riseco entender cuál es el problema.
    Como escribí reemplacé el LED IR con uno normal y ves parpadear (claramente no envía ninguna señal), entonces todo lo que creo que funciona, con IR LED pero no succcede nada, no se cambia de canal.

    1. Mauro Alfieri

      Ciao Carmelo,
      la forma de escribir del todo correcto Sebra, tratar de comprobar con otra Arduino y un IRreciver si lo que usted envía es el primer correttamete entendido por secodo.
      Los problemas que está experimentando puede ser debido 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 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 Esteban,
      Yo todavía no lo he probado en Mega un'arduino, Sin embargo, el lenguaje de programación es el mismo entre A y número de cambio de pin Mega y el uso de puertos.
      Es posible 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, Ni, RC5, RC6) y los métodos para la codificación / decodificación de dicha prima” pero tuve una TV LG ¿qué debo usar, y especialmente en lo que tengo que cambiar el guión : irsend.sendSony(datos, nBit );
    y al final yo no entendía que eso significa basa nBit en lo que el elegido 12 enviar a90??
    Gracias de antemano :D

    1. Mauro Alfieri

      Ciao Marino,
      cada fabricante utiliza sus propios mandos a distancia de codificación, a veces incluso diferente de un modelo a.
      El IR biblioteca ya ha establecido una serie de codificaciones y le proporcionará con los métodos sendSony tipo a utilizar para la codificación incluida.

      Si usted tiene un mando a distancia LG y no es de ninguna codificación ya ha sido establecido, se 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 llaves 0-9 Mi Samsung.

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

      Mauro

  7. david

    ¡Hola! :) Mientras tanto, felicitaciones a el blog. Siempre 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 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 para el receptor que, en Internet son, 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. Dominic

    Hola Mauro, Probé el boceto debajo.
    Pero yo no entiendo lo que es el puerto de salida al que conectar el LED infrarrojo como 12 cadena nBit se envía………….?

    #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 Domingo,
      son los pines que conectan el LED IR en el diagrama anterior, iPod pin 3 Especial resistiva.
      El en que no se puede elegir en el boceto se encuentra en la biblioteca.
      Si yo quería tener que hacerlo en la biblioteca de intercambio IrRemote.

      Mauro

  9. Dominic

    Ella’ posible, o demasiado difícil, utilizando por Arduino TX, formar su propia nBit código personal y después de
    En consecuencia, 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 poco) podría ser transmitido a un receptor
    utilizando la transmisión por infrarrojos.

    1. Mauro Alfieri

      Hola Domingo,
      idea bella !!!
      Te aconsejo que estudies los protocolos de comunicación y codificaciones IR, probablemente a partir de ahí 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 a través de dos Arduino su proyecto anterior.
    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 de:

    #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 poder de TV
    retraso(300);
    }
    }
    }

    me da este error y no se 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 función de '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 puede deberse o bien enviarme la versión del IDE es la instalación de la biblioteca equivocada 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 soy capaz 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 se muestra sin utilizar la biblioteca IrRemote! Gracias!

    1. Mauro Alfieri

      Hola Alessio,
      bibliotecas que ayudan mucho, si estos no se utilicen lo que tienes que escribirlo todo 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 transmitir y recibir IR

      Mauro

  12. Alessio

    hola mauro, Así que, mientras tanto, gracias por sus respuestas y te diga que me instalé feliz y yo soy feliz. Así que traté de su proyecto anterior y funciona muy bien, una pregunta que te gustaría hacer:
    Si quisiera utilizar más de un LED de infrarrojos para enviar señales de infrarrojos y por lo tanto más de un receptor para ser capaz de leer y recibir, cambiaría como las conexiones? es decir, a la que me podía conectar pin? ¿cómo podría cambiar el código??? Le doy las gracias de antemano
    Alessio

    1. Mauro Alfieri

      Hola Alessio,
      Yo nunca he tratado de conectar varios LEDs con diferentes códigos y enviar su experimento es interesante.
      Dudo que la biblioteca IrRemote no le permite controlar múltiples emisores.

      Si usted hace una prueba me gustaría compartir y publicar los resultados.

      Mauro

      1. Alessio

        hola mauro, Miro por la tarde intento conectar múltiples LEDs infrarrojos, pero que tienen solamente un receptor. Sin embargo, la biblioteca le permite usar un único pin, es decir pin 3! Ahora vamos a ver lo que puedo hacer. Una pregunta.
        Cuando conecto los dos Arduini y abro la dell'arduino receptora de monitor de serie, Veo los códigos numéricos que aparecen en pantalla que cambian dependiendo de la distancia. Poner uno frente al otro, el LED que envían y receptor que recibe a una distancia de unos pocos centímetros, ayer me pasó a mí que, como resultado del monitor de serie que salió el resultado en código A90 numérica de manera constante. Ella’ normal a ser tan? porque hablar con mi profesor de la universidad con la que estoy haciendo una pasantía(Arduino precisamente) Yo digo que podría ser un error de comunicación y para comprobar si el protocolo utilizado no es algo de control que establece la igualdad de CRC o algo por el estilo! mmm ¿qué cree usted que?

        1. Mauro Alfieri

          Hola Alessio,
          Yo no soy un profesor, y yo creo que tu maestro puede tener razón, Otra posibilidad que se me ocurre es que la influencia de la luz ambiental afecta el código de cambio.

          Trate de hacer una prueba con la luz del día o al menos sin las lámparas de neón o el ahorro de energía.

          Mauro

  13. Alessio

    excusar mauro algo más, Me he dado cuenta de que a lo largo del 15 centímetros mi receptor luego capta 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, 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 para el pin de Arduino.

      Mauro

  14. Alessio

    Hola mauro, al problema de las distancias He resuelto poniendo un poco más de la 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 recoge la señal sin ningún problema. Ahora voy a probar el problema de la distancia, 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 di cuenta y experimenté el boceto y todas las obras, incluso con la TV. Pero.. no son capaces de hacer uso práctico por estas razones.
    La señal de salida es 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). Además, la señal de emisor repite a la perfección. En Sony A90 control de la TV tiene un valor, sino también EN OFF cuando el televisor se enciende y apaga de forma continua.
    A partir de este ya habrá deducido mis límites cuando se trata de la programación.
    Si no es demasiado que pedir educadamente si usted me puede dar sugerencias para remediar el problema, quizás 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 sobre.
    Con admiración
    Alex

    1. Mauro Alfieri

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

      Mauro

  16. Gianni

    Hola Tengo una pregunta…
    Yo descifrado el control remoto 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, ¿cómo ve los colores de la imagen.
      Por pin de Arduino, si no recuerdo mal, Biblioteca IrRemote usar el pin 3 como emisor y no permite que usted elija el pasador.

      Mauro

      1. Gianni

        ¡Gracias por haber respondido… ma O ONU problemone…
        Yo descifrado el mando a distancia para el aire acondicionado Ariston. Yo no escribo todo, Cómo saber si usted puede ayudar? aquí lo tienes..
        http://forum.arduino.cc/index.php?topic=187145.msg1395966#msg1395966

        1. Mauro Alfieri

          Hola Gianni,
          probarlo varias veces para decodificar el mando 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 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 envía cuando 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 el LED tiene notas de alimentación específicos, no siempre lo haré, se puede calcular la resistencia con la ley de Ohm.

          Mauro

          1. Gianni

            Hola gracias por contestada… el siguiente problema es el siguiente… el boceto debe ser aceptable, teniendo una cámara que puedo ver que el LED transmite ir… lo único es que no pasa nada.. llevaron desde el aire acondicionado es un metro y medio.. Traté de poner demasiado 50 cm es niente…

            Tengo 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 permanece fijo durante un segundo… pero cuando intento con arduino permanece fijo durante medio segundo… No sé si depende de lo que… ¿podría decirme algo al respecto?

          2. Mauro Alfieri

            Hola Gianni,
            pruebas para apoyar el emisor a la unidad por lo que evitar incluso la posible corrupción de la señal por las luces o lámparas fuera de 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
    Desconocido codificación: 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.. ON OFF..
    soluciones?

  18. Gianni

    el problema es que a mí cada vez cuando voy a diferentes colas prima leerlos recvDump… y yo no puedo hacer que se vaya a la derecha…

    soluciones?

    1. Mauro Alfieri

      Sé que John, es la parte más difícil del reconocimiento de código.
      La única eh técnico que conozco es a intentarlo una y otra vez hasta que encuentre el código más similares y recurrentes.

      Mauro

  19. Gianni

    Bueno, yo traté de encender un televisor que Samsung es 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 muestra 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 está mal… lo que podría ser?
        Lo intenté 12 luego por 34 un 40

        1. Mauro Alfieri

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

          Mauro

          1. Gianni

            Hola y ver con qué frecuencia usted tiene una guía de trabajo?
            ¿Cómo puede oscilar frecuencia? No creo que hasta 330MHz :\ así que evito a probarlos todos

          2. Mauro Alfieri

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

            Mauro

  20. Alessio

    Hola mauro, Yo alessio, Escribí anteriormente en este blog. Me gustaría preguntarte algo: Tengo que enviar los mensajes ( textual, También el uso de 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 yo? Estoy usando el Arduino Arduino Uno son a la vez. He implementado una biblioteca para los errores de comprobación de paridad, La biblioteca de CRC, pero no saben cómo resolver el problema de enviar un mensaje a otro Arduino. es decir, si yo escribo un ”¡Hola” la primera Arduino, el segundo debe leer en su monitor de 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 manejar las cuerdas a enviarlos vía IR. Pero el IrRemote biblioteca en sí misma no permite que lo haga? porque el CRC biblioteca sólo serviría para controlar los errores durante la transmisión. mira yo encontré este código Blog Arduino, y lo voy a poner aquí en la descripción, Lo intenté, pero no funciona. ¿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í lo tienes.
        Espero que para resolver este problema! y presto
        Alessio

        1. Mauro Alfieri

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

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

          Mauro

  21. Nicola

    Hola Mauro, Entré sólo en el mundo de las señales IR 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 , codifica en hexadecimal y lo muestra en la serie del monitor, en la práctica es sólo una parte de la recepción del proyecto anteriormente.. Sin embargo, me di cuenta de que con la presión ” común” di y Sabor, o de lo que impresionar a cambiar un canal de televisión, el sistema muestra salida varias veces el valor correspondiente. He decidido crear una especie de circuito antirrebote por leer , como sería necesario insertar las secuencias a ser 3 Figuras, Sin embargo, no sé si se puede lograr utilizando sólo los métodos de la biblioteca IrRemote o si tengo que mover el trabajo a otro nivel ( por ejemplo, insertar 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 experimentado señales 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 pulsado el botón.
      En el mando a distancia, probablemente, pulsar el botón de enviar repetidamente genera la señal.

      Vas a tener sin duda implementar un bosquejo cara sistema de control.

      Mauro

  22. marco

    Felicidades por el artículo, Yo soy un novato muchacho con Arduino 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 función de 'configuración vacío()':
    sketch_mar12a:12: error: 'Irrecv’ no se declaró en este ámbito
    sketch_mar12a.ino: En función de '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 para IrRemote 1.0 o más y usted tendrá que modificar para que se adapte a su versión del IDE.

  23. tipo

    Hola Mauro,
    Quería preguntarte algo,
    con este proceso( Intento esquema e boceto ) es posible crear un dispositivo con Arduino que enviaría claramente los códigos de comando recibidos a través de infrarrojos para controlar TV y otros?

    1. Mauro Alfieri

      Ciao individuo, Yo no entendía la petición.

  24. Yaxit

    ¡Hola, Me resulta muy útil su guía, ma ho un problema: el receptor me dice códigos HEX diferentes cada vez que, incluso si presiono el botón del mando a distancia… Tiempo, 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 el 5v y el sensor, Quién es este? No me quemo eso es lo último que me queda.
    Hola y gracias 1000!

    1. Mauro Alfieri

      Ciao Yaxit,
      que te van a utilizar un mando a distancia compatible con el iRemote biblioteca?
      A veces los problemas similares se deben a una mala interpretación de los códigos emitidos por control remoto.

      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

        En realidad, el problema fue causado por la resistencia. Confirmo que no debe sacarse y funciona benisismo 5V!
        Adiós!

        1. Mauro Alfieri

          Gracias Yaxit confirmación.

  25. Matteo

    ¡Hola! Quería hacerte una pregunta.. Hice este circuito, pero el alcance del LED es realmente ridículo (1 m aproximadamente) 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 controla el PWM y el ir transistor Por otro lado 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 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, excelente guía, pero tengo algunas preguntas, para cambiar ligeramente el propósito de la transmisión de IR.
    En la práctica, tengo la necesidad de utilizar los sensores y transmisores IR (liderado e fototransistor, exactamente el TCRT5000L), como los botones, pero ansichè analizar el estado de alta o baja (que podría 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 (bastará también 2 byte) para ser leído a otro Arduino que posee el receptor (pero si hubiera podido leer los datos en el mismo Arduino sería aún mejor) en la práctica una especie de control remoto de transmisión irda-receptor pero sin modulaciones.
    Ella’ possibilile aunque que sin mucha 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>