Tabla de contenido:

Uso del sensor de infrarrojos con Arduino: 8 pasos (con imágenes)
Uso del sensor de infrarrojos con Arduino: 8 pasos (con imágenes)

Video: Uso del sensor de infrarrojos con Arduino: 8 pasos (con imágenes)

Video: Uso del sensor de infrarrojos con Arduino: 8 pasos (con imágenes)
Video: 🆕 Como USAR el SENSOR INFRARROJO FC-51| Funcionamiento DETECTOR de OBSTÁCULOS infrarrojo con ARDUINO 2024, Junio
Anonim
Usando un sensor de infrarrojos con Arduino
Usando un sensor de infrarrojos con Arduino

¿Qué es un sensor de infrarrojos (también conocido como IR)?

Un sensor de infrarrojos es un instrumento electrónico que escanea señales de infrarrojos en rangos de frecuencia específicos definidos por estándares y las convierte en señales eléctricas en su pin de salida (normalmente llamado pin de señal). Las señales de infrarrojos se utilizan principalmente para transmitir comandos por el aire a distancias cortas (por lo general, unos pocos metros) como con lo que ya ha trabajado en controles remotos de TV u otros dispositivos electrónicos similares.

Protocolo de comunicación por infrarrojos

Cada señal representa un código específico. Las señales eléctricas se pueden convertir de nuevo a los datos / códigos reales que envió el remitente. Cuando presiona un botón en el control remoto de su televisor, genera una señal correspondiente al código del botón (por ejemplo, encendido / apagado, subir volumen, etc.) y lo envía a un receptor (en este caso, su televisor). Tanto el remitente como el receptor acordaron un conjunto de códigos para que el receptor sepa qué hacer en función de cada código. La forma en que se debe modular (modelar) un código como una señal se define en diferentes estándares y cada fabricante de sensores normalmente intenta producir un producto compatible con ellos para que pueda usarse en diferentes dispositivos. Uno de los protocolos estándar más conocidos es el de NEC. Puede encontrar una breve historia de los protocolos IR en Wikipedia bajo el título Consumer IR.

Paso 1: ¿Cómo se ve un sensor de infrarrojos?

¿Cómo se ve un sensor de infrarrojos?
¿Cómo se ve un sensor de infrarrojos?
¿Cómo se ve un sensor de infrarrojos?
¿Cómo se ve un sensor de infrarrojos?
¿Cómo se ve un sensor de infrarrojos?
¿Cómo se ve un sensor de infrarrojos?

Los sensores de infrarrojos están disponibles en diferentes paquetes. Aquí puede ver algunos paquetes típicos de un receptor de infrarrojos.

Paso 2: módulo / placa de conexión del sensor de infrarrojos

Tarjeta / módulo de conexión del sensor de infrarrojos
Tarjeta / módulo de conexión del sensor de infrarrojos
Tarjeta / módulo de conexión del sensor de infrarrojos
Tarjeta / módulo de conexión del sensor de infrarrojos
Tarjeta / módulo de conexión del sensor de infrarrojos
Tarjeta / módulo de conexión del sensor de infrarrojos
Tarjeta / módulo de conexión del sensor de infrarrojos
Tarjeta / módulo de conexión del sensor de infrarrojos

También puede comprarlos como módulo IR / placa de conexión en eBay, Aliexpress o Amazon. Dichos módulos normalmente incorporan uno de los sensores mencionados anteriormente con un agradable paquete compatible con la placa de pruebas junto con un LED que parpadea cuando el sensor detecta una señal. Al hacerlo, notará si se están transfiriendo datos. Recomiendo encarecidamente comenzar con uno de estos módulos.

Nota: si tiene un sensor de infrarrojos sin procesar, nada cambiaría, excepto que debe verificar la hoja de datos del sensor para asegurarse de que lo está cableando correctamente porque, de lo contrario, puede tener un hermoso humo azul con un olor que duraría un hora. Sabes a lo que me refiero;)

Paso 3: Piezas y componentes necesarios

Piezas y componentes necesarios
Piezas y componentes necesarios

Aquí puede encontrar la lista de componentes que necesitaría para completar este tutorial:

Enlaces de eBay:

  • 1 x Arduino Uno:
  • 1 x módulo de sensor de infrarrojos con control remoto:
  • 4 resistencias de 220 ohmios:
  • 4 x LED:
  • 8 x cable Dupont:
  • 1 x placa de pruebas sin soldadura:
  • 1 x Mini tablero (opcional):

Enlaces de Amazon.com:

  • 1 x Arduino Uno:
  • 1 x módulo de sensor de infrarrojos con control remoto:
  • 1 x placa de pruebas sin soldadura:
  • 4 resistencias de 220 ohmios:
  • 4 x LED:
  • 8 x cable Dupont:
  • 1 x Mini tablero (opcional):

