Tabla de contenido:

Uso de una matriz de LED como escáner: 8 pasos (con imágenes)
Uso de una matriz de LED como escáner: 8 pasos (con imágenes)

Video: Uso de una matriz de LED como escáner: 8 pasos (con imágenes)

Video: Uso de una matriz de LED como escáner: 8 pasos (con imágenes)
Video: Arduino desde cero en Español - Capítulo 43 - Matriz LED 8x8 con MAX7219 y LedControl 2024, Noviembre
Anonim
Image
Image
¡Haga cosas cuadradas con tarjetas de visita obsoletas!
¡Haga cosas cuadradas con tarjetas de visita obsoletas!

Por marciot

¡Haga cosas cuadradas con tarjetas de visita obsoletas!
¡Haga cosas cuadradas con tarjetas de visita obsoletas!
Bricolaje 2.5xa 5x Gafas de ópera / concierto
Bricolaje 2.5xa 5x Gafas de ópera / concierto
Bricolaje 2.5xa 5x Gafas de ópera / concierto
Bricolaje 2.5xa 5x Gafas de ópera / concierto
Detector de fugas de agua inalámbrico para toda la casa y sistema de corte de agua de emergencia
Detector de fugas de agua inalámbrico para toda la casa y sistema de corte de agua de emergencia
Detector de fugas de agua inalámbrico para toda la casa y sistema de corte de agua de emergencia
Detector de fugas de agua inalámbrico para toda la casa y sistema de corte de agua de emergencia

Acerca de: Soy un aficionado con interés en software de código abierto, impresión 3D, ciencia y electrónica. ¡Visite mi tienda o la página de Patreon para ayudar a respaldar mi trabajo! Más sobre marciot »

Las cámaras digitales comunes funcionan mediante el uso de una gran variedad de sensores de luz para capturar la luz a medida que se refleja en un objeto. En este experimento, quería ver si podía construir una cámara al revés: en lugar de tener una serie de sensores de luz, tengo un solo sensor; pero controlo cada una de las 1.024 fuentes de luz individuales en una matriz de LED de 32 x 32.

La forma en que funciona es que el Arduino ilumina un LED a la vez, mientras usa la entrada analógica para monitorear los cambios en el sensor de luz. Esto permite que Arduino pruebe si el sensor puede "ver" un LED en particular. Este proceso se repite para cada uno de los 1.024 LED individuales rápidamente para generar un mapa de píxeles visibles.

Si se coloca un objeto entre la matriz de LED y el sensor, el Arduino puede capturar la silueta de ese objeto, que se ilumina como una "sombra" una vez que se completa la captura.

BONIFICACIÓN: con pequeños ajustes, el mismo código se puede utilizar para implementar un "lápiz digital" para pintar en la matriz de LED.

Paso 1: Piezas utilizadas en esta compilación

Piezas utilizadas en esta compilación
Piezas utilizadas en esta compilación
Piezas utilizadas en esta compilación
Piezas utilizadas en esta compilación

Para este proyecto, utilicé los siguientes componentes:

  • Un Arduino Uno con placa de pruebas
  • Matriz LED 32x32 RGB (ya sea de AdaFruit o Tindie)
  • Adaptador de corriente 5V 4A (de AdaFruit)
  • Adaptador de corriente CC hembra Conector de 2,1 mm a bloque de terminales de tornillo (de AdaFruit)
  • Un fototransistor TIL78 transparente de 3 mm
  • Cables de puente

AdaFruit también vende un escudo Arduino que se puede usar en lugar de cables de puente.

Como tenía algunos créditos de Tindie, obtuve mi matriz de Tindie, pero la matriz de AdaFruit parece ser idéntica, por lo que cualquiera de las dos debería funcionar.

El fototransistor proviene de mis colecciones de piezas de hace décadas. Era una pieza transparente de 3 mm etiquetada como TIL78. Por lo que puedo decir, esa parte está destinada a infrarrojos y viene con una carcasa transparente o una carcasa oscura que bloquea la luz visible. Dado que la matriz de LED RGB emite luz visible, se debe utilizar la versión transparente.

