Código de Arduino para Semáforo

Este es un circuito básico para un semáforo para coches y peatones utilizando Arduino. Este circuito usa LED para representar los semáforos, pero podrías adaptarlo para usar luces reales si lo deseas.

Materiales necesarios:

Placa Arduino (por ejemplo, Arduino Uno)
2 LED rojos (para semáforo de coches)
2 LED amarillos (para semáforo de coches)
2 LED verdes (para semáforo de coches)
1 LED rojo (para semáforo de peatones)
1 LED verde (para semáforo de peatones)
1 pulsador (para que los peatones soliciten el cruce)
Resistencias de 220 ohmios para los LED
Protoboard y cables de conexión

Esquema de conexiones:

Semaforo de coches:
Pin 2: LED rojo
Pin 3: LED amarillo
Pin 4: LED verde

Semaforo de peatones:
Pin 5: LED rojo
Pin 6: LED verde

Pulsador:
Pin 7: Conectado al pulsador

Código del programa para Arduino:

// Definición de pines
const int rojoCoches = 2;
const int amarilloCoches = 3;
const int verdeCoches = 4;
const int rojoPeatones = 5;
const int verdePeatones = 6;
const int pulsador = 7;

// Definición de tiempos
const int tiempoVerdeCoches = 10000; // 10 segundos
const int tiempoAmarilloCoches = 3000; // 3 segundos
const int tiempoVerdePeatones = 10000; // 10 segundos
const int tiempoRojoPeatones = 3000; // 3 segundos

void setup() {
// Inicialización de pines
pinMode(rojoCoches, OUTPUT);
pinMode(amarilloCoches, OUTPUT);
pinMode(verdeCoches, OUTPUT);
pinMode(rojoPeatones, OUTPUT);
pinMode(verdePeatones, OUTPUT);
pinMode(pulsador, INPUT_PULLUP);
}

void loop() {
// Semáforo para coches
digitalWrite(verdeCoches, HIGH);
delay(tiempoVerdeCoches);

digitalWrite(verdeCoches, LOW);
digitalWrite(amarilloCoches, HIGH);
delay(tiempoAmarilloCoches);

digitalWrite(amarilloCoches, LOW);
digitalWrite(rojoCoches, HIGH);
delay(tiempoAmarilloCoches);

// Habilitar paso de peatones
digitalWrite(rojoPeatones, LOW);
digitalWrite(verdePeatones, HIGH);

// Esperar que el peatón presione el botón
while (digitalRead(pulsador) == HIGH) {
delay(100);
}

// Semáforo para peatones
digitalWrite(verdePeatones, LOW);
delay(1000); // Esperar un segundo para asegurar que los coches ven el cambio

digitalWrite(rojoCoches, LOW);
digitalWrite(verdeCoches, HIGH);
delay(1000); // Esperar un segundo para asegurar que los coches ven el cambio

digitalWrite(rojoPeatones, HIGH);
delay(tiempoRojoPeatones);
}

Este código hace que el semáforo para coches funcione durante 10 segundos en verde, luego 3 segundos en amarillo y otros 3 segundos en rojo. Luego, permite que los peatones crucen pulsando el botón conectado al pin 7. Una vez que los peatones presionan el botón, el semáforo de coches vuelve a estar verde y el semáforo de peatones se pone en verde durante 10 segundos antes de volver a rojo.

Asegúrate de seguir las medidas de seguridad necesarias cuando trabajes con componentes electrónicos y conexiones eléctricas. ¡Diviértete con tu proyecto de semáforo Arduino!

 

Contenido

Recomendados:

Windows

Un día como hoy 26/06/2026

Nakamatsu es un inventor prolífico que afirma tener el récord mundial de número de invenciones con más de 4.000 patentes.

proforma

Peso Ideal según la altura

Escribe tu altura en metros y podrás conocer tu peso ideal. Además puedes obtener el margen mínimo y máximo.

Calculadoras OnLine | Proyectos Electrónicos | Vista Satelital | Radio y TV | Magazin Digital

Política de Privacidad | Partner: depositphotos | Contáctanos

www.viasatelital.com