Volver

Control LED por Serie con Pico: Construye tu Primera Interfaz de Comandos

Introducción

¡Bienvenido a tu primer proyecto controlado por serie en la Raspberry Pi Pico! En este tutorial, construiremos un circuito sencillo que te permite encender y apagar un LED escribiendo comandos en el monitor serie. Aprenderás los fundamentos de la comunicación serie, la salida digital y cómo usar el simulador de Velxio para probar tu código sin necesidad de hardware.

Este proyecto es perfecto para principiantes que quieran entender cómo los microcontroladores se comunican con un ordenador. Al finalizar, podrás ampliar el concepto para controlar múltiples LEDs, leer sensores o incluso construir un sistema de menú simple.

Recorrido del Circuito

Veamos el circuito que construiremos. Abre el ejemplo en Velxio y verás los siguientes componentes:

Diagrama del circuito de control LED por serie en el lienzo del simulador Velxio

Detalles del Cableado

  1. Desde Pico D2 al Ánodo del LED: Un cable verde conecta el pin D2 de la Pico al ánodo (A) del LED. Esta es la señal de control.
  2. Desde el Cátodo del LED a la Resistencia: Un cable gris conecta el cátodo (C) del LED a un extremo de la resistencia (pin 1).
  3. Desde la Resistencia a GND de la Pico: Un cable negro conecta el otro extremo de la resistencia (pin 2) a tierra (GND.1) de la Pico.

¡Eso es todo! El circuito es simple pero efectivo. La resistencia es esencial para evitar quemar el LED. Con una resistencia de 220Ω y una tensión directa típica del LED de unos 2V, la corriente será aproximadamente (3.3V - 2V) / 220Ω ≈ 6mA, lo cual es seguro.

Recorrido del Código

Ahora vamos a sumergirnos en el código. Abre el editor en Velxio y verás el siguiente sketch de Arduino:

// Raspberry Pi Pico — Serial LED Control
// Send '1' to turn LED ON, '0' to turn OFF, '?' for status

void setup() {
  pinMode(LED_BUILTIN, OUTPUT);
  Serial.begin(115200);
  delay(500);
  Serial.println("=== Pico LED Control ===");
  Serial.println("Commands: 1=ON  0=OFF  ?=status");
}

void loop() {
  if (Serial.available()) {
    char cmd = Serial.read();
    switch (cmd) {
      case '1':
        digitalWrite(LED_BUILTIN, HIGH);
        Serial.println("LED: ON");
        break;
      case '0':
        digitalWrite(LED_BUILTIN, LOW);
        Serial.println("LED: OFF");
        break;
      case '?':
        Serial.print("LED: ");
        Serial.println(digitalRead(LED_BUILTIN) ? "ON" : "OFF");
        break;
      default:
        if (cmd >= ' ') {
          Serial.print("Unknown command: ");
          Serial.println(cmd);
        }
        break;
    }
  }
}

Cómo Funciona

Observa que usamos LED_BUILTIN, que es una constante predefinida para el LED integrado de la Pico (generalmente en el pin 25). En nuestro circuito, hemos conectado un LED externo al pin D2, pero el código sigue usando el LED integrado. Si quieres controlar el LED externo, cambia LED_BUILTIN por 2 (o define una constante). Para este ejemplo, el LED integrado funciona perfectamente.

Conceptos Clave

Errores Comunes y Consejos de Depuración

Extensiones Sugeridas

Una vez que tengas el proyecto básico funcionando, prueba estas mejoras:

  1. Controlar un LED Externo: Cambia LED_BUILTIN por 2 y conecta un LED externo al pin D2 como se muestra en el diagrama del circuito.
  2. Añadir Más LEDs: Usa múltiples pines y comandos como ‘r’ para rojo, ‘g’ para verde, ‘b’ para azul.
  3. Regulación por PWM: Usa analogWrite() para establecer niveles de brillo. Envía valores como ‘0’ a ‘9’ para brillo del 0% al 100%.
  4. Comunicación Bidireccional: Haz que la Pico envíe datos de sensores (por ejemplo, temperatura) cuando envíes un comando como ‘t’.
  5. Sistema de Menú: Imprime un menú de opciones y usa un bucle para esperar una entrada válida.

Llamada a la Acción

¿Listo para probarlo tú mismo? Abre el ejemplo en vivo en Velxio y empieza a experimentar: Control LED por Serie con Pico en Velxio. Sin descargas, sin configuración, solo tu navegador y tu curiosidad. ¡Feliz hacking!


Compartir en:
David Montero

Escrito por

David Montero

Creator of Velxio, the open-source circuit and Arduino simulator.

GitHub velxio.dev

Artículos relacionados


Artículo anterior
Escáner I2C para Pico: Encuentra Dispositivos en el Bus
Artículo siguiente
Pico Serial Echo: prueba UART en RP2040 con Velxio