Rduino+Led+Resistencia+Protoboard
Rduino+Led+Resistencia+Protoboard (Modulo 2)
1. LED intermitente básico
Objetivo:
Comprender el uso de salida digital y tiempos de espera.
Reto:
Hacer que el LED parpadee cada 1 segundo de manera continua.
int led = 6;
void setup() {
pinMode(led, OUTPUT);
}
void loop() {
digitalWrite(led, HIGH);
delay(1000);
digitalWrite(led, LOW);
delay(1000);
}
2. LED con dos velocidades
Objetivo:
Trabajar cambios de tiempo en una secuencia.
Reto:
El LED debe:
Parpadear rápido (200 ms)
Luego parpadear lento (1 segundo)
Repetir el ciclo
int led = 6;
void setup() {
pinMode(led, OUTPUT);
}
void loop() {
digitalWrite(led, HIGH);
delay(200);
digitalWrite(led, LOW);
delay(200);
digitalWrite(led, HIGH);
delay(1000);
digitalWrite(led, LOW);
delay(1000);
}
3. LED como señal de alerta (patrón)
Objetivo:
Introduce secuencias lógicas y estructuras repetitivas.
Reto:
Simular una alarma:
3 parpadeos rápidos (200 ms)
Pausa de 1 segundo
Repetir el patrón
int led = 6;
void setup() {
pinMode(led, OUTPUT);
}
void loop() {
for(int i = 0; i < 5; i++) {
digitalWrite(led, HIGH);
delay(300);
digitalWrite(led, LOW);
delay(300);
}
delay(2000);
}
4. LED con intensidad variable (PWM)
Objetivo:
Comprender el uso de señales PWM para controlar brillo.
Reto:
El LED debe:
Aumentar su brillo progresivamente
Disminuir su brillo progresivamente
Repetir el ciclo continuamente
int led = 6;
void setup() {
pinMode(led, OUTPUT);
}
void loop() {
for(int brillo = 0; brillo <= 255; brillo++) {
analogWrite(led, brillo);
delay(10);
}
for(int brillo = 255; brillo >= 0; brillo--) {
analogWrite(led, brillo);
delay(10);
}
}
5. LED controlado por condición (if)
Objetivo:
Aplicar estructuras condicionales.
Reto:
Usar una variable llamada estado:
Si estado vale 1 → LED encendido
Si estado vale 0 → LED apagado
int led = 6;
int estado = 1;
void setup() {
pinMode(led, OUTPUT);
}
void loop() {
if(estado == 1) {
digitalWrite(led, HIGH);
} else {
digitalWrite(led, LOW);
}
}
PROYECTO PROT SEMAFORO
int rojo = 13;
int amarillo = 12;
int verde = 11;
void setup() {
pinMode(rojo, OUTPUT);
pinMode(amarillo, OUTPUT);
pinMode(verde, OUTPUT);
}
void loop() {
// 🔴 Rojo encendido
digitalWrite(rojo, HIGH);
digitalWrite(amarillo, LOW);
digitalWrite(verde, LOW);
delay(3000); // 3 segundos
// 🟢 Verde encendido
digitalWrite(rojo, LOW);
digitalWrite(amarillo, LOW);
digitalWrite(verde, HIGH);
delay(3000); // 3 segundos
// 🟡 Amarillo encendido
digitalWrite(rojo, LOW);
digitalWrite(amarillo, HIGH);
digitalWrite(verde, LOW);
delay(1000); // 1 segundo
}
MODO SEMAFORO REAL
int rojo = 13;
int amarillo = 12;
int verde = 11;
void setup() {
pinMode(rojo, OUTPUT);
pinMode(amarillo, OUTPUT);
pinMode(verde, OUTPUT);
}
void loop() {
// 🔴 ROJO
digitalWrite(rojo, HIGH);
digitalWrite(amarillo, LOW);
digitalWrite(verde, LOW);
delay(4000); // 4 segundos
// 🟢 VERDE
digitalWrite(rojo, LOW);
digitalWrite(verde, HIGH);
delay(3000); // 3 segundos fijo
// 🟢 VERDE PARPADEA (aviso de cambio)
for(int i = 0; i < 3; i++) {
digitalWrite(verde, LOW);
delay(300);
digitalWrite(verde, HIGH);
delay(300);
}
// 🟡 AMARILLO
digitalWrite(verde, LOW);
digitalWrite(amarillo, HIGH);
delay(1500); // 1.5 segundos
digitalWrite(amarillo, LOW);
}
PORYECTO SEMAFORO Y BOTON
Comentarios
Publicar un comentario