Introducción
¡Bienvenido al proyecto Control de LED por Serie! En este tutorial, aprenderás a controlar un LED conectado a un Arduino Uno enviando comandos simples a través del Monitor Serie. Este es un proyecto clásico para principiantes que combina dos conceptos fundamentales: la comunicación USART (Receptor-Transmisor Síncrono/Asíncrono Universal) y la salida GPIO (Entrada/Salida de Propósito General). Al finalizar, podrás encender y apagar un LED escribiendo “1” o “0” en el Monitor Serie, e incluso consultar el estado del LED con ”?”.
Usaremos Velxio, un simulador de circuitos y microcontroladores en el navegador con soporte analógico de precisión SPICE. ¡No necesitas hardware, solo tu navegador! Vamos a ello.
Recorrido del Circuito

El circuito es increíblemente simple. Solo necesitas dos componentes:
- Arduino Uno (el cerebro)
- LED verde (el dispositivo de salida)
Detalles del Cableado
- Ánodo del LED (pata larga, pin A) se conecta al pin 13 del Arduino mediante un cable verde (
#00cc00). - Cátodo del LED (pata corta, pin C) se conecta a GND del Arduino mediante un cable negro (
#000000).
¡Eso es todo! No se necesita resistencia porque el pin 13 del Arduino Uno ya tiene una resistencia limitadora de corriente integrada en la placa. En un circuito real, añadirías una resistencia de 220Ω en serie con el LED, pero para la simulación, esto funciona perfectamente.
Cómo Construirlo en Velxio
- Abre el ejemplo de Control de LED por Serie en Velxio.
- Verás el Arduino Uno y el LED ya colocados en el lienzo. Si quieres construirlo desde cero, usa el selector de componentes (que se muestra a continuación) para añadir un Arduino Uno y un LED.

- Haz clic en el Arduino Uno para seleccionarlo, luego haz clic en el pin 13. Arrastra un cable hasta el ánodo del LED (pin A).
- De manera similar, conecta el cátodo del LED (pin C) a cualquier pin GND del Arduino.
- Usa la barra de herramientas del lienzo para hacer zoom y desplazarte para una mejor vista.

Recorrido del Código

Ahora examinemos el código que hace que esto funcione. Abre el editor de código en Velxio (verás el editor Monaco con resaltado de sintaxis).
// Serial LED Control
// Send "1" to turn LED ON, "0" to turn LED OFF.
// Demonstrates Serial input controlling hardware.
const int LED_PIN = 13;
void setup() {
Serial.begin(9600);
pinMode(LED_PIN, OUTPUT);
digitalWrite(LED_PIN, LOW);
Serial.println("=========================");
Serial.println(" Serial LED Controller");
Serial.println("=========================");
Serial.println("Send '1' = LED ON");
Serial.println("Send '0' = LED OFF");
Serial.println("Send '?' = Status");
Serial.println();
}
bool ledState = false;
void loop() {
if (Serial.available() > 0) {
char cmd = Serial.read();
switch (cmd) {
case '1':
digitalWrite(LED_PIN, HIGH);
ledState = true;
Serial.println("[OK] LED is ON");
break;
case '0':
digitalWrite(LED_PIN, LOW);
ledState = false;
Serial.println("[OK] LED is OFF");
break;
case '?':
Serial.print("[STATUS] LED is ");
Serial.println(ledState ? "ON" : "OFF");
Serial.print("[STATUS] Uptime: ");
Serial.print(millis() / 1000);
Serial.println("s");
break;
default:
if (cmd >= 32) { // ignore control chars
Serial.print("[ERR] Unknown command: '");
Serial.print(cmd);
Serial.println("' (use 1, 0, or ?)");
}
break;
}
}
}
Cómo Funciona
const int LED_PIN = 13;– Definimos el pin del LED como 13 (el pin de LED integrado en el Arduino Uno).setup()– Inicializa la comunicación Serie a 9600 baudios, configura el pin del LED como salida e imprime un mensaje de bienvenida.loop()– Comprueba si hay datos disponibles en el puerto Serie. Si los hay, lee un carácter y lo procesa con una sentenciaswitch.'1': Enciende el LED (digitalWrite(LED_PIN, HIGH)) y actualizaledState.'0': Apaga el LED (digitalWrite(LED_PIN, LOW)).'?': Imprime el estado actual del LED y el tiempo de actividad del sistema en segundos.- Cualquier otro carácter imprimible imprime un mensaje de error.
Ejecutando la Simulación
- Haz clic en el botón Ejecutar en la barra de herramientas del editor.

- Abre el Monitor Serie (generalmente un botón en la barra de herramientas o un panel separado).
- Escribe
1y presiona Enter – el LED verde debería encenderse. - Escribe
0– el LED se apaga. - Escribe
?– verás el estado y el tiempo de actividad.
Conceptos Clave para Estudiantes
Este proyecto enseña varios conceptos importantes:
- Comunicación Serie: El Arduino se comunica con tu computadora a través de USART.
Serial.begin(9600)establece la velocidad de transmisión (bits por segundo). - Salida GPIO:
pinMode()ydigitalWrite()controlan los pines digitales. - Variables de Estado:
ledStatelleva un seguimiento del estado actual del LED, permitiendo que funcione el comando de estado. - Análisis de Entrada: Lectura de caracteres desde Serie y uso de
switchpara manejar comandos. - Manejo de Errores: El caso
defaultcaptura entradas no válidas y proporciona retroalimentación.
Problemas Comunes y Consejos de Depuración
- ¿El Monitor Serie no muestra salida? Asegúrate de que la velocidad de transmisión coincida (9600). Además, verifica que hayas hecho clic en el botón de conexión del Monitor Serie.
- ¿El LED no responde? Revisa que el LED esté cableado correctamente: ánodo al pin 13, cátodo a GND. En Velxio, los cables tienen código de colores; verifica las conexiones.
- ¿Los comandos no funcionan? El código ignora los caracteres no imprimibles (ASCII < 32). Si envías saltos de línea, se ignoran. Usa la opción “Sin salto de línea” del Monitor Serie o envía solo el carácter.
- ¿Múltiples caracteres? El código lee un carácter a la vez. Si envías “10”, procesará ‘1’ y luego ‘0’ en iteraciones separadas del bucle.
Extensiones Sugeridas
Una vez que domines este proyecto, prueba estas mejoras:
- Añade un segundo LED en el pin 12 y contrólalo con comandos como ‘2’ y ‘3’.
- Usa PWM para controlar el brillo: envía un número del 0 al 255 para establecer el brillo del LED mediante
analogWrite(). - Añade un botón como entrada: lee un pin digital y alterna el LED cuando se presione.
- Implementa un analizador de comandos que acepte cadenas como “ON” o “OFF” en lugar de caracteres individuales.
- Registra datos en el Monitor Serie: imprime lecturas de sensores o marcas de tiempo.
Conclusión
¡Acabas de construir un controlador de LED por Serie simple pero potente! Este proyecto es la base para innumerables proyectos de IoT y automatización donde controlas hardware mediante comandos de texto. Velxio facilita la experimentación sin necesidad de componentes físicos.
¿Listo para probarlo tú mismo? Abre el ejemplo de Control de LED por Serie en Velxio, ejecuta la simulación y comienza a enviar comandos. ¡Feliz experimentación!