Estoy planeando construir un "control remoto universal" apto para niños para que los niños puedan encender y apagar una miríada de dispositivos controlados por IR con una o dos pulsaciones fáciles...
El control remoto tendrá quizás 20 botones grandes y gruesos que, cuando se presionan, envían múltiples señales IR a todos los dispositivos necesarios para, por ejemplo, encender el canal para niños, configurar la Wii, etc., etc.
La mayoría de los botones se distribuirán en un patrón de cuadrícula, pero algunos se pueden usar para arriba/abajo/izquierda/derecha, entrar, etc.
Usaré un Arduino Pro Mini o Uno como uC.
¿Hay alguna forma inteligente de conectar estos botones? ¿Un circuito tipo rejilla? ¿Entradas analógicas con diferentes resistencias entre cada botón? ¿Un IC que facilitará el trabajo?
Básicamente los enumeraste a todos.
Una Matriz de x filas y y columnas. Necesita pines x+y.
IC de expansión GPIO digital, preferiblemente con interrupción. I2C, SPI, incluso Serial están disponibles. Los pines de interrupción le permiten leer en la interrupción en lugar de sondear. Necesita tener hardware I2C/SPI/UART o agregar código de software. Este enfoque se usa principalmente si necesita mucho más GPIO del que tiene disponible en el microcontrolador principal. En ese momento, básicamente todavía está usando las opciones 1, 3 y 4, o el botón directo por pin.
Escalera de resistencia. Necesita un ADC y un sondeo constante. Es mejor dividirse en algunos grupos similares en múltiples canales ADC, pero puede hacer uno grande de 20 botones si realmente lo necesita.
Charlieplexing . Como una matriz multiplexada (#1), pero con dónde es el número de pines utilizados. Requiere tantos diodos como botones, por lo que está cambiando el número de pines por diodos. Sin embargo, podrías usar LED.
En su mayor parte, el #1 es el método más común. Cada teclado o teléfono de tonos que haya usado alguna vez, 1000 a 1, lo habría usado. Demonios, incluso los teléfonos celulares lo usan (específicamente, el Nokia 5110 que conozco lo usa). Para 20 botones, una matriz 4x5 solo tomará 9 pines, más que suficiente.
Texas Instruments fabrica un codificador de teclado i2C . Montaje superficial. No hay nada más simple que eso.
¿Un IC que facilitará el trabajo?
El controlador de teclado y expansor de E/S LM8330 es un dispositivo dedicado diseñado para liberar a un procesador host de la exploración de un teclado con direcciones de matriz y para proporcionar funciones de entrada/salida programables host flexibles y de propósito general. Se proporcionan tres salidas de temporizador de modulación de ancho de pulso (PWM) independientes para la modulación dinámica del brillo del LED.
Se comunica con un procesador host a través de una interfaz serial ACCESS.bus compatible con I 2 C. Puede comunicarse en modo estándar (100 kHz) y modo rápido (400 kHz) solo en modo esclavo.
Con esto, probablemente pueda salirse con la suya usando un ATtinyX5 en lugar de un ATmega.
Super gato
Transeúnte
Super gato
AMADANÓN Inc.