Esto es ciertamente posible con casi cualquier micro pequeño. Puede obtener uno con suficientes pines o hacer un poco de multiplexación para los botones y hacer que los LED se controlen mediante los registros de desplazamiento.
Para 4 LEDs más micro una celda de moneda no va a funcionar, tienen una impedancia interna muy alta, generalmente solo pueden suministrar unos pocos mA antes de que la tensión caiga por debajo de un nivel "utilizable". Unas pocas AAA / AA / Li-Ion serían más capaces.
Si ejecuta los LED a una corriente muy baja y el micro a, por ejemplo. 32 kHz, entonces podría funcionar, pero a menos que exista una necesidad apremiante de usar celdas de monedas, las evitaría.
Algo como el PIC16F1828 de 20 pines, algunos botones y algunos registros de turnos Sé una manera barata y fácil de hacer esto. Obviamente si prefieres otra marca de micro entonces hay muchos equivalentes.
EDITAR - algunos detalles:
Registros de desplazamiento
Un registro de cambios básicamente convierte los datos en serie en datos paralelos o viceversa. Lo que necesitará es un registro de desplazamiento en serie a paralelo como el 74HC595. Tiene 3 entradas de control principales, una entrada de reloj, una entrada de datos y una entrada de cierre. El 595 tiene 8 flip-flops en una cadena (los flip flops almacenan 1s o 0s) como este (se muestran 4):
Cuandoelrelojcambia,elvalorqueseencuentraenelpindeentradadedatos(1o0)sedesplazaalIC,yelúltimovalorsedesplaza(seolvidaoseenvíaaotro595siseencadena).losdatosenunbitalavezhastaquehayaconfiguradolos8flipflopsalvalordeseado.
Luego,parageneraresosdatos,estableceelpindecierreylosdatosaparecenenlos8pinsdesalida.Porlotanto,sepuedenusar3pinesparacontrolar8pines(o16,24,32,etc.)
Aquíhayunafotode2595sencadenadosymanejadosdesdeunArduino:
Hay un montón de tutoriales que se detallan mucho más detalladamente que los anteriores, busque en Google "tutorial de registro por desplazamiento" y obtendrá elementos como:
Tutorial de registro de cambios PIC
Tutorial de Arduino 74HC595
Otro tutorial de 74HC595
Botones
Puede usar un multiplexor como lo menciono anteriormente (vea cosas como 74HC4051 , 4052 y 4053), pero como estamos hablando de registros de cambios, vale la pena mencionar que podemos usar un registro de cambios de entrada en serie y paralelo para leer los botones. Las mismas conexiones, al revés: cerramos los estados de los botones en los flip flops, luego sincronizamos los datos bit a bit en el pin del microcontrolador (es decir, leemos en cada reloj y los almacenamos para que termine con 8 valores binarios)
Aquí hay un ejemplo:
Pensamientosfinales
Apartirdeloscomentariosydespuésdehabertenidoalgodetiempoparapensar,meinclinoporusarsolounmicroconsuficientespinesparatener1porLEDybotón.Estaseráunahuellamáspequeñaqueladelosregistrosdeturnoseinvolucraráelfirmwaremássimple.Iríaporesto,almenos,paracomenzarconlacreacióndeprototipos.
Stevendiounamuybuenarespuesta,ymultiplexarutilizandopinesIOesunaformacomúndehacerlascosas(consulte Charlieplexing para un método de multiplexación muy económico) y ciertamente vale la pena conocerlo.
La unidad de celda de la moneda es ciertamente posible como se ha mencionado Para una idea aproximada, tengo un prototipo de proyecto aquí que usa uno de los PIC16F1828 mencionados anteriormente con una pantalla de 7 seg, 2 botones (el 16F1828 tiene pull ups internos, por lo que no se requieren resistencias) y 2 leds, que se ejecutan desde una celda de moneda y duerme entre operaciones: la celda tiene una duración de hasta un año con un uso normal. Por lo tanto, es ciertamente posible, solo agrega la complejidad que quizás desee guardar hasta más adelante.
En resumen, hay muchas formas de hacerlo: si tiene una placa de apoyo, ¿por qué no toma los componentes de las opciones que quiere probar (use las versiones Dip y luego cambie a SMD para la versión final si es posible) y experimente? en el ocio.