Contador 2 display 7 segmentos arduino

Contador 2 display 7 segmentos arduino

Contador 2 display 7 segmentos arduino

Circuito contador de 2 dígitos de 7 segmentos

Con esta modificación, cuenta con cada pulsación del botón, pero cuando suelto el botón, el número desaparece, pero sigue contando las pulsaciones. ¿Qué hago para que siga mostrando el número cuando suelto el botón?

Después de eliminar las líneas en blanco inútiles, y poner todos los { en sus propias líneas, esto es lo que tienes en loop(). El bucle while sólo será llamado si el estado del pin es HIGH. No hace nada si el estado del pin no es BAJO. Por lo tanto, ¿por qué está el bucle while ahí?

Si quito el bucle while, el número mostrado parpadea y no cuenta algunas pulsaciones. Ahora mismo el único problema que tengo es que cuando suelto el botón, el número desaparece, aunque sigue contando bien.

Display de 2 dígitos de 7 segmentos arduino 74hc595

Básicamente para cada dígito de 7 segmentos hay 8 pines: uno para el terminal común (ánodo o cátodo) y 7 pines para los 7 segmentos (A, B, C, D, E, F y G). Otro pin puede ser utilizado para el punto decimal (DP).

En los displays multidígitos de 7 segmentos (por ejemplo de 4 dígitos) todos los pines del mismo segmento están conectados entre sí (segmento A del dígito 1 con el segmento A del dígito 2…), y cada dígito tiene su pin común solo. Esto se llama técnica de multiplexación. Esta técnica minimiza el número de pines utilizados.

Como los 4 dígitos están multiplexados necesitamos refrescar la pantalla muy rápidamente (mostrar un dígito a la vez, los otros están apagados). Para ello he utilizado la interrupción del módulo Timer1 con la siguiente configuración:

// Configuración de la interrupción por desbordamiento del módulo Timer1TCCR1A = 0;TCCR1B = 1; // habilitar el Timer1 con preescalador = 1 ( 16 ticks cada 1 µs)TCNT1 = 0; // poner el valor de precarga del Timer1 a 0 (reset)TIMSK1 = 1; // habilitar la interrupción por desbordamiento del Timer1

Multiplexación de la pantalla de 7 segmentos de 2 dígitos de arduino

El contador arriba/abajo es un proyecto clásico que se puede aplicar en muchas aplicaciones. En este proyecto, se introducen los componentes del 74HC595 y el tubo de visualización de 1 dígito (pantalla de 7 segmentos) del kit de inicio actualizado de Arduino.

Los contadores Up/Down son útiles en varias aplicaciones. Son especialmente eficaces como temporizadores que cada vez que alcanza un determinado número, (en la mayoría de los casos 9 o 0), se produce una función como la apertura o el cierre de una cerradura, un interruptor que redirige la corriente, y otros efectos similares.

El 74HC595 es un registro de desplazamiento de entrada en serie, en serie o de salida en paralelo, con latches de salida. Es un CI muy utilizado en el campo de los microcontroladores por su capacidad de reducir el número de pines utilizados. Se puede observar en este proyecto, donde en lugar de utilizar ocho pines de arduino para conducir la pantalla de 7 segmentos, se redujo a tres pines (datos, latch y reloj).

El display de 7 segmentos tiene 7 LEDs que están estructurados para formar números del 0 al 9. La pantalla de 7 segmentos en el kit de Arduino actualizado tiene la configuración de cátodo común. Esto significa que los pines del medio deben ser conectados a una tierra común para alimentar los LEDs. Los LEDs podrían encenderse añadiendo corriente a los pines específicos y podrían formarse en formas como se muestra en la tabla siguiente:

Circuito contador de 3 dígitos y 7 segmentos

Programamos un sketch de Arduino que crea un contador ascendente/descendente de 0 a 99 gestionado por 2 botones, uno para aumentar y otro para disminuir, y el sistema imprime el estado de la cuenta en 2 pantallas de siete segmentos. El circuito se muestra en la figura y también se puede implementar en la práctica. Los dos botones están montados en pull-down con resistencias de 10kOhm. Arduino acepta una tensión de 5V para el nivel alto y 0V para el nivel bajo en los pines digitales. Los LEDs de la pantalla están protegidos con resistencias de 220Ohm. Arduino genera una tensión de 5V en los pines digitales para el nivel alto y suministra una corriente de unos 40mA.

// botón de subida pulsado if((upnow==HIGH) && (upbefore==0)) { si (i<99) i++; } upbefore=upnow; // botón de bajada pulsado if((downnow==HIGH) && (downbefore==0)) { si (i>0) i–; } downbefore=downnow; // gestión de la pantalla: codificación de decimales 0-99 // a 2 dígitos para pantallas de 7 segmentos d=i/10; u=i-(d*10); // imprimir decenas digitalWrite(9,LOW); digitalWrite(8,HIGH); PORTD=numero[d]; delay(10);

Acerca del autor

admin

Ver todos los artículos