lección 7/7
Ejercicio práctico con Arduino
En esta lección vamos a trabajar un ejercicio práctico en varias partes. Lo primero es montar el circuito eléctrico. Para ello vas a necesitar los siguientes componentes:
- Arduino UNO
- 3 x LED (verde, amarillo, rojo)
- 3 x Resistencia 220 Ω
- 1 x Cable USB
- Cables
- Protoboard
Normalmente todos estos componentes vienen en cualquier kit de Arduino de los que hemos visto en la lección 2.
El circuito que vamos a montar es el siguiente.

Te recomiendo que intentes hacer el código por ti mismo. Aún así, a continuación te dejo el código completo para que lo utilices como quieras.
/*
Ejercicio práctico mini-curso Arduino
Funcionamiento semáforo
*/
// Declaración variables almacenar número de pines
byte ledVerde = 3;
byte ledNaranja = 4;
byte ledRojo = 5;
// Declaración variable contador
byte contador = 1; // Iniciamos con el primer caso
void setup() {
// Iniciar el monitor serie
Serial.begin(9600);
Serial.println("Se inicia el programa");
// Modo de los pines
pinMode(ledVerde, OUTPUT);
pinMode(ledNaranja, OUTPUT);
pinMode(ledRojo, OUTPUT);
}
void loop() {
Serial.println("Inicio funcion loop");
Serial.print("Contador = ");
Serial.println(contador);
// Si contador es uno hay que encender el LED verde durante 3 segundos
// y apagar el resto de LEDs
if(contador == 1){
Serial.println("Caso contador 1");
// Encender LED verde
digitalWrite(ledVerde, HIGH);
// Apagar LED naranja y rojo
digitalWrite(ledNaranja, LOW);
digitalWrite(ledRojo, LOW);
// Esperar 3 segundos = 3.000 milisegundos
delay(3000);
// Cambiar valor de contador
contador = 2;
// Si contador es dos hay que encender el LED narangja durante 1 segundo
// y apagar el resto de LEDs
}else if (contador == 2){
Serial.println("Caso contador 2");
// Encender LED naranja
digitalWrite(ledNaranja, HIGH);
// Apagar LED verde y rojo
digitalWrite(ledVerde, LOW);
digitalWrite(ledRojo, LOW);
// Esperar 1 segundo = 1.000 milisegundos
delay(1000);
// Cambiar valor de contador
contador = 3;
// Si contador es tres hay que encender el LED rojo durante 4 segundos
// y apagar el resto de LEDs
}else if (contador == 3){
Serial.println("Caso contador 3");
// Encender LED rojo
digitalWrite(ledRojo, HIGH);
// Apagar LED verde y naranja
digitalWrite(ledVerde, LOW);
digitalWrite(ledNaranja, LOW);
// Esperar 4 segundos = 4.000 milisegundos
delay(4000);
// Cambiar valor de contador
contador = 1;
}
}
Por último te dejo unos ejercicios:
- Prueba a cambiar los tiempo de espera en las funciones delay(...) de cada caso.
- Añade un cuarto caso (contador == 4) donde se mantengan todos los LEDs encendidos durante 5 segundos.
Puedes enviarme tus dudas y la respuesta a los ejercicios contestando al email de la lección.
Video #0
Presentación
Video #1
Los microcontroladores y Arduino
Video #2
Las placas electrónicas de Arduino
Video #3
El entorno de desarrollo de Arduino
Video #4
Sintaxis de la programación
Video #5
Las variables en la programación
Video #6
Las funciones en la programación
Video #7
Ejercicio práctico con Arduino
2022 Programarfacil. Todos los derechos reservados. | Aviso legal