Conducción de siete segmentos de 3 dígitos usando Arduino Uno R3 y un Demux

Tengo que iluminar pantallas de 3 dígitos y 7 segmentos con Arduino Uno R3. Tengo decodificadores de pantalla de 3 BCD a 7 segmentos. Pensé que necesitaba un decodificador de 4 a 16, así que compré uno y resultó que en realidad es un decodificador de "línea" de 4 a 16, o precisamente, un Demux de 4 a 16. El Demux tiene salida con solo uno ALTO a la vez... que no puedo usar con los decodificadores de pantalla de segmento BCD a 7 (no se puede crear alguna combinación de entrada en ellos).

¿Hay alguna solución a esto?


el diagrama del circuito Si tiene tiempo, aclare que esta configuración es correcta. Gracias

ingrese la descripción de la imagen aquí

Respuestas (1)

Creo que estás complicando un poco tu problema. No necesita el decodificador 4-16 en absoluto.

Simplemente entregue cuatro líneas de salida desde la placa MCU a los tres pines de entrada de dígitos de los decodificadores de segmento BCD-Seven en común. Luego conecte tres señales más desde la MCU con una que vaya al pin de habilitación en cada uno de los decodificadores de segmento BCD-Seven. El software que necesita crear con este tipo de conexión de pantalla generará secuencialmente el código de cuatro bits para cada dígito de la pantalla mientras activa solo una de las tres señales de habilitación del decodificador correspondientes al dígito que se muestra en este momento.

Si los decodificadores de visualización que ha seleccionado son del tipo sin ningún bloqueo de datos, entonces necesita ejecutar este algoritmo de visualización en un bucle de repetición rápida. La pantalla resultante solo tendrá cada dígito ENCENDIDO el 33% del tiempo, pero si ejecuta la actualización lo suficientemente rápido, los tres dígitos parecerán estar fijos.

Si los decodificadores de pantalla que está utilizando son del tipo que tienen un pestillo interno para contener los datos de dígitos, entonces esas tres líneas que van a cada decodificador deben conectarse a los pines que hacen que los datos de entrada de dígitos se capturen en el pestillo. Cualquier pin de habilitación adicional en los chips del decodificador de pantalla puede simplemente abrirse o bajarse según corresponda para mantener el decodificador activo todo el tiempo. Con este esquema, el software solo haría su proceso de salida tres veces en el momento en que fuera necesario cambiar el contenido de la pantalla.

Con estos esquemas, ha consumido un total de 4 + 3 para un total de 7 líneas de E/S para ejecutar su pantalla. El uso del chip decodificador 4-16 podría entrar en juego si intentara construir una pantalla con más dígitos. Supongamos que hizo una pantalla de 16 dígitos, los mismos pines de datos de cuatro dígitos se usarían para todos los 16 decodificadores de pantalla, pero en lugar de 16 señales de habilitación de decodificador separadas de la MCU, el decodificador podría usarse para aceptar un código de 4 bits separado que selecciona uno de los 16 dígitos para actualizar en un momento determinado. En realidad, también podría usar este esquema para su pantalla de tres dígitos y solo usar tres salidas del decodificador 4-16. Si se hace de esta manera, dos de las 4 entradas al decodificador 4-16 se conectarían a GND y luego las otras dos entradas provendrían de la MCU. Esto reduciría el uso total de E/S de la MCU a 4 + 2 = 6 líneas.

Si la salida de decodificación del decodificador 4-16 tiene la polaridad incorrecta para conectarse correctamente a las entradas de control de activación o bloqueo de los decodificadores BCD, entonces sería necesario conectar inversores entre los decodificadores 4-16 y los decodificadores BCD. La posible necesidad de inversores es otra razón por la que sugerí ni siquiera usar los decodificadores 4-16 para su pantalla de tres dígitos. Su software puede encargarse de la polaridad de activación/bloqueo correcta para los decodificadores BCD sin tener que agregar chips adicionales.

Voy con el segundo método: usar 3 de la salida de demux para cada pin habilitado para el decodificador BCD. Entonces, configuré 2 de la entrada de demux en tierra y las otras dos en Mcu. ahora, con eso y el método "ON 33% of the time" (que descubrí que es la forma común de hacer esto), intentaré que funcione. Su respuesta señor, es muy apreciada. :)