Back to Curso
Curso Arduino 1
0% Complete
0/0 Steps
-
Clase 2: ¿Que es Arduino?
-
Sección 2 - Electrónica básicaClase 6: Fuentes de energía
-
Clase 8: ¿Cómo funciona un Led?
-
Clase 10: Circuito serie y paralelo
-
Clase 15: Desafío serie y paralelo
-
Clase 19: Secuencia de luces
-
Clase 23: Semáforo (parte2)
-
Clase 25: Desafío semáforo doble
-
Clase 28: ¡Conectemos el pulsador!
-
Clase 35: Desafío cinta transportadora
-
Clase 40: El potenciometro
-
Clase 44: Desafío del voltímetro
-
Clase 49: Led RGB de 3 colores
-
Clase 53: Desafío control ventilador
-
Clase 58: Display 7segmento (parte 2)
-
Clase 61: Estacionar fácil (parte 2)
-
Sección 9 - Bonus y despedidaClase 71: ¿Qué kit me puedo comprar?
Clase 25 de73
En Progreso
Clase 25: Desafío semáforo doble
En esta clase vamos a:
- Plantear un desafío que integra todo lo que vimos en esta sección.
- Dicho desafío se llama “el semáforo doble” o “semáforo de cruce de avenida”.
Un breve resumen de esta clase:
Aquí les dejo un ejemplo para que entendamos mejor de que se trata este desafío. En principio podemos suponer que se cruzan 2 calles que son de sentido único. Entonces para que los autos puedan pasar sin ningún inconveniente…cuando de un lado este en verde, el otro debería estar en rojo y viceversa.
Dejo a criterio del programador que hacer con el amarillo, he visto en varios lugares y Paises esta secuencia es distinta.
//defino las constantes para ambos semaforos
const int semaforo_1_rojo = 2;
const int semaforo_1_amarillo = 3;
const int semaforo_1_verde = 4;
const int semaforo_2_rojo = A2;
const int semaforo_2_amarillo = A1;
const int semaforo_2_verde = A0;
//aqui incia el setup
void setup()
{
//definos todos los pines como salida
pinMode(semaforo_1_rojo, OUTPUT);
pinMode(semaforo_1_amarillo, OUTPUT);
pinMode(semaforo_1_verde, OUTPUT);
pinMode(semaforo_2_rojo, OUTPUT);
pinMode(semaforo_2_amarillo, OUTPUT);
pinMode(semaforo_2_verde, OUTPUT);
}
//aqui incia el setup
void loop()
{
//activo el rojo del semaf_1 y verde del semaf_2
digitalWrite(semaforo_1_amarillo, LOW);
digitalWrite(semaforo_1_rojo, HIGH);
digitalWrite(semaforo_2_amarillo, LOW);
digitalWrite(semaforo_2_verde, HIGH);
delay(1000);
//activo el amarillo del semaf_1 y amarillo del semaf_2
digitalWrite(semaforo_1_rojo, LOW);
digitalWrite(semaforo_1_amarillo, HIGH);
digitalWrite(semaforo_2_verde, LOW);
digitalWrite(semaforo_2_amarillo, HIGH);
delay(1000);
//-------aqui seria la mitad-----
//activo el verde del semaf_1 y rojo del semaf_2
digitalWrite(semaforo_1_amarillo, LOW);
digitalWrite(semaforo_1_verde, HIGH);
digitalWrite(semaforo_2_amarillo, LOW);
digitalWrite(semaforo_2_rojo, HIGH);
delay(1000);
//activo el amarillo del semaf_1 y amarillo del semaf_2
digitalWrite(semaforo_1_verde, LOW);
digitalWrite(semaforo_1_amarillo, HIGH);
digitalWrite(semaforo_2_rojo, LOW);
digitalWrite(semaforo_2_amarillo, HIGH);
delay(1000);
}
Responses