Tabla de contenido:

Sensor de dados infrarrojos: 5 pasos
Sensor de dados infrarrojos: 5 pasos

Video: Sensor de dados infrarrojos: 5 pasos

Video: Sensor de dados infrarrojos: 5 pasos
Video: Использование Melexis MLX90614 Инфракрасный термометр с Arduino 2024, Mes de julio
Anonim
Sensor de dados infrarrojos
Sensor de dados infrarrojos
Sensor de dados infrarrojos
Sensor de dados infrarrojos

Mi nombre es Calvin y te mostraré cómo hacer un sensor de dados infrarrojos y te explicaré cómo funciona.

Actualmente soy un estudiante de la Universidad de Taylor que estudia Ingeniería en Computación y mi equipo y yo nos pidieron que diseñáramos y construyéramos un mecanismo que pueda clasificar cualquier objeto que pueda caber en un cuadrado de 1 pulgada. Podríamos haber tomado la ruta fácil y haber elegido clasificar los m & m usando un sensor de color simple, pero decidimos ir más allá y clasificar los dados por el número que se muestra. Después de innumerables horas de intentar encontrar una guía sobre cómo leer la cara de los dados, encontré este enlace aquí:

makezine.com/2009/09/19/dice-reader-versio…

Este enlace, sin embargo, no me dio mucho más que la idea de cómo leer la cara de los dados, así que usando la idea que se me proporcionó, seguí mi camino para construir y desarrollar un sensor que se pueda conectar con un Arduino. con facilidad y puede leer la cara de los dados con la mayor precisión posible, lo que nos proporciona este sensor de dados infrarrojos.

Suministros

Ahora pasemos a los suministros:

Necesitará:

1 x Arduino Uno

5 x receptores de infrarrojos

5 x emisores de infrarrojos

www.sparkfun.com/products/241

5 resistencias de 270 ohmios

5 resistencias de 10 k ohmios

1 x chip 74HC595N

varios encabezados masculinos

1 x tablero prototipo (si no obtiene un tablero fresado personalizado)

Paso 1: comprender cómo funciona

Entender cómo funciona
Entender cómo funciona
Entender cómo funciona
Entender cómo funciona

Este sensor utiliza 5 ubicaciones de pip para leer las caras de los dados. Utiliza luz infrarroja para rebotar en la cara de los dados en estas ubicaciones de pips y le dice al controlador si es blanco o negro.

Quizás se esté preguntando, ¿por qué entonces solo 5 ubicaciones de pip? ¿No necesitarías los 9 para leer los dados de manera efectiva?

Bueno, debido a la simetría de los dados, usar 5 ubicaciones específicas en los dados puede ser suficiente para notar la diferencia entre los diferentes números en los dados independientemente de la orientación (imagen 1). Esto hace que el sensor de dados sea más eficiente porque solo busca exactamente lo que necesita y nada más.

El emisor va exactamente debajo del receptor en el sensor en cada una de estas 5 ubicaciones de pip, el sensor luego emite la luz IR y luego el receptor lee la cantidad de luz IR que rebota en la cara de los dados. (imagen 3) Si el valor recibido es mayor que los números de calibración especificados, el sensor verá ese punto como un punto, si no es un espacio en blanco. (imagen 2)

Paso 2: diseño y planificación

Diseño y planificación
Diseño y planificación
Diseño y planificación
Diseño y planificación
Diseño y planificación
Diseño y planificación
Diseño y planificación
Diseño y planificación

El primer paso para construir un sensor de dados es crear los esquemas, este puede ser el paso más difícil o el más fácil del desarrollo. Primero necesita un software llamado EAGLE de Autodesk, este fue el software que usé para crear los esquemas.

He incluido 2 tipos diferentes de esquemas, uno tiene un chip de registro de desplazamiento para ayudar a que el sensor sea más preciso, y el otro es uno sin un chip de registro de desplazamiento, sin embargo, este esquema no funcionará con el código que proporcionaré. más adelante, tendrás que desarrollar algo por tu cuenta.

También he incluido el diseño de mi placa para el sensor que he diseñado con el registro de desplazamiento.

