Barrera infrarroja arduino

Arduino sensor de rotura del haz de luz

En realidad, había completado mi serie sobre sensores de luz y proximidad con mi último post de resumen. Sin embargo, me surgió la pregunta de si también se puede construir un sensor de proximidad IR (IR = infrarrojo). De eso trata este artículo.

Al principio, me hice una pregunta aún más general: ¿Puedes construir tú mismo sensores de proximidad o de movimiento con medios sencillos? En primer lugar, necesitas un tamaño físico con el que se pueda detectar una aproximación. Quería una solución en la que la señal y el sensor se controlaran en un solo lado. Por lo tanto, no es algo como las barreras de luz o las combinaciones de imán y sensor de movimiento.

Al examinar los distintos métodos físicos como el radar, la luz (tiempo de vuelo), los ultrasonidos, etc., elegí la luz infrarroja como la solución más sencilla. Por tanto, el sensor debería emitir luz infrarroja y detectar la señal reflejada. Básicamente, hay dos posibilidades, la radiación infrarroja pulsada y la no pulsada. Empezaré por esta última.

Como fuente de radiación infrarroja, lo mejor es utilizar un LED. Estos están disponibles principalmente con longitudes de onda de 850 o 940 nm. El receptor es un fotodiodo infrarrojo. Puedes conseguir ambos, a menudo en un paquete doble, por poco dinero, por ejemplo en Amazon. Si sigues el enlace, encontrarás tanto receptores de tres pines como de dos pines. En esta sección hablamos de los de dos pines, en la siguiente (IR pulsado) de los de tres pines.

Receptor Arduino nano ir

Con la ayuda del módulo sensor KY-022 se puede construir un receptor de infrarrojos. Para ello sólo se necesita el módulo receptor de infrarrojos y un único Arduino. El Arduino actúa como receptor y emite las señales a la consola serie.

Descargue la biblioteca y descomprímala en su carpeta de bibliotecas de Arduino. Esta se encuentra por defecto en: C:\NUsuario[nombre de usuario]\NDocumentos\NArduino\Nbibliotecas. Alternativamente, también se incluye en el paquete de descarga a continuación.

Con los sistemas de transmisión y recepción de infrarrojos, hay diferentes protocolos en los que los datos pueden ser enviados y recibidos. En el siguiente ejemplo se utiliza el ejemplo SimpleReceiver modificado para la recepción – la biblioteca utilizada «Arduino-IRremote» se encarga de la conversión a la secuencia de datos correcta por sí misma. Sin embargo, también hay otros protocolos/codificaciones dentro de la librería – estos están marcados en la documentación/código de la librería. Documentación.

Nota: Para la ejecución del ejemplo de código es necesario un archivo adicional. Éste se abre automáticamente en cuanto se abre el código de ejemplo de la librería Arduino IRremote. Por lo tanto, primero abra el código de ejemplo a través de la siguiente ruta Archivo -> Ejemplos -> IRremote -> SimpleReceiver. Ahora puedes sustituir el código de ejemplo por nuestro ejemplo modificado. Ahora tienes que seleccionar el Arduino al que has conectado tu transmisor: Herramientas -> Puerto -> COM.

Transmisor Arduino ir

ReplyUpvote¿Cuál de los proyectos? Muestro cómo construir 3 proyectos diferentes en este tutorial. Las fuentes del proyecto están en el zip. Puedes abrirlos con la última versión de Visuino y generar el código. Sigo actualizando el Visuino y sus librerías para optimizarlas, y si publico el código generado, éste quedará obsoleto con el tiempo. Lo mejor es generar el código con la última versión para sus librerías.0Helbino

ReplyUpvoteOriginalmente tenía una distancia de detección de alrededor de 3 cm, pero aumentó esto a 10 + cm girando el potenciómetro superior (como se ve en la imagen en el paso 2) 45 ° en sentido antihorario. También ajusté físicamente las piezas de transmisión y recepción de IR porque estaban dobladas. Personalmente, me pareció que inclinar el receptor de IR ligeramente hacia abajo ayudaba en la detección, pero (¡con cuidado!) muévelo y mira lo que hace tu sensor.¡Gracias a BoianM por incluir qué potenciómetro hace qué!

Arduino ir tripwire

La cosa es, ¿cómo puedo crear una «señal de fondo» constante para detectar objetos en el camino? ATM uso «enableIROut()» de IRremote para una señal PWM, sin embargo, pulseIn() detecta anchos de pulso más o menos arbitrarios.

Además, tengo una señal de 38KHz, al menos puedo verla con mi cámara, pero el receptor sólo recibe una señal (según pulseIn() ) cuando meneo un poco las piezas – básicamente mido el jitter que no parece correcto.

Una posible manera de superar la función AGC con algunos receptores IR estándar es pulsar la modulación cada 600uSecs – puedes tener suerte. También puedes intentar aumentar el tiempo de pulso si es necesario.

Usar enableIROut @ 38kHz es una buena manera de hacer esto y cuando funciona deberías obtener una señal BAJA en tu receptor. (Los receptores IR funcionan en modo invertido, cuando reciben la salida es LOW). Por supuesto generar el PWW directamente en lugar de usar la librería, ahorrará algunos recursos, si es necesario.

Sin embargo, me encontré con algunos problemas nuevos: los receptores casi nunca envía un «0»- señal, incluso cuando no hay ninguna fuente de luz IR en cualquier lugar sólo leí (digitalRead(PIN)). Solo al romper la barrera puedo ver algunos ceros aleatorios (y me refiero a que realmente solo entran y salen del haz, no se quedan ahí). He probado con el sketch más sencillo y con los circuitos posibles, y sigue pasando lo mismo.

Acerca del autor

admin

Ver todos los artículos