Contador selectivo de 0 a 99999

Hola, buenas noches, me gustaría pediros ayuda para un aparatillo que se me ha ocurrido. Sería un contador de 0 a 99999, como indico en el título, pero con las siguientes particularidades:
-Tiene que aumentar y disminuir los díjitos.
-Tiene que ser de 10 en 10, de 100 en 100 y de 1000 en 1000.
-Al encenderse, tiene que tener un valor fijo de 8000.

Es para un proyecto de libre configuración que nos han pedido en clase, y se me ha ocurrido esto. Espero que me podais ayudar un poco, ya que esto luego querria montarlo en una placa impresa.

Muchas gracias de antemano.
 
Y, exactamente, ¿en dónde te atascas? Vemos que es algo sencillo: configurar el microcontrolador con la rutina de visualización de los dígitos, un valor inicial, y leer los pulsadores correspondientes.
 
Pero, a ver... necesitamos más información... ¿con qué tienes que construir eso? ¿Componentes pasivos, microcontrolador, microordenador?
¿Cuáles son los requisitos de la tarea?
 
Bien... pero tendrás conocimiento de todos los componentes para elegir aquel que te sea más sencillo.

Si eliges chips de puertas lógicas, pues tendrás que diseñar un circuito.
Si eliges un microcontrolador, deberás escoger uno que tenga suficientes salidas como para gobernar todos los dígitos y pulsadores.
 
Me gustaría hacerlo con microcontrolador, debido a que si lo hago con puertas lógicas, después a la hora de pasarlo a una placa impresa sería de mucho tamaño.
 
Bien. Necesitas saber entonces qué microcontrolador vas a usar.

El número de entradas y salidas... una entrada por pulsador. Eso hace 2 pulsadores por dígito × 3 dígitos = 6 pulsadores.

Para los dígitos, necesitas: 7 líneas × 5 dígitos = 56 líneas.

Esto es demasiado para un microcontrolador sencillo, como un Arduino. Una opción es multiplexar líneas, para que las 7 líneas se conecten a todos dígitos, y controlar con 5 líneas los comunes de cada dígito. Entonces solo necesitas 5 + 7 = 12 líneas.

Otra opción es usar un chip de almacenamiento serie: colocas 5 chips en serie, que almacenarán los 5 dígitos. El Arduino transmite por serie los 7 × 5 = 35 bits y luego activa una línea para se muestren todos los dígitos.

¿Qué solución eliges?
 
Hasta ahora lo que tenía hecho es lo siguiente:
Lo primero que hice fue convertir los números con los que voy a trabajar a binario para trabajar con ellos
99999: 11000011010011111
1000: 1111101000
100: 1100100
10: 1010
8000: 1111101000000

Sé que no es mucho, pero el proyecto se me ocurrió hacerlo hace apenas un par de horas y ya me encuentro atascado. Ahora estoy pensando lo que ha comentado el compañero antes, y me parece una mejor opción que lo que llevaba hasta ahora
 

Adjuntos

  • photo_2019-12-11_02-30-25.jpg
    photo_2019-12-11_02-30-25.jpg
    75.1 KB · Visitas: 16
  • photo_2019-12-11_02-30-31.jpg
    photo_2019-12-11_02-30-31.jpg
    69.7 KB · Visitas: 16
Los display no suelen funcionar con números decimales. Creo que hay algún chip 74xxxx que sí hace la conversión, pero no estoy seguro. Y por supuesto, sólo saben de dígitos sueltos, no agregados. Es decir, de 99999 solo entiende que son cinco '9'.
 
Bien. Necesitas saber entonces qué microcontrolador vas a usar.

El número de entradas y salidas... una entrada por pulsador. Eso hace 2 pulsadores por dígito × 3 dígitos = 6 pulsadores.

Para los dígitos, necesitas: 7 líneas × 5 dígitos = 56 líneas.

Esto es demasiado para un microcontrolador sencillo, como un Arduino. Una opción es multiplexar líneas, para que las 7 líneas se conecten a todos dígitos, y controlar con 5 líneas los comunes de cada dígito. Entonces solo necesitas 5 + 7 = 12 líneas.

Otra opción es usar un chip de almacenamiento serie: colocas 5 chips en serie, que almacenarán los 5 dígitos. El Arduino transmite por serie los 7 × 5 = 35 bits y luego activa una línea para se muestren todos los dígitos.

¿Qué solución eliges?

¿Cómo seria la opción de multiplexar las líneas?
 
Aquí tienes un tutorial para hacer una multiplexación sencilla:

He estado viendo el tutorial que me enviaste, pero según he entendido, necesitaria de 7 pines para el display y 5 para el control, lo cual me dejaría 2 pines disponibles para conectar las entradas. Cómo conectaría todas las entradas y esas 12 salidas? Dispongo de este modelo de placa Arduino
ELEGOO UNO R3

https://www.amazon.es/Tarjeta-Micro...ÅMÅŽÕÑ&keywords=arduino&qid=1576144846&sr=8-6
 
Puedes usar las entradas analógicas (A0-A5) en modo digital, y así tener 6 entradas más.
 
Atrás
Arriba