Icono del sitio MECABOT

Encender y apagar una secuencia de LEDs

11.1  Objetivo General:

Aprender a encender y apagar una secuencia de LEDs específica con Arduino y TinkerCAD, similar a un semáforo y utilizando un botón pulsador.


Un botón pulsador será empleado para iniciar la secuencia de encendido y apagado de 3 LEDs. Se simula con este circuito el comportamiento de un semáforo.

NUEVO

Nueva práctica sobre encender una serie de LEDs tipo estrella fugaz, ver Encender una secuencia de varios LEDs (Estrella fugaz)

Si quieres usar un botón peatonal para activar la luz roja del semáforo, te invitamos a ver el post Semáforo con botón peatonal

11.2 Materiales y Métodos:

  1. Tres LEDs (Colores: Amarillo, Verde y Rojo).

  2. Una tarjeta Arduino Uno-R3 o Arduino Mega 2560.

  3. Un cable USB impresora.

  4. Un computador.

  5. Cables para el montaje del circuito.

  6. Tarjeta Protoboard.

  7. Tres Resistencias Eléctrica de 220 ohm.

  8. Un Botón Pulsador.

11.3 Montaje de la práctica:

Antes de comenzar la realización del montaje del circuito electrónico, se debe realizar el circuito en el programa Fritzing.  Se debe tener en cuenta el conocimiento de cuál es el cátodo y ánodo de los LED. Se coloca el ánodo del LED verde en el pin 13, LED amarillo en el pin 12 y LED rojo en el pin 8. El cátodo de cada LED va a tierra (ground). Se va a usar el pin 5V para alimentar el botón pulsador tal como se muestra en la figura 2:

Figura 2. Montaje del circuito en el programa Fritzing

La Figura 2 muestra el uso de Arduino Uno; el mismo procedimiento se aplica con la tarjeta Arduino Uno-R3. El Protoboard facilita la instalación de LEDs, conexiones de circuito con cables, una resistencia eléctrica y un botón pulsador. La línea roja lleva 5V al botón, suministrados por la computadora. Estos 5V llegan al botón y, al cerrarse el circuito, alcanzan el pin 7. Para proteger el circuito y evitar que lleguen más de 5V al pin 7, se agrega una resistencia eléctrica, desviando la mayor parte de la señal a tierra

Luego que se tiene armado el circuito en el programa Fritzing, se comienza con el desarrollo del programa en el IDE de Arduino.

11.4 IDE de Arduino para la práctica:

Se selecciona la tarjeta Arduino que se esta utilizando sea Arduino Uno-R3 o Arduino Mega 2560.

– Se selecciona el Puerto Serial. Bajo que puerto USB se va a conectar el Arduino con el computador.

– Se empieza a realizar el código:

NOTA: Para quel IDE de Arduino pueda entender los comandos es necesario que al final de cada instrucción se coloque punto y coma (;).

En la siguiente imagen se mostrara como quedo plasmado en el IDE de Arduino, los procedimientos anteriormente señalados:

// Semáforo
// declarando parametros
int led_verde = 13;
int led_amarillo = 12;
int led_rojo = 8;
const int BOTON = 7; // pin de entrada botón
int val = 0; //val se emplea para almacenar el estado
// del botón
int state = 0; // 0 LED apagado, mientras que 1 encendido
int old_val = 0; // almacena el antiguo valor de val// setup de parámetros
void setup() {
// se indica que cada pin es de salidad OUTPUT.
pinMode(led_verde, OUTPUT);
pinMode(led_amarillo, OUTPUT);
pinMode(led_rojo, OUTPUT);
}
// lazo a ejecutar continuamente una vez cargado el código en el arduino
void loop(){
val= digitalRead(BOTON); // lee el estado del Boton
// chequear si el boton esta presionado o no
if ((val == HIGH) && (old_val == LOW)){
state=1-state;
delay(10);
}
old_val = val; // val is now old, let's store it
if (state==1){
digitalWrite(led_verde,HIGH); // encender LED verde
delay(5000); // mantener por 5 segundos
digitalWrite(led_verde,LOW); // apagar LED verde
digitalWrite(led_amarillo,HIGH); // encender LED amarillo
delay(1000); // mantener por 1 segundos
digitalWrite(led_amarillo,LOW); // apagar LED verde
digitalWrite(led_rojo,HIGH); // encender LED rojo
delay(4000);
digitalWrite(led_rojo,LOW); // encender LED rojo
}
}

Algoritmo  1 Código para encender y apagar un LED utilizando un botón pulsador. 

Implementación del algoritmo 1 en el simulador TinkerCAD:

https://www.tinkercad.com/things/0upf69XNKH2-practica-11-encender-varios-led-a-una-secuencia-especifica/editel?sharecode=ickajoepgWNs42tZuZk9sAcuDnA1LwlWBGl1508nFss=

11.5 Conclusión:

En esta práctica se ha introducido un suiche mediante botón pulsador que sirve para activar o desactivar parte del código en Arduino o comportamiento del circuito También se ha desarrollado un código que permite encender y apagar una secuencia de LEDS lo que permitió simular el funcionamiento del semáforo. Uno de los inconvenientes encontrados es que para apagar el circuito es necesario presionar el botón pulsador luego de que el LED rojo se apague. Esto debido a que la opción delay no permite simultáneamente registrar el estado del botón. Esto se solucionará en una nueva práctica donde  el encendido y apagado del LED se realice sin la opción delay.

Si nuestro contenido te fue de utilidad, por favor considera dar tu apoyo a lo que hacemos:

Salir de la versión móvil