Menu
CoddyTech

Cuenta en el display

Parte de la sección Pantallas y sensores del Journey de Arduino de Coddy. Lección 3 de 24.

Con showDigit(), cada dígito es una llamada a la función. Un bucle for puede llamarla con cada número por turno:

for (int n = 0; n <= 9; n++) {
  showDigit(n);
  delay(500);
}

La condición determina el último número. n <= 9 se ejecuta hasta el 9 inclusive; n < 9 se detiene en 8.

Coloca el bucle dentro de loop() y, cuando termine el conteo, loop() se ejecuta de nuevo y el conteo comienza otra vez desde 0.

challenge icon

Desafío

Fácil

showDigit() está lista. Cuenta en la pantalla:

  • muestra 0, 1, 2 y así sucesivamente hasta 9
  • mantén cada número encendido durante 500 ms
  • después de 9, vuelve a empezar en 0

Presiona Run para verla contar y luego Check.

Pruébalo tú mismo

const int segmentPins[7] = {2, 3, 4, 5, 6, 7, 8};  // a, b, c, d, e, f, g

// Un patrón por dígito, leído desde la derecha: el último bit corresponde al segmento a.
//                     gfedcba
const byte digits[10] = {
  0b0111111,  // 0
  0b0000110,  // 1
  0b1011011,  // 2
  0b1001111,  // 3
  0b1100110,  // 4
  0b1101101,  // 5
  0b1111101,  // 6
  0b0000111,  // 7
  0b1111111,  // 8
  0b1101111   // 9
};

void showDigit(int n) {
  for (int i = 0; i < 7; i++) {
    if (bitRead(digits[n], i) == 1) {
      digitalWrite(segmentPins[i], LOW);   // encendido
    } else {
      digitalWrite(segmentPins[i], HIGH);  // apagado
    }
  }
}

void setup() {
  for (int i = 0; i < 7; i++) {
    pinMode(segmentPins[i], OUTPUT);
  }
}

void loop() {
  // muestra del 0 al 9, medio segundo cada uno
}
quiz iconPonte a prueba

Esta lección incluye un breve cuestionario. Empieza la lección para responderlo y registrar tu progreso.

Todas las lecciones de Pantallas y sensores

Practica por tu cuenta: Playground de Arduino