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:

Diseno Grafico

Un día como hoy 27/04/2025

El Día Internacional del Diseño Gráfico conmemora las funciones esenciales del diseñador gráfico en la sociedad y el comercio, dando a conocer la importancia de esta profesión, así como su contribución para generar cambios significativos en todo el mundo y convertirla en una herramienta de valor social.

proforma

Proforma Online Gratis

Crea proformas online de manera gratuita y sencilla. Genera documentos personalizados para tu negocio y mejora la comunicación con tus clientes.

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

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

www.viasatelital.com