Semáforo vehícular y peatonal con arduino
- Ransés Brenes
- 15 nov 2016
- 1 Min. de lectura
A continuación se presenta como armar y programar un semáforo vehícular y peatonal con arduino.
Materiales:
*2 led´s rojos
*2 led´s verdes
* 1 led amarillo
*1 arduino
*1 protoboard
Diagrama de conexiones:

Código del arduino:
int rojo = 12; int amarillo = 10; int verde = 8; int rojope = 7; int verdepe = 5; int bot = 2; int val = 0; int cont = 0; boolean bandera = false;
void setup() { Serial.begin(9600); pinMode(OUTPUT, rojo); pinMode(OUTPUT, amarillo); pinMode(OUTPUT, verde); pinMode(INPUT_PULLUP, bot); }
void loop() { bandera = false; digitalWrite(verde, HIGH); digitalWrite(rojope, HIGH); for (cont; cont < 30; cont++) { val = digitalRead(bot); if (val == LOW) { bandera = true; break; } delay(500); } cont = 0;
if (bandera == true) { Serial.println("se presiono el bot.Semaforo peatonal"); digitalWrite(verde, LOW); delay (1000); digitalWrite(verde, HIGH); delay (1000); digitalWrite(verde, LOW); delay (1000); digitalWrite(verde, HIGH); delay (1000); digitalWrite(verde, LOW); digitalWrite(amarillo, HIGH); delay(3000); digitalWrite(amarillo, LOW); digitalWrite(rojo, HIGH); digitalWrite(rojope,LOW); digitalWrite(verdepe, HIGH); delay(13000); digitalWrite(verdepe, LOW); delay(1000); digitalWrite(verdepe, HIGH); delay(1000); digitalWrite(verdepe, LOW); delay(1000); digitalWrite(verdepe, HIGH); delay(1000); digitalWrite(verdepe, LOW); delay(1000); digitalWrite(verdepe, HIGH); delay(1000); digitalWrite(rojo, LOW); digitalWrite(verdepe, LOW);
} else { Serial.println("Ciclo normal"); digitalWrite(verde, LOW); delay (1000); digitalWrite(verde, HIGH); delay (1000); digitalWrite(verde, LOW); delay (1000); digitalWrite(verde, HIGH); delay (1000); digitalWrite(verde, LOW); digitalWrite(amarillo, HIGH); delay(3000); digitalWrite(amarillo, LOW); digitalWrite(rojo, HIGH); digitalWrite(rojope,LOW); digitalWrite(verdepe, HIGH); delay(13000); digitalWrite(verdepe, LOW); delay(1000); digitalWrite(verdepe, HIGH); delay(1000); digitalWrite(rojo, LOW); digitalWrite(verdepe, LOW); } }
Video del funcionamiento:
Comentários