Nivel 0 · Setup

P0: BLINK

El "Hola Mundo" de la electrónica. Tu primer programa en Arduino hace parpadear un LED. Simple, pero es el comienzo de todo.

15
Minutos
4
Componentes
10
Líneas de código
01

¿Qué vamos a conseguir?

Al terminar este proyecto, tendrás un LED que parpadea cada segundo. Parece simple, pero acabas de crear tu primer sistema electrónico programable.

LED parpadeando cada segundo

Lo que aprenderás:

  • 1 Cómo conectar un LED a Arduino de forma segura
  • 2 Qué es un pin digital y cómo controlarlo
  • 3 Cómo escribir, compilar y subir código a Arduino
  • 4 La estructura básica de todo programa Arduino
02

Hardware necesario

Solo necesitas 4 componentes básicos. Todos vienen incluidos en el kit ELEGOO.

Arduino UNO
El cerebro de tu proyecto
LED Verde
Emite luz cuando pasa corriente
Resistencia 220Ω
Protege el LED de quemarse
Cables
Conectan los componentes

Diagrama de conexión

ARDUINO UNO 13 GND 220Ω + Pin digital 13 Resistencia LED GND (tierra)

💡 ¿Por qué necesitamos una resistencia?

El LED es como una tubería muy fina: si le envías demasiada agua (corriente), se rompe. La resistencia actúa como un regulador de flujo que limita la corriente a un nivel seguro. Sin ella, el LED se quemaría en segundos. Usamos 220Ω porque es el valor ideal para LEDs con Arduino (5V).

🔌 ¿Qué es el Pin 13?

Arduino tiene muchos "pines" que son como interruptores controlados por software. El Pin 13 es especial porque tiene un LED incorporado en la placa, así que puedes probar sin conectar nada externo. Cuando escribimos código para "encender" el pin 13, Arduino envía 5 voltios por ese pin.

¿Qué es GND?

GND significa "Ground" (tierra). Es el punto de referencia de 0 voltios. La electricidad siempre necesita un camino de ida y vuelta: sale por el Pin 13 (5V), pasa por la resistencia, ilumina el LED, y vuelve por GND (0V). Sin GND, el circuito no está "cerrado" y no funcionará.

03

El código explicado

Este es todo el código que necesitas. Solo 10 líneas que hacen magia. Vamos a entender cada una.

p0_blink.ino
// P0: Blink - EigenRobotics

const int LED = 13;  // El LED está en el pin 13

void setup() {
  pinMode(LED, OUTPUT);  // Configurar pin como salida
}

void loop() {
  digitalWrite(LED, HIGH);  // Encender
  delay(1000);              // Esperar 1 segundo
  digitalWrite(LED, LOW);   // Apagar
  delay(1000);              // Esperar 1 segundo
}

Explicación línea por línea:

1

const int LED = 13;

Creamos una variable llamada LED con el valor 13. Es como ponerle un nombre a algo para no tener que recordar el número. const significa que no va a cambiar. int significa que es un número entero.

2

void setup() { }

Esta función se ejecuta una sola vez cuando Arduino se enciende. Es donde ponemos la configuración inicial. void significa que no devuelve ningún valor. Todo lo que va entre { } pertenece a esta función.

3

pinMode(LED, OUTPUT);

Le decimos a Arduino que el pin 13 será una SALIDA (OUTPUT). Esto significa que Arduino enviará electricidad por ese pin, no que la recibirá. Es como decidir si un cable será para enviar o para recibir señales.

4

void loop() { }

Esta función se ejecuta infinitamente después de setup(). Cuando termina la última línea, vuelve a empezar desde la primera. Por eso se llama "loop" (bucle). Arduino hace esto miles de veces por segundo.

5

digitalWrite(LED, HIGH);

Enciende el pin 13. digitalWrite significa "escribir digitalmente", es decir, enviar una señal de encendido o apagado. HIGH significa 5 voltios (encendido). En este momento, el LED se ilumina.

6

delay(1000);

