Voltar

Controle de LED via Serial no Pico: Crie Sua Primeira Interface de Comandos

Introdução

Bem-vindo ao seu primeiro projeto com controle serial no Raspberry Pi Pico! Neste tutorial, vamos montar um circuito simples que permite ligar e desligar um LED digitando comandos no monitor serial. Você aprenderá os fundamentos da comunicação serial, saída digital e como usar o simulador Velxio para testar seu código sem nenhum hardware.

Este projeto é perfeito para iniciantes que desejam entender como microcontroladores se comunicam com um computador. Ao final, você será capaz de estender o conceito para controlar vários LEDs, ler sensores ou até mesmo criar um sistema de menu simples.

Visão Geral do Circuito

Vamos dar uma olhada no circuito que montaremos. Abra o exemplo no Velxio e você verá os seguintes componentes:

Diagrama do circuito pico-serial-led-control na tela do simulador Velxio

Detalhes da Montagem

  1. Do Pico D2 ao Ânodo do LED: Um fio verde conecta o pino D2 do Pico ao ânodo (A) do LED. Este é o sinal de controle.
  2. Do Cátodo do LED ao Resistor: Um fio cinza conecta o cátodo (C) do LED a uma extremidade do resistor (pino 1).
  3. Do Resistor ao GND do Pico: Um fio preto conecta a outra extremidade do resistor (pino 2) ao terra (GND.1) do Pico.

É isso! O circuito é simples, mas eficaz. O resistor é essencial para evitar queimar o LED. Com um resistor de 220Ω e uma tensão direta típica de LED de cerca de 2V, a corrente será aproximadamente (3,3V - 2V) / 220Ω ≈ 6mA, o que é seguro.

Explicação do Código

Agora vamos mergulhar no código. Abra o editor no Velxio e você verá o seguinte sketch Arduino:

// Raspberry Pi Pico — Controle de LED via Serial
// Envie '1' para ligar o LED, '0' para desligar, '?' para status

void setup() {
  pinMode(LED_BUILTIN, OUTPUT);
  Serial.begin(115200);
  delay(500);
  Serial.println("=== Controle de LED Pico ===");
  Serial.println("Comandos: 1=LIGA  0=DESLIGA  ?=status");
}

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

Como Funciona

Observe que usamos LED_BUILTIN, que é uma constante predefinida para o LED onboard do Pico (geralmente no pino 25). Em nosso circuito, conectamos um LED externo ao pino D2, mas o código ainda usa o LED embutido. Se você quiser controlar o LED externo, altere LED_BUILTIN para 2 (ou defina uma constante). Para este exemplo, o LED embutido funciona perfeitamente.

Conceitos Principais

Problemas Comuns e Dicas de Depuração

Extensões Sugeridas

Depois de ter o projeto básico funcionando, tente estas melhorias:

  1. Controlar um LED Externo: Altere LED_BUILTIN para 2 e conecte um LED externo ao pino D2 conforme mostrado no diagrama do circuito.
  2. Adicionar Mais LEDs: Use vários pinos e comandos como ‘r’ para vermelho, ‘g’ para verde, ‘b’ para azul.
  3. Dimming PWM: Use analogWrite() para definir níveis de brilho. Envie valores como ‘0’ a ‘9’ para brilho de 0% a 100%.
  4. Comunicação Bidirecional: Faça o Pico enviar dados de sensor (por exemplo, temperatura) quando você enviar um comando como ‘t’.
  5. Sistema de Menu: Exiba um menu de opções e use um loop para aguardar uma entrada válida.

Chamada para Ação

Pronto para testar você mesmo? Abra o exemplo ao vivo no Velxio e comece a experimentar: Controle de LED via Serial no Pico na Velxio. Sem downloads, sem configuração — apenas seu navegador e sua curiosidade. Boas experiências!


Compartilhar em:
David Montero

Escrito por

David Montero

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

GitHub velxio.dev

Artigos relacionados


Artigo anterior
Scanner I2C Pico: Encontre Dispositivos no Barramento
Próximo artigo
Pico Serial Echo: Teste UART no RP2040 com Velxio