Paso 4: Conexión del sensor de infrarrojos a Arduino

Conexión del sensor de infrarrojos a Arduino
Conexión del sensor de infrarrojos a Arduino
Conexión del sensor de infrarrojos a Arduino
Conexión del sensor de infrarrojos a Arduino
Conexión del sensor de infrarrojos a Arduino
Conexión del sensor de infrarrojos a Arduino

Configurar la conexión del sensor IR a Arduino es muy simple. Además del pin VCC y GND, el sensor tiene solo un pin de salida que debe conectarse a uno de los pines digitales del Arduino. En este caso, está conectado al pin 13.

Traté de demostrar tanto el módulo del sensor de infrarrojos como la configuración del sensor de infrarrojos sin procesar. Como se puede ver en las imágenes, la posición de los pines VCC y GND en el módulo del sensor es la opuesta al sensor en bruto. Sin embargo, es posible que no sea el caso de su sensor, por lo que, como se mencionó en el paso anterior, en caso de utilizar el sensor en bruto, consulte primero la hoja de datos.

Paso 5: busque el código correspondiente a cada tecla en el control remoto

Encuentre el código correspondiente a cada tecla en el control remoto
Encuentre el código correspondiente a cada tecla en el control remoto
Encuentre el código correspondiente a cada tecla en el control remoto
Encuentre el código correspondiente a cada tecla en el control remoto
Encuentre el código correspondiente a cada tecla en el control remoto
Encuentre el código correspondiente a cada tecla en el control remoto

Para programar Arduino para que haga algo cuando presiona una tecla en el control remoto, primero debe tener el código correspondiente a esa tecla. El código clave es un número que normalmente se presenta como hexadecimal. Cada control remoto tiene su propio conjunto de códigos clave, mientras que es posible que dos controladores compartan el mismo código para diferentes propósitos. Tener diferentes códigos de teclas junto con el uso de diferentes rangos de frecuencia, asegura que dos controladores remotos de diferentes dispositivos no tengan interferencia. Por eso, cuando cambia su canal de televisión, su reproductor de DVD no reacciona en absoluto.

Para detectar los códigos de su control remoto por infrarrojos, primero debe ejecutar un boceto simple que intente leer el código del sensor cuando presione una tecla y lo envíe a través del puerto serie a su computadora, donde puede acceder a él utilizando las herramientas del monitor serial de IDE de Arduino. Esto es lo que hace el boceto adjunto a esta sección. Sería mejor presionar todos los botones para ver el código y escribir la lista de códigos en algún lugar para que no tenga que volver a ejecutar este código en el futuro. La lista de códigos clave que ves como una tabla en la imagen son en realidad códigos que recibí al presionar botones en mi control remoto IR barato.

También puede acceder al código fuente real compartido en mi editor web Arduino en ir-key-code-logger.

Nota: No tenga miedo si ve un código como FFFFFF en algún punto intermedio. Significa que ha mantenido pulsado un botón durante un tiempo. Volveremos a hablar de ello más tarde. Por ahora, ignórelos y concéntrese en otros códigos.

Paso 6: controle un conjunto de LED con el mando a distancia por infrarrojos

Controlar un conjunto de LED con el mando a distancia por infrarrojos
Controlar un conjunto de LED con el mando a distancia por infrarrojos
Controlar un conjunto de LED con el mando a distancia por infrarrojos
Controlar un conjunto de LED con el mando a distancia por infrarrojos
Controlar un conjunto de LED con el mando a distancia por infrarrojos
Controlar un conjunto de LED con el mando a distancia por infrarrojos

Ahora que tenemos un código para cada botón, es hora de centrarse en la forma en que podemos usarlos. Normalmente, usa el control remoto IR para enviar comandos a Arduino para hacer algo como encender o apagar una lámpara, mover un robot en una dirección específica, mostrar algo en una pantalla LCD / OLED, etc. Aquí intentamos demostrar el proceso usando un simple Circuito compuesto por 4 leds de diferentes colores. Queremos encender o apagar cada uno de ellos mediante un botón dedicado del control remoto IR. Como puede ver en el esquema, debe conectar el Arduino de la siguiente manera a los LED y al sensor:

Arduino GND -> Sensor de infrarrojos GND.

Arduino VCC -> sensor de infrarrojos VCC.

Arduino 13 -> Salida de señal del sensor IR.

Arduino 2 -> Ánodo del LED azul (pin más corto del LED azul)

Arduino 3 -> Ánodo del LED verde (pin más corto del LED verde)

Arduino 4 -> Ánodo del LED amarillo (pin más corto del LED amarillo)

Arduino 5 -> Ánodo del LED rojo (pin más corto del LED rojo)

Arduino GND -> Cátodo de todos los LED a través de una resistencia de 220 ohmios (pin más largo de los LED)

