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.
Desafío
FácilshowDigit() 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
}
Esta lección incluye un breve cuestionario. Empieza la lección para responderlo y registrar tu progreso.
Todas las lecciones de Pantallas y sensores
1Displays de siete segmentos
Display de siete segmentosPatrones de dígitos en bytesCuenta en el displayCuenta regresiva hasta ceroLanzador de dadosPractica por tu cuenta: Playground de Arduino