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

Primeros pasos con Arduino Instalación del IDE Código para hacer parpadear un Led Código para controlar la luz de un Led con potenciómetro Código para controlar led RGB con PWM Código para luces secuenciales de 8 leds Código para encender un Led con pulsador Código para encender un Led con fotoresistencia LDR Código para sensor de temperatura Código para servomotor Código para generar sonido con zumbador o buzzer Código para sensor de ultrasonido HC-SR04 Código para Módulo LCD 1602A Código para módulo L298N y motores DC Código para semáforo

Recomendados:

dia del libro

Un día como hoy 23/04/2024

Promulgado como el Día Internacional del Libro por la Unesco, en conmemoración de tres grandes escritores: el entierro de Miguel de Cervantes Saavedra, la muerte y probablemente también el nacimiento de William Shakespeare y la muerte de Inca Garcilaso de la Vega.

mensajitos

Mensajitos

Aquí puedes encontrar: Frases bonitas y cortas, palabras de agradecimiento, poemas originales, cartas para toda ocasión y mas.

Calculadoras OnLine | Proyectos Electrónicos | Vista Satelital | Radio y TV | Chistes | Satélites | VoIP | Wireless

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

www.viasatelital.com