Aprende Robótica y Tecnología

● Nivel iniciación

Semáforo con Arduino: tu primer proyecto

Si nunca has tocado un Arduino, este es tu proyecto. Vas a construir un semáforo de verdad —rojo, ámbar y verde— que cambia solo, igual que los de la calle. Con tres LEDs, unas resistencias y unas pocas líneas de código tendrás tu primer circuito funcionando. Es sencillo, se hace en una tarde y engancha: cuando veas los LEDs cambiar de color, vas a querer montar mil cosas más.

Empezar el tutorial →
Semáforo con Arduino montado en protoboard con cables de colores y resistencias
Nivel
Iniciación
Placa base
Arduino UNO
Tiempo
Una tarde
Coste aprox.
Muy bajo

Qué vas a aprender

Cómo encender y apagar LEDs desde el Arduino, por qué son necesarias las resistencias, cómo se conectan los componentes en una protoboard y cómo funciona el ciclo básico de un programa (setup y loop). Son los cimientos de absolutamente todo lo que harás después en electrónica y robótica.

Qué necesitas

Placa Arduino UNO Comprar
Protoboard (placa de pruebas) Comprar
LEDs (rojo, amarillo y verde) Comprar
3 resistencias de 220 Ω Comprar
Cables de conexión (macho-macho) Comprar

Como afiliado de Amazon, recibo una comisión por las compras que cumplen los requisitos aplicables. A ti no te cuesta nada más.

Paso 1: Diseña el circuito en Tinkercad

Antes de tocar un solo cable, vamos a montar el semáforo en el ordenador. Tinkercad es una herramienta online y gratuita de Autodesk que te deja simular circuitos con Arduino: colocas los componentes, los conectas y puedes ver si funcionan sin gastar ni romper nada. Es perfecta para practicar y para no llevarte sustos cuando pases al montaje real.

Entra en tinkercad.com, crea una cuenta gratis y monta este esquema: un Arduino UNO, una protoboard y los tres LEDs con sus resistencias. Fíjate bien en cómo van conectados, porque es exactamente lo que replicarás en la vida real.

Esquema de conexiones del semáforo con Arduino y tres LEDs en Tinkercad

Paso 2: Entiende las conexiones

Cada LED tiene dos patas: la larga es el positivo (ánodo) y la corta es el negativo (cátodo). La pata larga se conecta a un pin del Arduino, pero siempre con una resistencia de por medio: sin ella, pasaría demasiada corriente y el LED se quemaría. La resistencia es como un "freno" que protege el LED.

🔴 LED rojo → pin 12 (con resistencia)
🟡 LED amarillo → pin 8 (con resistencia)
🟢 LED verde → pin 4 (con resistencia)
⚫ Pata corta de los tres LEDs → GND (tierra) del Arduino

Las tres patas cortas se conectan a la misma línea negativa (–) de la protoboard, y esa línea la unes al pin GND del Arduino con un solo cable. Así todos los LEDs comparten la misma tierra.

Paso 3: Monta el circuito de verdad

Ahora sí, coge la protoboard y ve colocando los componentes como en el esquema. Empieza por los tres LEDs, luego pon una resistencia en la pata larga de cada uno, y por último tira los cables hasta los pines del Arduino. Tómatelo con calma y compara con las fotos: no hay prisa.

Montaje del semáforo con Arduino UNO y LEDs rojo, amarillo y verde en protoboard
Circuito de semáforo con Arduino: LEDs y resistencias conectados en la protoboard

Cuando lo tengas montado, revisa dos veces que cada cable va al pin correcto y que las patas cortas de los LEDs están todas en la línea negativa. Un fallo aquí es la causa número uno de que "no funcione", así que esta comprobación te ahorra dolores de cabeza.

Paso 4: Programa el semáforo

Abre el Arduino IDE, conecta la placa al ordenador con el cable USB y pega este código. Está comentado línea a línea para que entiendas qué hace cada parte. Cuando lo tengas, pulsa el botón de subir (la flecha →) y espera unos segundos.

// Semáforo con Arduino
// Guardamos en una variable el número de pin de cada LED
const int ledRojo = 12;
const int ledAmarillo = 8;
const int ledVerde = 4;

void setup() {
  // Le decimos al Arduino que estos pines son salidas
  pinMode(ledRojo, OUTPUT);
  pinMode(ledAmarillo, OUTPUT);
  pinMode(ledVerde, OUTPUT);
}

void loop() {
  // VERDE: pasan los coches
  digitalWrite(ledVerde, HIGH);   // enciende verde
  delay(4000);                    // espera 4 segundos
  digitalWrite(ledVerde, LOW);    // apaga verde

  // ÁMBAR: precaución
  digitalWrite(ledAmarillo, HIGH);
  delay(1500);                    // 1,5 segundos
  digitalWrite(ledAmarillo, LOW);

  // ROJO: stop
  digitalWrite(ledRojo, HIGH);
  delay(4000);                    // 4 segundos
  digitalWrite(ledRojo, LOW);

  // El loop se repite solo: vuelve a empezar en verde
}

¿Ves cómo cambian los LEDs en orden? ¡Enhorabuena, acabas de programar tu primer semáforo! 🎉 Prueba a cambiar los números de los delay para que los tiempos sean distintos, o a añadir un cuarto LED. Trastear es la mejor forma de aprender.

¡Y listo! Tu semáforo funcionando

Este es el aspecto que tiene el montaje terminado. Si el tuyo se parece a esto y los LEDs cambian solos, lo has clavado. Y si algo no va, no te frustres: repasa las conexiones con calma, casi siempre es un cable en el pin equivocado o una pata del LED al revés.

Semáforo con Arduino montado en protoboard con cables de colores y resistencias

¿Te ha gustado y quieres más?

Este es solo el principio. Si quieres aprender programación y robótica paso a paso y con alguien que te guíe, doy clases particulares online.

Ver clases particulares