Contador de 0 a 999 con arduino
Contador de 3 dígitos de 7 segmentos 000-999 usando arduino
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
Contador digital «0 a 999», manejando un ánodo común siete
He sido capaz de hacer que la pantalla de 7 segmentos de 3 dígitos cuente de 000 a 999, sin embargo, parece que no puedo eliminar la «sombra» que hace mientras cuenta. El número que muestra el lugar de la centena está siendo ‘sombreado’ al lugar de las unidades y las decenas…
¿Quieres decir que el bucle j for debe estar dentro del bucle i for? ¿Debería el lugar de las centenas estar en un bucle for? Ese bucle for imprime el dígito de las centenas 3 veces y estás usando j como el dígito a imprimir, por lo que lo hace una vez en el dígito 0, luego en el 1, y luego en el 2.
¿Quieres decir que el bucle for j debe estar dentro del bucle for i? ¿Debería la cosa de las centenas estar en un bucle for? Ese bucle for imprime el dígito de las centenas 3 veces y estás usando j como el dígito a imprimir para que lo haga una vez en el dígito 0, luego en el 1, y luego en el 2.
Proyectos arduino 08 – contador de siete segmentos 0-999
(5) Las resistencias limitadoras de corriente para las líneas de segmento se omiten por simplicidad. Se recomienda poner una resistencia de 220 – 680 ohmios en serie con cada línea de segmento. Sin embargo, si el experimento es para un cortocircuito puede continuar sin estas resistencias.
Hace mucho tiempo (desde el segundo año de universidad) que no me ocupo de una pantalla de 7 segmentos. De la parte superior de mi cabeza yo usaría 3 74LS47 decodificación de IC y para el bucle a través de la dirección de nivel de puerto y el incremento al siguiente dígito después de la primera es mayor que 9. Esto utilizará 12 pines, así que probablemente haya una mejor manera de hacerlo, pero es una manera bastante simple y un buen ejercicio.
De hecho, hay muchas maneras de hacer lo mismo. Tenemos que empezar con ‘algo’ que sea ‘Básico (Simple y Elemental)’. Es difícil juzgar cuál es la más simple entre muchas opciones hasta que realmente hacemos las cosas.
El OP ha hecho el post a la 1:48 am; @larryd ha respondido a las 4:17 am con algunos consejos para el OP; @GolamMostafa ha aparecido a las 4:05 pm con algo que podría ser construido y probado; @dustion02rsx ha aparecido a las 7:58 pm con un método alternativo que también podría ser construido y probado; pero, ¡el OP no está aquí!
Arduino 16×2 lcd (contador arriba-abajo 0 – 9999)
Si ya has publicado sin usar etiquetas de código, abre tu mensaje y selecciona «modificar» en el menú desplegable etiquetado como «Más», en la esquina inferior izquierda del mensaje. Antes de publicar el código, utilice Ctrl-T en el IDE para reformatear el código en un formato estándar, lo que facilita su lectura. Resalte su código seleccionándolo (se vuelve azul), y luego haga clic en el icono «</>» en la esquina superior izquierda. Haga clic en el botón «Guardar». Las etiquetas de código también pueden insertarse manualmente en el texto del foro utilizando el botón
Puede ser mucho más fácil utilizar una variable int para el valor, que puede incrementar y disminuir fácilmente. Mucho más fácil que su representación BCD del contador. Luego escriba una función para decodificar ese valor binario en dígitos decimales, para la salida a la pantalla.