Semáforos para vehículos y peatones, utilizando temporización y sensores PIR, así como una señal sonora
COMPONENTES Y SUMINISTROS
- 1 Arduino UNO
- 4 LED de 5 mm: rojo
- 4 LED de 5 mm: verde
- 4 LED de 5 mm: amarillo
- 2 Zumbador
- 2 Sensor PIR, 7m
- 5 Resistencia 330 ohmios
- 1 Protobord
ACERCA DE ESTE PROYECTO
El proyecto simula el funcionamiento de un par de semáforos para vehículos y peatones en una zona poco transitada por peatones, por lo que los semáforos suelen estar abiertos al paso de vehículos, detectando la presencia de peatones por medio de sensores PIR, que activan el cambio en la señalización luminosa, estado establecido un tiempo mínimo para otra activación posterior. Asimismo, cuando se permite el paso a los peatones, se activa una señal sonora a intervalos que indican que el tiempo se va acabando.
CÓDIGO
// Empiezo a proporcionar los pines que voy a utilizar de la placa
int rojo = 9 ; // Activación de los LED rojos, digitales
int amarillo = 8 ; // Activación de los LED amarillos, digitales
int verde = 7 ; // Activación de los LED verdes, digitales
int p_rojo = 10 ; // Activación de los LEDs rojos para peatones, digital
int p_verde = 11 ; // Activación de los LED verdes para peatones, digital
int PIR1 = 6 ; // Sello del PIR1, digital
int PIR2 = 5 ; // Sello del PIR2, digital
int Zumbador = 3 ; // Activación de los zumbadores, digitales
// la rutina de configuración se ejecuta una vez cuando presiona restablecer:
configuración vacía () {
// Se inicializan los pines como salida o entrada
pinMode ( rojo , SALIDA );
pinMode ( amarillo , SALIDA );
pinMode ( verde , SALIDA );
pinMode ( p_rojo , SALIDA );
pinMode ( p_verde , SALIDA );
pinMode ( PIR1 , ENTRADA );
pinMode ( PIR2 , ENTRADA );
pinMode ( Zumbador , SALIDA );
}
// la rutina de bucle se ejecuta una y otra vez para siempre:
bucle vacío () {
int i , j ; // Variables que usar en los ciclos
if (( digitalRead ( PIR1 )) || ( digitalRead ( PIR2 ))) { // Si se detecta la presencia de una turba en alguno de los lados
// Se avisa de la presencia de peatones con un cambio de color del semforo
digitalWrite ( verde , BAJO ); // Se cambian los semforos de verde
digitalWrite ( amarillo , ALTO ); // un amarillo,
retraso ( 20000 ); // que se mantendr durante 20 segundos.
// Se permite el paso de los peatones
digitalWrite ( amarillo , BAJO ); // Se cambian los semforos de amarillo
digitalWrite ( rojo , ALTO ); // un verde.
digitalWrite ( p_rojo , BAJO );
escritura digital ( p_verde , ALTO );
// Se inicia un sello sonoro con un ritmo que indique el tiempo restante.
para ( yo = 1 ; yo < 11 ; yo ++ ) {
para ( j = 1 ; j < 5 ; j ++ ) {
digitalWrite ( Zumbador , ALTO );
retraso ( 2000 / i );
digitalWrite ( Zumbador , BAJO );
retraso ( 2000 / i );
}
}
// Se vuelve a permitir la circulacion de vehiculos
digitalWrite ( rojo , BAJO ); // Se apaga la luz roja
digitalWrite ( verde , ALTO ); // y se enciende la luz verde
digitalWrite ( p_rojo , ALTO );
escritura digital ( p_verde , BAJO );
retraso ( 180000 ); // Se espera al menos 3 minutos para volver a habilitar el paso de peatones
}
// Se permite la circulacion de vehiculos
digitalWrite ( rojo , BAJO ); // Se apaga la luz roja
digitalWrite ( verde , ALTO ); // y se enciende la luz verde para vehiculos
digitalWrite ( p_rojo , ALTO ); // Al revs para peatones
escritura digital ( p_verde , BAJO );
}
-
Arduino ATmega 2560 R3¡Oferta!
$20.50$19.00 -
Arduino Uno Wifi¡Oferta!
$15.00$13.00 -
Arduino Mini USB Nano V3.0 CH340 Chip Board 5V 16M + Cable¡Oferta!
$9.00$8.50
create.arduino.cc