Advertisement
max2099

Semáforo Arduino

Jan 15th, 2025
37
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Arduino 1.93 KB | Software | 0 0
  1. // Definición de pines para el semáforo de autos
  2. const int autoRojo = 7;
  3. const int autoAmarillo = 6;
  4. const int autoVerde = 5;
  5.  
  6. // Definición de pines para el semáforo peatonal
  7. const int peatonRojo = 13;
  8. const int peatonVerde = 12;
  9.  
  10. // Tiempos de encendido en milisegundos
  11. const int tiempoVerdeAutos = 5000;  // 5 segundos
  12. const int tiempoAmarilloAutos = 2000; // 2 segundos
  13. const int tiempoVerdePeaton = 5000; // 5 segundos
  14. const int parpadeo = 200; // parpadeo
  15.  
  16. void setup() {
  17.   // Configuración de los pines como salida
  18.   pinMode(autoRojo, OUTPUT);
  19.   pinMode(autoAmarillo, OUTPUT);
  20.   pinMode(autoVerde, OUTPUT);
  21.   pinMode(peatonRojo, OUTPUT);
  22.   pinMode(peatonVerde, OUTPUT);
  23.  
  24.   // Inicializar semáforos apagados
  25.   apagarSemaforos();
  26. }
  27.  
  28. void loop() {
  29.   // Fase 1: Autos en verde, peatones en rojo
  30.   digitalWrite(autoVerde, HIGH);
  31.   digitalWrite(peatonRojo, HIGH);
  32.   delay(tiempoVerdeAutos);
  33.  
  34.   // Fase 2: Autos en amarillo, peatones siguen en rojo
  35.   digitalWrite(autoVerde, LOW);
  36.   digitalWrite(autoAmarillo, HIGH);
  37.   delay(tiempoAmarilloAutos);
  38.  
  39.   // Fase 3: Autos en rojo, peatones en verde
  40.   digitalWrite(autoAmarillo, LOW);
  41.   digitalWrite(autoRojo, HIGH);
  42.   digitalWrite(peatonRojo, LOW);
  43.   digitalWrite(peatonVerde, HIGH);
  44.   delay(tiempoVerdePeaton);
  45.  
  46.   // Fase 4: Restablecer (autos en rojo, peatones en verde parpadea)
  47.   digitalWrite(peatonVerde, LOW);
  48.   delay(parpadeo);
  49.   digitalWrite(peatonVerde, HIGH);
  50.   delay(parpadeo);
  51.   digitalWrite(peatonVerde, LOW);
  52.   delay(parpadeo);
  53.   digitalWrite(peatonVerde, HIGH);
  54.   delay(parpadeo);
  55.   digitalWrite(peatonVerde, LOW);
  56.   delay(parpadeo);
  57.  
  58.   apagarSemaforos(); // Asegurarse de apagar todo al final de cada ciclo
  59. }
  60.  
  61. // Función para apagar todos los semáforos
  62. void apagarSemaforos() {
  63.   digitalWrite(autoRojo, LOW);
  64.   digitalWrite(autoAmarillo, LOW);
  65.   digitalWrite(autoVerde, LOW);
  66.   digitalWrite(peatonRojo, LOW);
  67.   digitalWrite(peatonVerde, LOW);
  68. }
Tags: semáforo
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement