Estoy trabajando con un amigo (él tiene la visión, construye la estructura, estoy trabajando en la electrónica) en un proyecto a gran escala que involucra una cuadrícula de imágenes iluminadas por un LED con solo presionar un botón. Planea tener 1000 imágenes, cada una con sus propios botones. Planeo ejecutar todo el proyecto en una Raspberry Pi. Los LED pasarán por SPI. Tengo problemas para descubrir cómo conectar y monitorear una cantidad tan grande de botones (he hecho muchos LED pero tengo poca experiencia con el monitoreo de múltiples entradas). He pensado en un par de opciones y me pregunto cuál es la mejor, si esto es factible:
¿Alguna de estas opciones es factible para ejecutarse en una sola RaspberryPi con buenos tiempos de respuesta? Registrar múltiples prensas es menos importante que tener algo que responda rápidamente con cada prensa individual en este escenario.
Ciertamente podría funcionar, I2C puede funcionar bastante rápido. Solo asegúrese de que los circuitos integrados que está utilizando admitan un espacio de direcciones lo suficientemente amplio como para sentarse en el mismo bus. Lo bueno de I2C es que es multimaestro, si encuentra un IC que pueda informar a su controlador principal cuando se presionó un botón, debería funcionar bien. Incluso si tiene que recurrir al sondeo, la frambuesa pi debería poder manejar esa carga sin problemas.
En cuanto a los tiempos de respuesta, puede calcularlos aproximadamente revisando los diagramas de tiempo en la hoja de datos y con un poco de experimentación. Comience con el tiempo que le toma adquirir los datos en primer lugar. A menos que haya un cuello de botella terrible en algún lugar, debería funcionar lo suficientemente rápido para la función prevista.
En gran medida, dependerá de qué tan separados estén sus botones, también dependerá de la necesidad potencial de admitir múltiples botones activados al mismo tiempo.
Sugeriría que podría usar un controlador de teclado de PC simple (los teclados son realmente baratos), admite alrededor de 104 teclas (botones) y proporciona un cambio de tecla N para que pueda ver muchos botones presionados a la vez. Si usa un controlador de teclado, puede conectarlo a través de USB, conectar varios a través de un concentrador (un concentrador de 8 puertos le daría alrededor de 800 botones) y el software para un dispositivo de teclado es fácil de escribir.
Si obtiene teclados con tomas USB, ya tienen un concentrador interno, por lo que también podría serializarlos de esa manera.
En muchos teclados, el controlador está en una pequeña placa base separada de la matriz de teclas, lo que hace que las cosas sean agradables y fáciles. He cortado muchos teclados solo para obtener las teclas de función para varios proyectos y funciona bien.
Ely Eastman