Ejercicio práctico: LEDS + Display 7 segmentos
Hoy te traemos un reto para ti.
Diseña un circuito electrónico con Arduino que integre un display de 7 segmentos y 9 LEDs. El objetivo es que el display muestre los números del 0 al 9, con un intervalo de 2 segundos entre cada número. Simultáneamente, los LEDs deben encenderse de manera progresiva en función del número que se muestra en el display.
Especificaciones:
- Si el display muestra el número 0, ningún LED debe estar encendido.
- Si el display muestra el número 4, deben encenderse 4 LEDs, uno tras otro, hasta completar el número.
- El proceso debe repetirse para los números del 0 al 9.
El encendido de los LEDs debe seguir el mismo ritmo que la aparición de los números en el display, es decir, uno por cada segundo.
Ayuda: El diagrama de conexión está proporcionado, el código lo encontraras más abajo de la publicación.

Ejemplos:








Código:
const int A = 2;
const int B = 3;
const int C = 4;
const int D = 5;
const int E = 6;
const int F = 7;
const int G = 8;
const int led1 = 9;
const int led2 = 10;
const int led3 = 11;
const int led4 = 12;
const int led5 = 13;
const int led6 = A0;
const int led7 = A1;
const int led8 = A2;
const int led9 = A3;
void setup() {
  pinMode(A, OUTPUT);
  pinMode(B, OUTPUT);
  pinMode(C, OUTPUT);
  pinMode(D, OUTPUT);
  pinMode(E, OUTPUT);
  pinMode(F, OUTPUT);
  pinMode(G, OUTPUT);
  
  pinMode(led1, OUTPUT);
  pinMode(led2, OUTPUT);
  pinMode(led3, OUTPUT);
  pinMode(led4, OUTPUT);
  pinMode(led5, OUTPUT);
  pinMode(led6, OUTPUT);
  pinMode(led7, OUTPUT);
  pinMode(led8, OUTPUT);
  pinMode(led9, OUTPUT);
}
void loop() {
  /*Número 0*/
  digitalWrite(A, 0);
  digitalWrite(B, 0);
  digitalWrite(C, 0);
  digitalWrite(D, 0);
  digitalWrite(E, 0);
  digitalWrite(F, 0);
  digitalWrite(G, 1);
  digitalWrite(led1, 0);
  digitalWrite(led2, 0);
  digitalWrite(led3, 0);
  digitalWrite(led4, 0);
  digitalWrite(led5, 0);
  digitalWrite(led6, 0);
  digitalWrite(led7, 0);
  digitalWrite(led8, 0);
  digitalWrite(led9, 0);
  /*Fin 0*/
  delay(2000);
  /*Número 1*/
  digitalWrite(A, 1);
  digitalWrite(B, 0);
  digitalWrite(C, 0);
  digitalWrite(D, 1);
  digitalWrite(E, 1);
  digitalWrite(F, 1);
  digitalWrite(G, 1);
  /*Fin1*/
  digitalWrite(led1, 1);
  delay(2000);
  /*Número 2*/
  digitalWrite(A, 0);
  digitalWrite(B, 0);
  digitalWrite(C, 1);
  digitalWrite(D, 0);
  digitalWrite(E, 0);
  digitalWrite(F, 1);
  digitalWrite(G, 0);
  digitalWrite(led1, 1);
  digitalWrite(led2, 1);
  /*Fin2*/
  delay(2000);
  /*Número 3*/
  digitalWrite(A, 0);
  digitalWrite(B, 0);
  digitalWrite(C, 0);
  digitalWrite(D, 0);
  digitalWrite(E, 1);
  digitalWrite(F, 1);
  digitalWrite(G, 0);
  digitalWrite(led1, 1);
  digitalWrite(led2, 1);
  digitalWrite(led3, 1);
  /*Fin3*/
  delay(2000);
  /*Número 4*/
  digitalWrite(A, 1);
  digitalWrite(B, 0);
  digitalWrite(C, 0);
  digitalWrite(D, 1);
  digitalWrite(E, 1);
  digitalWrite(F, 0);
  digitalWrite(G, 0);
  digitalWrite(led1, 1);
  digitalWrite(led2, 1);
  digitalWrite(led3, 1);
  digitalWrite(led4, 1);
  /*Fin4*/
  delay(2000);
  /*Número 5*/
  digitalWrite(A, 0);
  digitalWrite(B, 1);
  digitalWrite(C, 0);
  digitalWrite(D, 0);
  digitalWrite(E, 1);
  digitalWrite(F, 0);
  digitalWrite(G, 0);
  digitalWrite(led1, 1);
  digitalWrite(led2, 1);
  digitalWrite(led3, 1);
  digitalWrite(led4, 1);
  digitalWrite(led5, 1);
  /*Fin5*/
  delay(2000);
  /*Número 6*/
  digitalWrite(A, 0);
  digitalWrite(B, 1);
  digitalWrite(C, 0);
  digitalWrite(D, 0);
  digitalWrite(E, 0);
  digitalWrite(F, 0);
  digitalWrite(G, 0);
  digitalWrite(led1, 1);
  digitalWrite(led2, 1);
  digitalWrite(led3, 1);
  digitalWrite(led4, 1);
  digitalWrite(led5, 1);
  digitalWrite(led6, 1);
  /*Fin6*/
  delay(2000);
  /*Número 7*/
  digitalWrite(A, 0);
  digitalWrite(B, 0);
  digitalWrite(C, 0);
  digitalWrite(D, 1);
  digitalWrite(E, 1);
  digitalWrite(F, 1);
  digitalWrite(G, 0);
  digitalWrite(led1, 1);
  digitalWrite(led2, 1);
  digitalWrite(led3, 1);
  digitalWrite(led4, 1);
  digitalWrite(led5, 1);
  digitalWrite(led6, 1);
  digitalWrite(led7, 1);
  /*Fin7*/
  delay(2000);
  /*Número 8*/
  digitalWrite(A, 0);
  digitalWrite(B, 0);
  digitalWrite(C, 0);
  digitalWrite(D, 0);
  digitalWrite(E, 0);
  digitalWrite(F, 0);
  digitalWrite(G, 0);
  digitalWrite(led1, 1);
  digitalWrite(led2, 1);
  digitalWrite(led3, 1);
  digitalWrite(led4, 1);
  digitalWrite(led5, 1);
  digitalWrite(led6, 1);
  digitalWrite(led7, 1);
  digitalWrite(led8, 1);
  /*Fin8*/
  delay(2000);
  /*Número 9*/
  digitalWrite(A, 0);
  digitalWrite(B, 0);
  digitalWrite(C, 0);
  digitalWrite(D, 1);
  digitalWrite(E, 1);
  digitalWrite(F, 0);
  digitalWrite(G, 0);
  digitalWrite(led1, 1);
  digitalWrite(led2, 1);
  digitalWrite(led3, 1);
  digitalWrite(led4, 1);
  digitalWrite(led5, 1);
  digitalWrite(led6, 1);
  digitalWrite(led7, 1);
  digitalWrite(led8, 1);
  digitalWrite(led9, 1);
  /*Fin9*/
  delay(2000);
}Pública tu duda o comentario
Resuelve tus dudas con la comunidad.
 
        

(0) Comentarios
No registra comentarios, se el primero en comentar.
Publicar