Quiero construir una mesa LED interactiva. ¿Cuáles son mis opciones para un controlador?

He visto un par de videos e instructables en los que la gente ha creado una matriz de LED controlados por fotodiodos/fotorresistores dentro de las mesas de café, de modo que cuando pones la mano sobre la mesa o bajas una taza, las luces debajo del objeto se encienden.

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 convertirla en un medidor de VU o hacer espectáculos de luces geniales.

Esto es lo que estaba pensando:
una matriz de LED de 9x5 (azul) con una matriz de sensores de 8x4 (fotorresistores):ingrese la descripción de la imagen aquí

Tengo un par de microcontroladores PIC con 36 pines de E/S y algunos otros más pequeños. No he usado PIC MC 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 los sensores? ¿Tal vez solo use un MC y use demultiplexores para cambiar los muchos sensores?

¡Pónganmelo en mis manos, muchachos!

¿Qué PIC tienes?
Tengo 2 PIC16F1519 y 2 más pequeños de 8 pines... no recuerdo el número de parte
Los LED también se pueden utilizar como sensores de luz.
Curiosamente, los LED también se pueden usar como fotosensores: blog.makezine.com/archive/2009/08/…
Shubham, ¿es posible que comparta su diagrama de circuito si ha terminado con su mesa? Porque estoy planeando hacer el piso interactivo LED, pero no estoy muy seguro de cómo hacerlo. gracias

Respuestas (2)

Mucho depende de los PIC que tenga disponibles, particularmente cuánto y qué tipo de E/S tienen, piense en ADC multiplexado analógico.

Compartir filas o columnas entre sensores y LED, como sugiere Chris, a menudo se hace si los sensores son digitales como las E/S de LED, por ejemplo, para una matriz de botones. No es tan evidente al mezclar analógico (fotorresistores) y digital (LED). Lo que podría compartir son las E/S que controlan (des) multiplexores si los necesita.

Tener un controlador separado para sensores y LED, como sugiere, podría ser una buena idea, ya que las E/S adicionales pueden hacer que algunos multiplexores sean innecesarios. También necesitará algunas líneas en cada uno para la comunicación entre los dos. Según tengo entendido, 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, para 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, el otro para las columnas de una matriz. Si su PIC tiene un multiplexor analógico para su ADC, puede hacerlo con solo un CD4051, pero esto usa algunas E/S más.
Seleccione uno de los fotorresistores para colocarlo en serie con un resistor fijo 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 demultiplexor 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 usar un puerto de E/S del PIC directamente.
Como dije, puede compartir las líneas de conducción de uno de los multiplexores analógicos con las del 74HC138. Solo le ahorra 3 líneas de E/S.

Tengo 2 PIC16F1519. El ADC es algo sobre lo que también quería preguntar: dice en el sitio de Microchips sobre el MC que tiene un ADC de 28 canales, ¿qué significa esto? ¿Significa que 28 pines de E/S pueden leer una señal analógica? microchip.com/wwwproducts/Devices.aspx?dDocName=en549053
También en lo que respecta a la energía, tengo un cargador de teléfono viejo que estoy usando como fuente de alimentación: 5.9V a 350mA. Por supuesto, regularé esto a 5 V, pero ¿será suficiente para alimentar 2 microcontroladores? ¿Qué pasa si enciendo 36 de los 72 pines que emiten 5 V a 25 mA (estoy bastante seguro)? ¿Eso consumirá demasiada corriente o atenuará los LED?
@Shubham: sí, puede tener tantas entradas analógicas. Por supuesto, si los configura todos como entradas analógicas, le quedarán muy pocas E/S digitales (si es que queda alguna). Sugeriría combinar varios pines configurados como analógicos con un multiplexor analógico, como expliqué en mi respuesta.
@Shubham: 45 LED x 25 mA = 1.125 A, por lo que el cargador no podrá controlar los LED. Al multiplexar, generalmente los conduce durante períodos cortos de tiempo con corrientes más altas, pero en promedio seguirá siendo de 25 mA.
¿Podría publicar el diagrama del circuito o el esquema de este proyecto considerando las diferentes opciones que mencionó? gracias :)

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

Sus sensores podrían colocarse fácilmente en una matriz de filas y columnas que escanearía.

Sus LED se pueden matrizar en la medida en que esté dispuesto a manejarlos con pulsos en lugar de continuamente (lo cual es bastante común).

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

Puede buscar una técnica llamada "charlieplexing", aunque como todo, tiene sus ventajas y desventajas.