
Proyecto Arduino: Barrera automática con semáforo y sensor ultrasónico
¿Qué vamos a construir?
Vamos a crear una barrera automática para coches usando un Arduino.
El sistema funciona así:
- El sensor ultrasónico detecta que un coche se acerca.
- El semáforo cambia a verde.
- La barrera (servo motor) se abre.
- El coche pasa.
- Después de unos segundos, la barrera vuelve a cerrarse y el semáforo se pone en rojo otra vez.
Es un proyecto súper típico de robótica y queda muy guay para clase porque mezcla sensores, automatización y programación.
Materiales necesarios
Componentes
- 1 placa Arduino Mega 2560
- 1 sensor ultrasónico HC-SR04
- 1 servo motor (SG90 o similar)
- 1 módulo semáforo LED del kit Arduino
(o LEDs rojo y verde) - Cables jumper
- Protoboard
- Cable USB para Arduino
¿Cómo funciona el proyecto?
El sensor ultrasónico mide la distancia.
Cuando detecta un objeto (el coche) a menos de 10 cm:
- El semáforo rojo se apaga.
- El verde se enciende.
- El servo gira y abre la barrera.
- Espera unos segundos.
- La barrera vuelve a cerrarse.
- El semáforo vuelve a rojo.
Conexiones
1. Sensor ultrasónico HC-SR04
| HC-SR04 | Arduino Mega |
|---|---|
| VCC | 5V |
| GND | GND |
| TRIG | Pin 9 |
| ECHO | Pin 10 |
2. Servo motor
| Servo | Arduino Mega |
|---|---|
| Cable rojo | 5V |
| Cable marrón/negro | GND |
| Cable naranja/amarillo | Pin 6 |
3. Semáforo
| LED | Arduino Mega |
|---|---|
| Rojo | Pin 2 |
| Verde | Pin 3 |
| GND | GND |
Diagrama de conexiones
Montaje paso a paso
Paso 1: Conectar el sensor ultrasónico
Coloca el HC-SR04 en la protoboard y conecta:
- VCC → 5V
- GND → GND
- TRIG → pin 9
- ECHO → pin 10
Este sensor será el encargado de detectar el coche.
Paso 2: Conectar el semáforo
Conecta:
- LED rojo → pin 2
- LED verde → pin 3
- GND → GND
Al iniciar el sistema, el rojo estará encendido.
Paso 3: Conectar el servo motor
Conecta:
- Rojo → 5V
- Negro/Marrón → GND
- Naranja/Amarillo → pin 6
El servo moverá la barrera.

Código Arduino
#include <Servo.h>
Servo barrera;
// Pines del sensor ultrasónico
const int trigPin = 9;
const int echoPin = 10;
// Pines del semáforo
const int ledRojo = 2;
const int ledVerde = 3;
// Pin del servo
const int servoPin = 6;
long duracion;
int distancia;
void setup() {
// Configurar pines
pinMode(trigPin, OUTPUT);
pinMode(echoPin, INPUT);
pinMode(ledRojo, OUTPUT);
pinMode(ledVerde, OUTPUT);
// Conectar servo
barrera.attach(servoPin);
// Barrera cerrada al iniciar
barrera.write(0);
// Semáforo rojo encendido
digitalWrite(ledRojo, HIGH);
digitalWrite(ledVerde, LOW);
Serial.begin(9600);
}
void loop() {
// Enviar pulso ultrasónico
digitalWrite(trigPin, LOW);
delayMicroseconds(2);
digitalWrite(trigPin, HIGH);
delayMicroseconds(10);
digitalWrite(trigPin, LOW);
// Leer el eco
duracion = pulseIn(echoPin, HIGH);
// Calcular distancia
distancia = duracion * 0.034 / 2;
Serial.print("Distancia: ");
Serial.println(distancia);
// Si detecta un coche cerca
if (distancia < 10) {
// Semáforo verde
digitalWrite(ledRojo, LOW);
digitalWrite(ledVerde, HIGH);
// Abrir barrera
barrera.write(90);
delay(5000);
// Cerrar barrera
barrera.write(0);
// Volver a rojo
digitalWrite(ledRojo, HIGH);
digitalWrite(ledVerde, LOW);
delay(1000);
}
delay(200);
}
Explicación del código
Librería Servo
#include <Servo.h>
Sirve para controlar el servo motor.
Definición de pines
Aquí indicamos dónde está conectado cada componente.
const int trigPin = 9;
const int echoPin = 10;
Medición de distancia
El sensor ultrasónico envía ondas y calcula cuánto tardan en volver.
distancia = duracion * 0.034 / 2;
Así obtenemos la distancia en centímetros.
Detección del coche
if (distancia < 10)
Si el coche está a menos de 10 cm, se activa el sistema.
Movimiento del servo
barrera.write(90);
El servo gira 90 grados y abre la barrera.
Resultado final
Cuando un coche se acerca:
✅ El sensor lo detecta
✅ El semáforo se pone en verde
✅ La barrera se abre automáticamente
✅ El coche pasa
✅ La barrera vuelve a cerrarse
Ideas para mejorar el proyecto
Puedes añadir:
- Un buzzer con sonido
- Pantalla LCD
- Semáforo de 3 colores
- Contador de coches
- Apertura con tarjeta RFID
- Control desde móvil
ODS relaccionados con el proyecto:
Naciones Unidas ODS 9: Industria, innovación e infraestructura
¿Por qué?
Porque tu proyecto usa:
- Tecnología
- Automatización
- Sensores inteligentes
- Programación
- Sistemas automáticos de control
Todo eso está relacionado con la innovación tecnológica y las infraestructuras inteligentes, como los parkings automáticos o barreras de acceso reales.
Puedes poner algo así en el trabajo:
Este proyecto se relaciona con el ODS 9 porque utiliza tecnología y automatización para crear un sistema inteligente de control de acceso de vehículos. Además, fomenta el aprendizaje de programación, robótica e innovación tecnológica.
También podrías relacionarlo con:
ODS 11: Ciudades y comunidades sostenibles
Porque sistemas automáticos como este ayudan a:
- Mejorar la organización del tráfico
- Hacer parkings más eficientes
- Reducir tiempos de espera
- Modernizar ciudades
Frase que puedes usar:
El proyecto también contribuye al ODS 11, ya que los sistemas automáticos de acceso ayudan a crear ciudades más inteligentes y organizadas.
Y si tu profe quiere una relación más educativa, incluso podrías mencionar:
ODS 4: Educación de calidad
Porque aprendes:
- programación
- electrónica
- robótica
- resolución de problemas
Documento con la información: https://docs.google.com/document/d/1bfDlTSbZh48WLefvHqHI3ywVf8c8NX93f9CAJ25RWHQ/edit?usp=sharing
Entrada creada por Nerea, con ayuda de la IA.
Prompt: Eres la mejor profesora de robótica e informática del mundo. Tengo que hacer un proyecto con arduino, he elegido uno q se trata de q cuando el sensor de ultrasonido detecta un coche, se enciende el sensor semáforo y el sensor servo gira para abrir la valla y que el coche pase. Los sensores son el de ultrasonido (HC-SR04), el semáforo y el servo, del kit de arduino. La placa es Arduino 2560 MEGA. Necesito q hagas un tutorial, que sirva para crear luego una entrada en un blog y quien lo lea sepa hacerlo, debe estar facil explicado para q todos lo entiendan, tener explicados las conexiones, los materiales, hacer un diagrama de conexiones y dar el codigo para que esto funcione.
Etiqueta:arduino, monterroso, montesteam, Semaforo, sensor, Servo, tutorial


