Quiero crear una tabla de LED interactiva. ¿Cuáles son mis opciones para un controlador?

2

He visto un par de videos e instructivos donde las personas han creado una matriz de LED controlados por fotodiodos / fotorresistores dentro de las mesas de café, de modo que cuando coloca la mano sobre la mesa o coloca una taza, las luces debajo del objeto. iluminar.

Quiero llevar esto al siguiente nivel controlando la matriz con un microcontrolador. La razón es: puedo hacer aún más con la matriz, tal vez convertirlo en un medidor VU o hacer espectáculos de luz fría.

Esto es lo que estaba pensando:
Una matriz de LED de 9x5 (azul) con una matriz de sensores (fotorresistores) de 8x4:

Tengo un par de microcontroladores PIC con 36 pines de E / S por ahí y otros más pequeños. No he usado PIC MCs antes, así que pensé que este podría ser un buen proyecto para usarlos.

¿Tiene alguna recomendación para el diseño del controlador? ¿Tal vez podría usar 2 MC, uno para los LED y otro para sensores? ¿Tal vez solo use un MC y utilice demultiplexores para cambiar los muchos sensores?

¡Ponlo en mis amigos!

    
pregunta Shubham

2 respuestas

2

Depende mucho de los PIC que tenga disponibles, en particular de cuánto y qué tipo de E / S tienen, piense en un ADC multiplexado analógico.

El intercambio de filas o columnas entre sensores y LED, como sugiere Chris, a menudo se realiza si los sensores son digitales como los LED I / O, por ejemplo, para una matriz de botones. No es tan evidente para mezclar analógicos (fotorresistores) y digitales (LED). Lo que podría compartir es los E / S que controlan (des) multiplexores si los necesitaría.

Sería una buena idea tener un controlador separado para sensores y LED, como usted sugiere, ya que las E / S adicionales pueden hacer que algunos multiplexores no sean necesarios. También necesitarás unas pocas líneas en cada una para la comunicación entre las dos. Como lo entiendo, querrás comenzar con una simple "acción". señal, pero cuando la interacción se vuelve más avanzada, es posible que desee pasar las coordenadas de la taza al otro controlador, de modo que sus acciones puedan depender de estas coordenadas. Un UART simple funcionará, pero aún necesita 2 E / S en cada controlador (incluso si solo tiene comunicación en una dirección).

Para los sensores, estoy pensando en dos multiplexores CD4051, uno para las filas y otro para las columnas de una matriz. Si su PIC tiene un multiplexor analógico para su ADC, puede hacerlo con un solo CD4051, pero esto usa algunas E / S más.
Seleccione uno de los fotorresistores para colocar en serie con una resistencia fija para hacer un divisor de voltaje, de modo que pueda determinar el valor del fotorresistor con un ADC.

Para controlar los LED, puede usar un demultiplexador 74HC138 para seleccionar una fila y usar la salida activa de bajo nivel para controlar un transistor PNP que generará la corriente para controlar una columna. Para controlar las columnas, puede utilizar un puerto de E / S del PIC directamente.
Como dije, puedes compartir las líneas de conducción de uno de los multiplexores analógicos con los del 74HC138. Solo te guarda 3 líneas de E / S.

    
respondido por el stevenvh
2

Podría considerar el uso de expansores IO, cpld's o sí, podría usar microcontroladores esclavos. Dado que un proyecto de este tipo solo tiene que responder en marcos temporales humanos, la arquitectura interna puede requerir una larga serie de tareas para producir un resultado visible para el hombre.

Sus sensores podrían colocarse fácilmente en una matriz de fila-columna que escanearía.

Sus LED pueden estar en una matriz en la medida en que esté dispuesto a manejarlos con pulsos en lugar de hacerlo de forma continua (lo cual es bastante común).

Es posible que pueda compartir un conjunto (la fila o la columna) entre los sensores y los LED.

Es posible que estudies una técnica llamada "charlieplexing" aunque con todo lo que tiene concesiones.

    
respondido por el Chris Stratton

Lea otras preguntas en las etiquetas