Pausa el programa durante 1000 milisegundos (1 segundo). Arduino no hace nada durante este tiempo, solo espera. El LED sigue encendido porque no hemos cambiado su estado.

7

digitalWrite(LED, LOW);

Apaga el pin 13. LOW significa 0 voltios (apagado). El LED deja de recibir corriente y se apaga.

8

delay(1000); (segunda vez)

Otra pausa de 1 segundo con el LED apagado. Después de esto, el loop() vuelve a empezar desde el principio, encendiendo el LED otra vez. ¡Y así infinitamente!

Conceptos clave:

📥 setup()

Se ejecuta una vez al inicio. Úsala para configuración: definir pines, iniciar comunicación serial, etc.

🔄 loop()

Se ejecuta infinitamente. El código principal va aquí. Cuando termina, vuelve a empezar automáticamente.

📤 digitalWrite()

Envía HIGH (5V, encendido) o LOW (0V, apagado) a un pin digital. Es como un interruptor.

⏱️ delay()

Pausa el programa durante X milisegundos. delay(1000) = 1 segundo, delay(500) = 0.5 segundos.

04

Simulador interactivo

Prueba el código sin tener el hardware. Este simulador de Wokwi funciona exactamente igual que un Arduino real.

Wokwi Simulator

Abrir en Wokwi →

🎮 Cómo usar el simulador

1. El código ya está cargado. Haz clic en el botón verde Play para iniciar.
2. Verás el LED integrado (marcado como "L") parpadear.
3. Puedes modificar el código y ver los cambios en tiempo real.
4. Para añadir componentes externos, usa el menú de la izquierda.

05

Paso a paso

Sigue estos pasos para hacer funcionar tu primer proyecto Arduino.

1

Conecta el hardware

Sigue el diagrama de conexión. Conecta el LED al pin 13 a través de la resistencia de 220Ω, y el otro extremo a GND. La pata larga del LED (+) va hacia el pin 13.

Tip: Si no tienes componentes externos, no te preocupes. El pin 13 tiene un LED incorporado en la placa Arduino, así que funcionará igual.
2

Abre Arduino IDE

Busca "Arduino IDE" en tu ordenador y ábrelo. Si no lo tienes instalado, descárgalo desde arduino.cc o usa el comando: open "/Applications/Arduino IDE.app"

3

Conecta Arduino al ordenador

Usa el cable USB para conectar Arduino. Deberías ver que se enciende un LED verde en la placa. Esto indica que tiene alimentación.

4

Selecciona la placa y el puerto

En Arduino IDE, ve a Tools → Board y selecciona "Arduino UNO". Luego ve a Tools → Port y selecciona el puerto que aparece (normalmente algo como /dev/cu.usbmodem...).

5

Copia y pega el código

Borra el código de ejemplo que aparece y pega el código de este proyecto. Puedes copiarlo con el botón "Copiar código" de arriba.

6

Sube el código

Haz clic en el botón de flecha (→) o pulsa Ctrl+U / Cmd+U. Verás mensajes de "Compiling..." y "Uploading...". Cuando termine, dirá "Done uploading".

Tip: Si hay errores, revisa que hayas seleccionado la placa y puerto correctos.
7

¡Observa el LED!

El LED debería empezar a parpadear: 1 segundo encendido, 1 segundo apagado. ¡Felicidades! Has completado tu primer proyecto Arduino.

06

Experimentos

Ahora que funciona, ¡vamos a experimentar! Modifica el código y observa qué pasa.

Fácil

Parpadeo rápido

Cambia delay(1000) por delay(100). ¿Qué pasa? El LED parpadea 10 veces más rápido.

Fácil

Parpadeo lento

Cambia delay(1000) por delay(2000). Ahora parpadea cada 2 segundos. Cuenta: "uno-dos, uno-dos..."

Medio

Tiempos diferentes

Pon delay(200) para encendido y delay(800) para apagado. Crea un efecto de "latido de corazón".

Medio

Otro pin

