¿Cómo reducir el número de pines para tres segmentos de 7 led?

2

En mi proyecto necesito usar

7x interruptores táctiles

6x LEDs

3x 7 segmentos led

1 tablero de arduino uno

mi profesor dice que podemos usar cualquier IC pero los pines de arduino uno no pueden acomodar todos esos valores necesarios. Necesito manipular todos los interruptores táctiles y los 6 LED, de modo que lo único que se puede reducir es el problema con el segmento de 7 led.

¿Puede sugerir una manera en que pueda reducir la cantidad de pines necesarios para ser usados en el arduino uno?

    
pregunta MonkeyD

4 respuestas

0

Para 7 interruptores, MM74HC164M SHIFT REG 8BIT PISO 14-SOIC
Para 6 LED y 2 dígitos LED, (3) MM74HCT164MX SIFT REG 8BIT 14SOIC de SIPO
Para (3) dígitos LED, elija los LED con BCD a 7seg decoder integrado.
El clk & las líneas de datos se comparten pero se necesita un selector de chip,

    
respondido por el Tony EE rocketscientist
3

Probablemente pueda reducir el uso de los GPIO de la siguiente manera:

  • En lugar de usar 7 GPIOs para 7 interruptores táctiles, puede usar una matriz de 3x3 para 9 interruptores: 6 GPIOs
    (puedes agregar 2 más interruptores de tacto)

  • En lugar de usar 6 GPIOs para 6 x leds, puedes usar una matriz de 2x3 para 6 leds: 5 GPIOs

  • En lugar de usar 21 GPIOS para 3 x 7 segmentos, puede colocarlo en un bus de 7 bits y usar 3 pines más para controlar el segmento 7: 10 GPIOs

Paralosinterruptores,necesitaescanearlasfilasdelamatrizysaberquétactosepresiona,yparaelledy7segmentosnecesitarefrescarserápidamente,debidoalbrilloposteriordelosojos(remanencia)elusuarionopudoverelparpadeo/parpadeo,usuarioThinkLightsefijaenestosdiferentesleds.

Antes:34GPIOs
Después:21GPIOs(con2interruptoresmás)

Tambiénpuedeconsiderarlos6ledscomoun"falso 7 segmentos" y reutilizar su bus de 7 bits para controlarlos, solo necesita 1 GPIO para seleccionar este "segmento falso 7".

Antes: 34 GPIOs
Después: 17 GPIOs (con 2 interruptores más)

    
respondido por el rom1nux
1

Utilice ' Charlieplexing ':
- Se pueden controlar 6 LED mediante 3 PIN: consulte el enlace aquí
- 7 (hasta 12) conmutadores con 4 PIN: consulte este enlace , capítulo llamado "Charlieplexing también para los botones de interfaz"
- Para la pantalla de 7 segmentos, recomendaría la pantalla LED de 4 dígitos impulsada por I2C (2 PINs - SDA y SCL) - para ver las opciones disponibles coloque una línea de "pantalla de 7 segmentos i2c" en google.

Total: 3 + 4 + 2 = 9 PINs.

    
respondido por el smajli
1

Se pueden multiplexar 3 x 7 segmentos y 6 LED con 7 + 4 = 11 pines, en una disposición de 4 x 7 (conecte los LED como si fueran un cuarto dígito).

Si usa 6 diodos con los 6 interruptores, puede compartir los pines de segmento de los segmentos LED y usar un pin de entrada compartido (con pull-up) para leer los interruptores.

Por lo tanto, un total de 12 pines será suficiente para un enfoque simple (no se requieren chips adicionales).

Al usar los registros de desplazamiento o los extensores de E / S, necesitará incluso menos pines. Un MPC23017, por ejemplo, requiere 2 pines (I2C) y le brinda 16 pines GPIO, que es más que suficiente para hacer todo lo que pidió. Pero se requiere algo de programación ....

    
respondido por el Wouter van Ooijen

Lea otras preguntas en las etiquetas