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:

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:

  1. Prueba a cambiar los tiempo de espera en las funciones delay(...) de cada caso.
  2. 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