Para comenzar a diseñar la placa, tienes 5 Receptores de IR y 5 Emisores de IR, los receptores requieren una resistencia de 10k y los emisores requieren una resistencia de 270 ohmios por lo que para cada uno de estos elementos, se pasa de:

VCC (5V) -> Resistencia -> Pin de lectura analógica -> Receptor de infrarrojos -> GND

VCC (5V) -> Resistencia -> Emisor IR -> GND

El pin de lectura analógica sale entre la resistencia y el receptor de infrarrojos como otra rama y va al pin analógico del Arduino. También debes asegurarte de que el emisor vaya directamente debajo del receptor, cometí este error la primera vez que lo hice y obtuve muy malos resultados, así que asegúrate de que el receptor vaya arriba.

En mi placa personalizada, estoy usando el registro de desplazamiento para proporcionar energía a cada uno de los pares de emisor y receptor uno a la vez para evitar cualquier sangrado de luz IR de los otros emisores. Esto me da una lectura aún más precisa de cada una de las ubicaciones de pip, si elige no usar el registro de desplazamiento, aún funcionará para usted, solo que podría ser un poco menos preciso. En el registro de desplazamiento, puede unir los pines 3-4 y 7-8, ya que no es del todo necesario tenerlos como encabezados. Los dejé como encabezados y puse puentes en los encabezados en caso de que quisiera hacer desarrollo en el futuro.

Una vez que haya diseñado el esquema, debe hacer un diseño de placa de su esquema. Esta parte puede volverse muy complicada porque debe asegurarse de que sus rutas no se superpongan y asegurarse de que sus rutas y orificios cumplan con las especificaciones de su máquina. El diseño de la placa que adjunté tenía los tamaños específicos para la máquina que usé para fresar mi placa. Paso unas horas diseñando la tabla para que sea lo más pequeña posible. Todavía había margen de mejora en este tablero, pero funcionó para mí, así que lo dejé como está. Existe una versión con un GND de cobre que conecta todos los elementos de tierra, y una versión sin adjuntar.

También puede usar su esquema para construirlo en una placa de pruebas o en una placa prototipo, ya que son mucho más fáciles de conseguir y es una opción más barata ya que no es necesario fresar una placa personalizada.

Una vez que tenga el diseño de la placa, puede pasar al siguiente paso.

Paso 3: construcción del tablero

Construyendo el tablero
Construyendo el tablero
Construyendo el tablero
Construyendo el tablero
Construyendo el tablero
Construyendo el tablero

Esta parte depende completamente de cómo desee que se cree el tablero. Creé el sensor en una placa prototipo para probar si el concepto funciona y qué tan preciso es, así que seguí el esquema sin el registro de desplazamiento y creé la placa. Debe asegurarse de disponer todo para que las líneas no se superpongan y no suelde accidentalmente líneas que no deberían estar conectadas. Al hacerlo en una placa prototipo, debes tener mucho cuidado, así que tómate tu tiempo y no te apresures. También debe tener cuidado con los cables abiertos porque pueden moverse y causar cortocircuitos en el sistema.

Si opta por fresar la tabla, este proceso es más sencillo. Envíe el archivo de la placa al molinero con la configuración específica del molinero. Si lo hace usted mismo, antes de sacarlo, asegúrese de que todo el cobre esté adecuadamente molido lo suficientemente profundo. La primera tabla que hice, el cobre no estaba lo suficientemente molido y tuve que hacer otro molido.

Asegúrese de que todo esté soldado a la placa en el diseño deseado y asegúrese de tomarse su tiempo, y si suelda en la PCB, asegúrese de soldar en el lado correcto de la placa.

Cuando coloque los receptores y emisores de infrarrojos, asegúrese de que el emisor esté exactamente debajo del receptor. Tendrá que jugar doblando las patas de los componentes de infrarrojos para colocarlos en el lugar correcto. Mantenga un dado a mano también para verificar si las ubicaciones de las pepitas están donde deben estar.

Una vez que tenga todo soldado y agregado a la placa, podrá programar el sensor.

