Familiarizarse con el uso del bucle for en Arduino y comprender su funcionalidad a través de un ejemplo práctico.
Copia el código proporcionado en el IDE de Arduino y súbelo al Arduino.
Antes de ejecutar el código, revisa la lógica de funcionamiento del mismo y comprende cómo se utiliza el bucle for en diferentes partes del programa.
Al ejecutar el código, observa cómo el bucle for se utiliza en diferentes contextos:
Conecta los componentes según el esquema de conexiones siguiente:
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 MOTOR_PIN = 9; // Pin del motor
const int LED_PIN = 13; // Pin del LED
const int BUZZER_PIN = 10; // Pin del buzzer
const int N = 7;
const int SEGMENTOS[N] = {A, B, C, D, E, F, G};
/*CÁTODO COMÚN*/
const int DIGITOS[10][N] = {
/*0*/ {1, 1, 1, 1, 1, 1, 0},
/*1*/ {0, 1, 1, 0, 0, 0, 0},
/*2*/ {1, 1, 0, 1, 1, 0, 1},
/*3*/ {1, 1, 1, 1, 0, 0, 1},
/*4*/ {0, 1, 1, 0, 0, 1, 1},
/*5*/ {1, 0, 1, 1, 0, 1, 1},
/*6*/ {1, 0, 1, 1, 1, 1, 1},
/*7*/ {1, 1, 1, 0, 0, 0, 0},
/*8*/ {1, 1, 1, 1, 1, 1, 1},
/*9*/ {1, 1, 1, 1, 0, 1, 1}
};
const int OFF = LOW;
void setup()
{
pinMode(LED_PIN, OUTPUT);
pinMode(BUZZER_PIN, OUTPUT);
pinMode(MOTOR_PIN, OUTPUT);
for (int i = 0; i < N; i++) {
pinMode(SEGMENTOS[i], OUTPUT);
digitalWrite(SEGMENTOS[i], OFF); // apagar
}
}
void print(int d)
{
for (int i = 0; i < N; i++) {
digitalWrite(SEGMENTOS[i], DIGITOS[d][i]);
}
}
void loop()
{
for (int i = 0; i < 10; i++) {
if (i >= 5) { // Si el número es mayor o igual a 5
digitalWrite(MOTOR_PIN, HIGH); // Encender el motor
} else {
digitalWrite(MOTOR_PIN, LOW); // Apagar el motor
}
if (i % 2 == 0) { // Números pares
digitalWrite(LED_PIN, HIGH);
} else { // Números impares
digitalWrite(BUZZER_PIN, HIGH);
delay(100); // Duración del sonido del buzzer
digitalWrite(BUZZER_PIN, LOW);
}
print(i);
delay(1000); // esperar 1000 milisegundos
digitalWrite(LED_PIN, LOW);
}
}
1. Modifica el código para que empiece el conteo de 9 a 0.
2. Cambia el encendido del motor para que sea en la segunda parte de la numeración.
3. Agrega un LED que encienda mientras funciona el motor.