Cambia const int LED = 13 por const int LED = 8. Ahora necesitarás conectar el LED externo al pin 8.

Desafío

Código Morse SOS

SOS en Morse es: ••• −−− •••
Punto = 200ms, raya = 600ms. ¿Puedes programarlo?

Desafío

Múltiples LEDs

Añade más LEDs en pines 8, 9, 10 y hazlos parpadear en secuencia. ¡Prepárate para el proyecto del semáforo!

07

Problemas comunes

Soluciones a los problemas mas frecuentes que encontraras en tu primera sesion con Arduino. Basado en experiencia real de principiantes.

🔌 "Mi placa es Elegoo, no Arduino"

No te preocupes. Las placas Elegoo son clones 100% compatibles con Arduino. Usan el mismo microcontrolador (ATmega2560 o ATmega328P) y funcionan exactamente igual. En Arduino IDE selecciona "Arduino Mega or Mega 2560" o "Arduino UNO" segun tu modelo, aunque la placa diga "Elegoo". Funcionara perfectamente.

⚠️ Error "Missing FQBN (Fully Qualified Board Name)"

Este error significa que no has seleccionado la placa correctamente. En Arduino IDE 2.x (la version nueva):

  1. Haz clic en el dropdown superior (donde dice "Select Board" o muestra un puerto)
  2. Selecciona tu puerto USB de la lista
  3. En el buscador escribe "Mega" o "UNO"
  4. Selecciona "Arduino Mega or Mega 2560" o "Arduino UNO"
  5. Haz clic en OK

Ahora intenta subir el codigo de nuevo.

🔲 La protoboard: dos mitades separadas

La protoboard tiene un surco central que la divide en dos mitades independientes:

   A B C D E     F G H I J
   ─────────     ─────────
   ● ● ● ● ●  │  ● ● ● ● ●   ← fila 10
   conectados │  conectados
    entre si  │   entre si
              │
           surco

Importante: Las columnas A-B-C-D-E estan conectadas entre si en cada fila. Las columnas F-G-H-I-J estan conectadas entre si en cada fila. Pero A-E y F-J NO estan conectadas. Si necesitas pasar senal de un lado al otro, usa un cable puente que cruce el surco.

¿Como conecto varios componentes a GND si solo hay un pin?

Usa el bus de la protoboard (las filas marcadas con + y - en los laterales):

Placa GND ───→ Bus (-) de la protoboard
                    │
              ┌─────┴─────┐
              │           │
           LED 1       LED 2
           (pata -)    (pata -)

Conecta un solo cable desde el pin GND de la placa al bus negativo (-). Ahora toda esa fila es GND y puedes conectar multiples componentes a ella. Esto es la forma estandar de trabajar con protoboards.

💡 LEDs de diferente color en paralelo: solo funciona uno

El problema: Si conectas un LED rojo y uno verde en paralelo al mismo pin, probablemente solo el rojo se encienda. Si quitas el rojo, el verde funciona.

¿Por que? Los LEDs de diferente color tienen diferente voltaje de encendido:

  • LED rojo: ~1.8V
  • LED amarillo: ~2.0V
  • LED verde: ~2.2V
  • LED azul: ~3.0V

Cuando estan en paralelo, la corriente "prefiere" el camino de menor resistencia (el LED rojo). El rojo "roba" toda la corriente y el verde no recibe suficiente para encenderse.

Soluciones:

  • Usar LEDs del mismo color (mismo voltaje)
  • Usar pines separados para cada LED (mejor para aprender)
  • Usar resistencias de diferente valor para compensar

🔋 ¿Necesito conectar la placa a la corriente?

No. El cable USB hace dos cosas a la vez:

  • Alimenta la placa (5V de corriente)
  • Comunica con el ordenador (para programar)

Solo necesitas alimentacion externa (pila 9V o adaptador 7-12V en el jack negro) si quieres que el proyecto funcione sin estar conectado al ordenador. El codigo queda guardado permanentemente en la placa, no se borra al desconectar.