Pregunta
Semaforo
Allisson Roque
@allissonroque95
129 vistas
Semáforo doble
1// Definición de pines para el Semáforo 1
2const int verde1 = 5;
3const int amarillo1 = 6;
4const int rojo1 = 7;
5
6// Definición de pines para el Semáforo 2
7const int verde2 = 8;
8const int amarillo2 = 9;
9const int rojo2 = 10;
10
11// Tiempos en milisegundos (1 segundo = 1000 ms)
12const int tiempoVerde = 5000; // 5 segundos en verde
13const int tiempoAmarillo = 2000; // 2 segundos en amarillo
14const int tiempoRojoExtra = 1000; // Seguridad entre cambios
15
16void setup() {
17 // Configuramos todos los pines como salidas
18 pinMode(verde1, OUTPUT);
19 pinMode(amarillo1, OUTPUT);
20 pinMode(rojo1, OUTPUT);
21
22 pinMode(verde2, OUTPUT);
23 pinMode(amarillo2, OUTPUT);
24 pinMode(rojo2, OUTPUT);
25}
26
27void loop() {
28 // --- FASE 1: Semáforo 1 en VERDE, Semáforo 2 en ROJO ---
29 digitalWrite(verde1, HIGH);
30 digitalWrite(amarillo1, LOW);
31 digitalWrite(rojo1, LOW);
32
33 digitalWrite(verde2, LOW);
34 digitalWrite(amarillo2, LOW);
35 digitalWrite(rojo2, HIGH);
36
37 delay(tiempoVerde); // Espera el tiempo de verde
38
39 // --- FASE 2: Semáforo 1 en AMARILLO, Semáforo 2 en ROJO ---
40 digitalWrite(verde1, LOW);
41 digitalWrite(amarillo1, HIGH);
42 digitalWrite(rojo1, LOW);
43 // El semáforo 2 sigue en rojo
44 digitalWrite(rojo2, HIGH);
45
46 delay(tiempoAmarillo);
47
48 // --- FASE 3: Semáforo 1 en ROJO, Semáforo 2 en VERDE ---
49 digitalWrite(verde1, LOW);
50 digitalWrite(amarillo1, LOW);
51 digitalWrite(rojo1, HIGH); // S1 se pone rojo
52
53 digitalWrite(verde2, HIGH); // S2 pasa a verde
54 digitalWrite(amarillo2, LOW);
55 digitalWrite(rojo2, LOW);
56
57 delay(tiempoVerde);
58
59 // --- FASE 4: Semáforo 1 en ROJO, Semáforo 2 en AMARILLO ---
60 digitalWrite(rojo1, HIGH); // S1 sigue en rojo
61 digitalWrite(verde2, LOW);
62 digitalValue(amarillo2, HIGH); // S2 pasa a amarillo (Nota: usar digitalWrite)
63 // Corrigiendo la línea de amarillo2:
64 digitalWrite(amarillo2, HIGH);
65 digitalWrite(rojo2, LOW);
66
67 delay(tiempoAmarillo);
68}
0 comentarios
Inicia sesión para comentar
Sé el primero en comentar.