Este TIL78 parece haber sido descontinuado, pero imagino que este proyecto podría realizarse utilizando fototransistores contemporáneos. Si encuentra algo que funcione, avíseme y actualizaré este Instructable.

Paso 2: cableado y prueba del fototransistor

Cableado y prueba del fototransistor
Cableado y prueba del fototransistor

Normalmente, necesitaría una resistencia en serie con el fototransistor a través de la potencia, pero sabía que el Arduino tenía la capacidad de habilitar una resistencia pull-up interna en cualquiera de los pines. Sospeché que podría aprovechar eso para conectar el fototransistor al Arduino sin ningún componente adicional. ¡Resultó que mi corazonada era correcta!

Usé cables para conectar el fototransistor a los pines GND y A5 del Arduino. Luego creé un boceto que establecía el pin A5 como INPUT_PULLUP. ¡Esto se hace normalmente para interruptores, pero en este caso proporciona energía al fototransistor!

#definir SENSOR A5

configuración vacía () {Serial.begin (9600); pinMode (SENSOR, INPUT_PULLUP); } void loop () {// Leer el valor analógico continuamente e imprimirlo Serial.println (analogRead (SENSOR)); }

Este boceto imprime valores en el puerto serie correspondientes al brillo ambiental. Al usar el práctico "Plotter en serie" del menú "Herramientas" del IDE de Arduino, puedo obtener un gráfico en movimiento de la luz ambiental. Mientras cubro y descubro el fototransistor con mis manos, la trama se mueve hacia arriba y hacia abajo. ¡Bonito!

Este boceto es una buena manera de verificar si el fototransistor está conectado con la polaridad correcta: el fototransistor será más sensible cuando se conecte en una dirección que en la otra.

Paso 3: Cableado del cable plano Matrix al Arduino

Cableado del cable plano Matrix al Arduino
Cableado del cable plano Matrix al Arduino

Para conectar la matriz al Arduino, revisé esta práctica guía de Adafruit. Para mayor comodidad, pegué el diagrama y los pines en un documento e imprimí una página de referencia rápida para usar mientras conectaba todo.

Asegúrese de que la pestaña del conector coincida con la del diagrama.

Alternativamente, para un circuito más limpio, puede usar el escudo de matriz RGB que vende AdaFruit para estos paneles. Si usa el escudo, necesitará soldar en un encabezado o cables para el fototransistor.

Paso 4: Conexión de Matrix

Conectando la Matrix
Conectando la Matrix
Conectando la Matrix
Conectando la Matrix
Conectando la Matrix
Conectando la Matrix

Atornillé los terminales de horquilla en los cables de alimentación de la matriz al adaptador de conector, asegurándome de que la polaridad fuera correcta. Como parte de las terminales quedaron expuestas, envolví todo con cinta aislante por seguridad.

Luego, enchufé el conector de alimentación y el cable plano, teniendo cuidado de no perturbar los cables de puente en el proceso.

Paso 5: Instale la biblioteca de matrices AdaFruit y pruebe la matriz

Instale la biblioteca de matrices AdaFruit y pruebe la matriz
Instale la biblioteca de matrices AdaFruit y pruebe la matriz

Deberá instalar el "Panel de matriz RGB" y la "Biblioteca Adafruit GFX" de AdaFruit en su IDE de Arduino. Si necesita ayuda para hacer esto, el tutorial es la mejor manera de hacerlo.

Le sugiero que ejecute algunos de los ejemplos para asegurarse de que su panel RGB funcione antes de continuar. ¡Recomiendo el ejemplo "plasma_32x32" ya que es bastante impresionante!

Nota importante: descubrí que si encendía el Arduino antes de enchufar el suministro de 5 V a la matriz, la matriz se iluminaría tenuemente. ¡Parece que la matriz intenta extraer energía del Arduino y eso definitivamente no es bueno para eso! Entonces, para evitar sobrecargar el Arduino, ¡siempre encienda la matriz antes de encender el Arduino!

Paso 6: cargue el código de escaneo de matriz

Segundo premio en el concurso Arduino 2019

Recomendado: