DATOS
Alumno: Manuel Jiménez González
Asignatura: Innovación Docente de la Especialidad de Tecnología
Titulación: Máster Universitario en Profesor de Educación Secundaria Obligatoria y Bachillerato, Formación Profesional y Enseñanza de Idiomas.
Centro: Universidad de Salamanca
Curso: 2021/2022
DESCRIPCIÓN DEL PROYECTO
El objetivo de este proyecto es diseñar un sistema automátizado que controle un semáforo situado en una intersección por medio de la placa Arduino que podría servir como actividad en el bloque didáctico de Control y Robótica de la asignatura de Tecnología en 3º de la ESO.
El sistema cuenta con dos entradas (pulsador para el paso de peatones y un fotorresistor situado a 50m de la intersección, que se active cuando un coche estacione sobre el) y tres salida correspondientes a tres LEDs, uno para cada luz del semáforo (rojo, ámbar y verde).
El sistema está preparado para dar respuesta a tres posibles situaciones como se explicará en el siguiente vídeo.
Vídeo:
Componentes:
- Arduino Elegoo One.
- Protoboard.
- Diodo LED rojo.
- Diodo LED amarillo.
- Diodo LED verde.
- 10 Cables de diferentes longitudes.
- 3 Resistencias de 220 Ohmios.
- 2 Resistencias de 10 KOhmios.
- 1 Pulsador.
- 1 Fotorresistor.
Código:
// Semáforo sencillo en Arduino
int tiempoEspera = 5000;
// variable to hold sensor value
int sensor;
const int ledRojo = 10;
const int ledAmarillo = 9;
const int ledVerde = 8;
int switchstate = 0;
void setup(){
Serial.begin(9600);
pinMode(ledRojo, OUTPUT); // Rojo
pinMode(ledAmarillo, OUTPUT); // Amarillo
pinMode(ledVerde, OUTPUT); // Verde
}
void loop() {
sensor = analogRead(A0);
switchstate = digitalRead(2);
if (switchstate == HIGH){
digitalWrite(ledRojo, HIGH); // rojo encendido
}
else{
digitalWrite(ledRojo, LOW); // rojo encendido
if (sensor <400){
digitalWrite(ledVerde, HIGH); // verde encendido
digitalWrite(ledRojo, LOW); // rojo encendido
digitalWrite(ledAmarillo, LOW); // amarillo apagado
delay(5000);
}
else if(sensor>500){
digitalWrite(ledVerde, LOW); // verde apagado
digitalWrite(ledAmarillo, HIGH); // amarillo apagado
delay(5000);
digitalWrite(ledAmarillo, LOW); // amarillo apagado
digitalWrite(ledRojo, HIGH); // rojo encendido
delay(5000);
}
}
}
No hay comentarios:
Publicar un comentario