Paso 4: Programación de la placa

Programando la placa
Programando la placa
Programando la placa
Programando la placa

Esta es la parte complicada de hacer que el sensor sea lo más preciso posible, programando la placa. Afortunadamente, he creado una biblioteca para que la use con su sensor recién creado para que la programación sea mucho más fácil, sin embargo, tendrá que calibrar el sensor dependiendo de la iluminación donde se encuentre este sensor.

Para comenzar, debe tener un Arduino para interactuar con este sensor. Utiliza 5 pines analógicos y 3 pines digitales.

Tiene la capacidad de usar la biblioteca que hice para elegir sus propios pines analógicos y digitales, pero lo explicaré usando los pines que hice para interactuar con el sensor. He marcado la imagen vinculada con números de pines y cuadros de colores alrededor del conjunto de pines para explicar fácilmente qué pin se conecta y dónde.

En el sensor, los pines 1-5 Rojo van a A0-A4, por lo que el Rojo 1 va a A0 y así sucesivamente. Los pines 1-8 blancos requieren un poco más de explicación.

Blanco 1 - Pin de datos, aquí es donde Arduino envía los datos al registro de desplazamiento. Configuré este pin en el pin digital 3 en el Arduino

Blanco 2 - Q0, obsoleto en este caso, lo incluí por si decidía expandirme del todo

Blanco 3 y 4: se emparejarán, puede soldar estos dos juntos o usar un puente como lo hice yo.

Pasador blanco de 5 pestillos, un pasador muy importante que es el paso final en el proceso para que las pepitas se enciendan y apaguen. Configuré este pin en el pin 12 en el Arduino

Blanco 6 - Pin de reloj, esto proporciona el reloj desde Arduino al registro de desplazamiento. Configuré esto en el pin digital 13.

Blanco 7 y 8: se emparejarán, puede soldar estos dos juntos o usar un puente como lo hice yo.

Justo al lado del cuadro blanco tienes los pines Ground y VCC. Debe proporcionar 5v del Arduino u otra fuente para alimentar este sensor.

Los números de ubicación PIP se pueden encontrar en el código.

Ahora que tienes que conectarlo, tenemos que calibrarlo. Mi objetivo era crear un script que pudiera calibrarlo para usted, pero se me acabó el tiempo para hacerlo. Al calibrar, debe asegurarse de que el sensor esté en un entorno de iluminación controlada, sienta que es sensible a la luz inferida del exterior. Debe obtener un valor de cada ubicación de pip con un punto negro y un punto blanco y promediar la diferencia. Usé solo dos lados de los dados para calibrar, usé el lado 1, el lado 6 y el lado 6 girado 90 grados. Una vez que tenga un número para el blanco y el negro para cada ubicación de pip, debe promediarlos y encontrar el medio de los dos números. Entonces, por ejemplo, si obtuve 200 para el blanco de la primera ubicación de pip y 300 para el valor oscuro de la primera ubicación de pip, entonces el número de calibración sería 250. Una vez que haga esto para las 5 ubicaciones de pip, su sensor está correctamente calibrado, entonces puede usar dice. ReadFace (); para obtener la cara actual de los dados.

Paso 5: Solicitud

Solicitud
Solicitud
Solicitud
Solicitud
Solicitud
Solicitud

¡Ha creado con éxito un sensor de dados! ¡Felicidades! Este ha sido un largo camino de prueba y error para mí para crear este sensor, por lo que mi objetivo es ayudar a cualquiera que quiera crear un sensor de dados.

He incluido algunos ejemplos del proyecto que construimos que usó este sensor. En la primera imagen, usamos una rueda de paletas para colocar correctamente los dados sobre el sensor cada vez. La segunda imagen fue el producto final de nuestro proyecto, y la base girará dependiendo de cuál sea la cara de los dados, y la tercera imagen es una caja de presentación que diseñé y construí para mostrar estos sensores.

La posibilidad de este sensor es infinita si te lo propones. Espero que este tutorial le resulte agradable y educativo, y espero que intente hacer uno para usted.

¡Dios los bendiga!

Recomendado: