lunes, 31 de mayo de 2021

Cruce de semáforos y luminarias

Desarrollo del proyecto

Con el desarrollo de este proyecto se ha pretendido ver las aplicaciones que la programación con Arduino podría tener en la vida real. De esta forma se planteó a los alumnos la idea de diseñar un cruce de peatones regulado por semáforos y la colocación de luminaria que se activarán de forma automática al bajar la intensidad de la luz.


El funcionamiento del cruce sería igual que el que vemos en la realidad, es decir cuando un peatón quiera cruzar deberá activar el pulsador y el semáforo de coches se pondrá en rojo y el de peatones en verde, todo ello calculando los tiempos necesarios de activación y desactivación de semáforos  para que la operación se pueda hacer con las debidas condiciones de seguridad vial.


Para la activación de las luminarias se ha utilizado un LDR conectado a unos led,  de forma que se activará cuando la intensidad de la luz baje de unos niveles establecidos y los led se encenderán.


Para la realización del proyecto se dividió la clase en varios grupos y cada uno aportó sus ideas, eligiendo entre todas la solución más adecuada. Cada grupo aportó: 

  • Su código de programación de arduino, el cual trabajaron con la aplicación Tinkercad.

  • Su propuesta de maqueta en 3D

  • Materiales a utilizar, los cuales serían todos reciclados.


De entre todas las propuestas se eligió la más idónea y factible,  y nos pusimos “manos a la obra” , con la dificultad de que la maqueta debería realizarse entre toda la clase. 

Para organizarnos se asignó la realización de cada parte de la maqueta a un grupo, de esta forma el trabajo se dividió en: calzada, señalización y semáforos, luminarias y edificios. 


Indicar que todos los materiales utilizados han sido reciclados.


A continuación se expone material gráfico del proceso seguido:

Propuestas en 3D

Montaje del circuito con Tinkercad

 

Código Arduino 

const int LEDR=13; const int LEDA=12; const int LEDV=11; const int LEDRp=8; const int LEDVp=7; const int PULSADOR=4; const int D2=2; void setup() { pinMode(A0, INPUT); Serial.begin (9600); pinMode(D2, OUTPUT); pinMode(LEDR, OUTPUT); pinMode(LEDA, OUTPUT); pinMode(LEDV, OUTPUT); pinMode(LEDRp, OUTPUT); pinMode(LEDVp, OUTPUT); pinMode(PULSADOR, INPUT); } void loop(){ digitalWrite(LEDV, HIGH); digitalWrite(LEDRp, HIGH); Serial.println(analogRead(A0)); if (digitalRead(PULSADOR) ==HIGH) { delay(2000); digitalWrite(LEDV, LOW); digitalWrite(LEDA, HIGH); delay(5000); digitalWrite(LEDA, LOW); digitalWrite(LEDR, HIGH); delay(1000); digitalWrite(LEDRp, LOW); digitalWrite(LEDVp, HIGH); delay (5000); digitalWrite(LEDVp, LOW); delay (1000); } else { digitalWrite(LEDR, LOW); digitalWrite(LEDA, LOW); digitalWrite(LEDV, HIGH); digitalWrite(LEDRp, HIGH); digitalWrite(LEDVp, LOW); } if (analogRead(A0)<450){ digitalWrite(2, HIGH); }else{ digitalWrite(2, LOW); } }

Maqueta terminada


Profesora responsable de la práctica

Inma Gil Alonso 

No hay comentarios: