Icono del sitio MECABOT

Práctica 18: Semáforo con botón peatonal

18.1 Objetivo General:

Cambiar la luz de un semáforo de verde a rojo para permitir el paso peatonal. Se utiliza una subrutina para contar el tiempo que el semáforo debe estar en luz roja.


Un botón pulsador se usa para indicar que el semáforo debe cambiar de la luz verde a roja y mantenerse en luz roja por el tiempo requerido por el peaton para realizar el cruce de calle.  Se simula con este circuito el comportamiento de un semáforo con botón peatonal para activar la luz roja.

BASADO EN PRÁCTICA 11

El montaje del circuito es identico al de la práctica 11, la diferencia es en la programación. En este caso el botón es usado para cambiar de rojo a verde para permitir el paso peatonal.

La práctica enseña como usar subrutinas.

18.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.

18.3 Montaje de la práctica:

Antes de comenzar el montaje del circuito, se proyecta su montaje en el programa Fritzing. Recuerde que para instalar los LED se debe conocer cuall es el cátodo y ánodo de los LED (práctica 1). 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

Se observa en la Figura 2 que se usa una placa Arduino Uno y un protoboard para instalar los LEDs, resistencia, botón y cables. La línea que esta de color rojo emite los 5V al botón pulsador. El computador es capaz de proveerle Arduino 5V. Los 5V  van hacia al botón y luego al cerrarse el circuito le deja pasar al pin 7. Para proteger el circuito y evitar que al pin 7 no le llegue más de 5V, se coloca una resistencia eléctrica.

Luego que proyectar el circuito en el programa Fritzing se procede desarrollarlo en el protoboard. Luego, se comienza con a programar en el IDE de Arduino.

18.4 IDE de Arduino para la práctica:

Se selecciona la tarjeta Arduino que se esta utilizando.

– 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 con botón peatonal
// declarando parametros
int led_verde = 13;
int led_amarillo = 12;
int led_rojo = 8;
const int BOTON = 7; // pin de entrada botón
int state = 0; //para activar luz roja
void setup() {
// se indica que cada pin es de salidad OUTPUT.
pinMode(led_verde, OUTPUT);
pinMode(led_amarillo, OUTPUT);
pinMode(led_rojo, OUTPUT);   
pinMode(BOTON,INPUT);
digitalWrite(led_verde,HIGH);  //Luz verde encendida.
digitalWrite(led_verde,LOW); //Luz roja apagada
digitalWrite(led_verde,LOW); //Luz Amarilla apagada
}
// lazo a ejecutar continuamente una vez cargado el código en el arduino
void loop(){
digitalWrite(led_verde,HIGH); // encender LED verde
pedestriaBoton();  // se llama la rutina pedestriaBoton
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(5000);
digitalWrite(led_rojo,LOW); // encender LED rojo
}
void pedestriaBoton(){
  for(int i=1;i<21; i++){
  state=digitalRead(BOTON);
   if (state==0) {
   delay(1000);
   }
    else if (state=1){
   delay(500);
   return;
   }  // cierra lazo else if
  }  // cierra lazo for
 }  //cierra void pedestriaBoton

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/8siLq8Zs3Yn-practica-18-semaforo-con-boton-peatonal/editel?sharecode=N3S2ZrFTsmMDVYpWBV7UDIT6NU3zJ285oeI_60hYuEg=

18.5 Conclusión:

En esta práctica hemos utilizado subrutinas. Específicamente hemos creado una subrutina para indicarle al circuito cuando debe pasar de la luz verde a roja. El cirtuito y código desarrollado permitió simular el comportamiento de un semáforo cuando se utiliza un botón peatonal.

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

Salir de la versión móvil