Puede encontrar el código correspondiente a este circuito en el archivo adjunto o en mi editor web Arduino en ir-led-control.

Paso 7: solución de problemas

Mientras configura su proyecto y sigue los pasos, puede encontrar muchas situaciones extrañas. Aquí está la lista de algunos errores comunes que puede obtener al trabajar con el sensor de infrarrojos.

Obteniendo FFFFFF al presionar una tecla

Al presionar un botón, puede notar que la mayoría de las veces informa un código como FFFFFF. Esto sucede cuando presiona un botón y lo mantiene presionado por un tiempo, incluso por un período corto de tiempo. El escenario es que cuando presiona el botón inicialmente, el control remoto IR envía el código del botón y mientras mantenga presionado el botón, repite el envío de FFFFFF, lo que significa que el usuario todavía está presionando el botón informado recientemente. Eso estaría bien. Puede simplemente omitirlos. El código real es el que obtuvo justo antes de FFFFFF en el Monitor serial.

¡El sensor de infrarrojos no reacciona en absoluto y parece que se está calentando

Corta el poder !!! Si está seguro de que el boceto del registrador de códigos clave es correcto, entonces el problema puede deberse a una configuración incorrecta de los cables. El escenario que me sucedió fue que para mi módulo IR (el que está conectado a la placa) había conectado el VCC y GND de la manera opuesta (debido a que no usé los colores adecuados para mis cables de conexión). Al hacerlo, el componente del sensor se quemó y se elevó un agradable humo azul. Compré un paquete de sensores IR sin procesar e intenté reemplazarlo y ahora funciona a las mil maravillas:). Desafortunadamente, cometí el mismo error cuando estaba probando con el sensor de infrarrojos sin procesar y esta vez no sucedió nada excepto que el sensor se calentó. ¡Por lo tanto, siempre revise el circuito antes de encender la unidad!

A veces, el sensor detecta un código que nunca antes había visto

Este es uno de los problemas más comunes. Lo más probable es que se deba a una de las siguientes razones:

No estás apuntando tu control remoto IR directamente hacia el sensor

Esto conducirá a tener algunos códigos nuevos (en su mayoría códigos más largos) que nunca antes ha recibido y que normalmente no coinciden con la longitud de los códigos que ya tiene. Así que recuerde siempre apuntar el control remoto hacia su sensor.

Estás usando un control remoto por infrarrojos barato (como el que usé en este tutorial)

En lugar de usar un control remoto impredecible barato, puede intentar el mismo escenario usando el control remoto de su televisor o reproductor de DVD o un control remoto por infrarrojos de cualquier dispositivo que tenga. Normalmente tienen una buena calidad de señal / hardware (y por supuesto son más caras) y, según mi experiencia, normalmente funcionan bien incluso si no apuntas tu control remoto directamente hacia el sensor.

¿Cómo sé si un código registrado no es basura?

Los códigos se presentan normalmente en formato hexadecimal. Si los convierte al valor binario correspondiente, notará que la representación binaria del último byte es la negación del byte que viene antes. Si sabe esto, puede hacer esta verificación en su código para asegurarse de que el código que recibió sea realmente válido o no. Como ejemplo, si obtiene FF7A85, su representación binaria sería la siguiente:

1111 1111 0111 1010 1000 0101

De izquierda a derecha, cada lote de 4 dígitos es la representación de un carácter en el número hexadecimal original. Como puede ver, el lote correspondiente a 7 es 0111 y el lote correspondiente a 8 es 1000, que es la negación exacta del mismo. Por negación me refiero a que todos los 0 serían 1 y todos los 1 serían reemplazados por 0. Lo mismo es cierto para el siguiente, que es A (1010) y 5 (0101).

Paso 8: ¿Qué hacer a continuación?

Ahora es tu turno. Todo depende de su imaginación para ver lo que puede hacer con este pequeño sensor simple en su mano. Aquí hay algunas ideas para empezar:

  • Utiliza el mando a distancia por infrarrojos de uno de los dispositivos que tienes en casa (TV, estéreo, etc.) e intenta utilizarlo en tu proyecto Arduino
  • Intente encender todos los LED a la vez presionando una tecla y luego apáguelos usando otra tecla
  • Use el botón Arriba / Abajo del control remoto para encender / apagar los LED uno por uno hasta que todos se enciendan / apaguen
  • Cree un semáforo con LED y contrólelo con su control remoto
  • Si tiene un pequeño motor de CC a mano, intente arrancar / detener o cambiar su dirección de rotación a través del control remoto IR
  • Puede usar el control remoto de su televisor para controlar su robot o habilitar / deshabilitar algunos sensores / actuadores en él

Avísame en los comentarios, qué harías (o ya lo has hecho) usando el control remoto por infrarrojos.

Recomendado: