PROYECTO “PASO DE CEBRA CON PULSADOR”

Dificultad: Media

Tiempo estimado: 60m

FUNCIONAMIENTO DEL PROGRAMA:

En este proyecto con Arduino vamos a incluir las luces del semáforo de peatones y un pulsador para pedir el paso. La placa Arduino reaccionará al presionar el pulsador, cambiando el estado de las luces, para parar el paso de los coches y permitir el paso de los peatones.

En este proyecto, haremos también nuestras primeras funciones. A partir de ahora en la lista de materiales no indicaremos los cables de conexiones, ya que utilizaremos tantos como necesitemos.

Cuando el programa empiece a funcionar veremos que la luz de los coches empieza en verde y el semáforo de peatones en rojo.

Al pulsar el botón el programa comprueba que han pasado 5 segundos, por lo menos, desde la última vez que el botón fue pulsado, para permitir que el tráfico se mueva, entonces, pasará a ejecución una función que llamaremos CambiaLuces(), en esta función la luz de los coches va de verde a ámbar y a rojo, será entonces cuando la luz de los peatones cambiará a verde.

Después de un periodo de tiempo razonable para que los peatones crucen la calle, la luz verde del semáforo de peatones parpadeará para advertir a los peatones que deben darse prisa para cruzar la calle. Entonces la luz de los peatones cambiará a rojo y la de los vehículos volverá a su rutina habitual, verde-ámbar-rojo.

CONEXIONES

Comprobando primero que todo está desconectado. Conectaremos el Arduino tal como aparece en la figura y teniendo mucho cuidado de colocar cada uno de los extremos del cable en los orificios (entradas y salidas) adecuados.

proyecto-04-conexiones-cruce-de-cebra-con-pulsador

ESQUEMA ELÉCTRICO

 
proyecto-04-esquema-electrico-cruce-de-cebra-con-pulsador

Hardware
(Lista de materiales)

Id

Descripción

Cantidad

1

Placa Arduino R3

1

2

Placa Protoboard

1

3

Led Verde

2

4

Led Amarillo

1

5

Led Rojo

2

6

Resistencias de 220 Ohmios

5

7

Resistencia de 10 Kohmios

1

8

Pulsador

1

 

Programa

// Proyecto 04 – Paso de cebra con pulsador de peatones – APROBARFACIL.COM

int ledDelay = 200; // Tiempo entre cambios de estado

int CarRojo = 13;

int CarAmarillo = 12;

int CarVerde = 11;

int PeaRojo=10;

int PeaVerde=9;

int Boton=2;

int TiempoParaCruzar = 5000;

unsigned long changeTime; // Tiempo desde que el boton esta pulsado

void
setup()

{

Serial.begin(9600);

int i,j;

for(i=9;i<14;i++)

{

pinMode(i,OUTPUT);

digitalWrite(i,LOW);

}

for(i=9;i<14;i++)

{

digitalWrite(i,HIGH);

delay(ledDelay/3);

}

for(i=9;i<14;i++)

{

digitalWrite(i,LOW);

delay(ledDelay/3);

}

}

void RutinaDeLuces()

{

int estado=0;


for(estado=1;estado<4;estado++)

{

switch(estado)

{


case(0):

digitalWrite(CarRojo, LOW);

digitalWrite(CarAmarillo, LOW);

digitalWrite(CarVerde, LOW);

digitalWrite(PeaRojo, LOW);

digitalWrite(PeaVerde, LOW);


break;


case(1):


digitalWrite(CarRojo, HIGH);


digitalWrite(CarAmarillo, LOW);

digitalWrite(CarVerde, LOW);

digitalWrite(PeaRojo, LOW);

digitalWrite(PeaVerde, HIGH);

break;

case(2):

digitalWrite(CarRojo, LOW);

digitalWrite(CarAmarillo, HIGH);

digitalWrite(CarVerde, LOW);

digitalWrite(PeaRojo, HIGH);

digitalWrite(PeaVerde, LOW);

break;

case(3):

digitalWrite(CarRojo, LOW);
digitalWrite(CarAmarillo, LOW);

digitalWrite(CarVerde, HIGH);

digitalWrite(PeaRojo, HIGH);

digitalWrite(PeaVerde, LOW);

break;

}

delay(ledDelay);

digitalWrite(CarRojo, LOW);


digitalWrite(CarAmarillo, LOW);


digitalWrite(CarVerde, LOW);


digitalWrite(PeaRojo, LOW);


digitalWrite(PeaVerde, LOW);

}

}

void PasoDePeatones()

{

int estado=0;


Serial.println(“paso de peatones”);


for(estado=1;estado<3;estado++)

{

switch(estado)

{

case(1):

digitalWrite(CarRojo, LOW);

digitalWrite(CarAmarillo, HIGH);

digitalWrite(CarVerde, LOW);

digitalWrite(PeaRojo, HIGH);

digitalWrite(PeaVerde, LOW);

break;

case(2):

digitalWrite(CarRojo, HIGH);

digitalWrite(CarAmarillo, LOW);

digitalWrite(CarVerde, LOW);

digitalWrite(PeaRojo, LOW);

digitalWrite(PeaVerde, HIGH);

break;

}


delay(ledDelay);


digitalWrite(CarRojo, LOW);


digitalWrite(CarAmarillo, LOW);


digitalWrite(CarVerde, LOW);


digitalWrite(PeaRojo, LOW);


digitalWrite(PeaVerde, LOW);

}

}

void loop()

{

int
EstadoBoton=digitalRead(Boton);

if(EstadoBoton == HIGH && (millis() – changeTime) > 5)

{

PasoDePeatones();

}

else

{

RutinaDeLuces();

}

}

Notas:

  • Utiliza cable negro para todas las conexiones a masa
  • Utiliza cable rojo para todas las conexiones a VCC (5V).
  • No importa los colores que utilices para las demás conexiones.
  • Ten cuidado al conectar los componentes en el protoboardpues puedes dañarlos.
  • Comprueba que conectas el led con la polaridad correcta. (Cátodo a masa).
  • Cuando todo esté correctamente conectado puedes conectar el cable USB.

Observaciones

Una vez comprobado el código y subido el led al Arduino, ser encenderán y apagarán todos los leds tres veces y después comenzará la secuencia del programa.

Enlaces del proyecto en 123D Circuits

Proyecto 04 – Cruce de peatones con pulsador

 

 

Po favor, siguenos y dale a like - Please follow and like us:

Autor: adminalfon

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Información básica sobre protección de datos
Responsableaprobarfacil.com. +info....
FinalidadGestionar y moderar tus comentarios.. +info...
LegitimaciónConsentimiento del interesado. +info...
DestinatariosNo se cederán datos a terceros, salvo obligación legal. +info...
DerechosAcceder, rectificar y suprimir los datos, así como otros derechos, como se explica en la información adicional.
Información adicionalPuedes consultar la información adicional y detallada sobre protección de datos en nuestra página de política de privacidad.

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.

Este sitio web utiliza cookies para que usted tenga la mejor experiencia de usuario. Si continúa navegando está dando su consentimiento para la aceptación de las mencionadas cookies y la aceptación de nuestra política de cookies, pinche el enlace para mayor información.plugin cookies

ACEPTAR
Aviso de cookies