Bem-vindo à sua primeira simulação Velxio! Neste tutorial, vamos piscar o LED azul integrado em um ESP32 DevKit (GPIO2) e um LED vermelho externo conectado ao GPIO4. Este é o “Olá Mundo” dos microcontroladores — um projeto simples que verifica se sua emulação ESP32 está funcionando corretamente.
Passo a Passo do Circuito
Vamos dar uma olhada no circuito. O ESP32 DevKit é o cérebro do nosso projeto. Ele já possui um LED azul integrado conectado ao GPIO2, então não precisamos ligá-lo. Para o LED externo, adicionamos um componente de LED vermelho do seletor de componentes.

Veja como o LED externo está conectado:
- GPIO4 (pino 4 do ESP32) está conectado ao ânodo (A) do LED vermelho através de um fio vermelho (
#e74c3c). - O cátodo (C) do LED vermelho está conectado ao GND do ESP32 através de um fio escuro (
#2c3e50).
É isso! Apenas dois fios para o LED externo. O LED integrado já está na placa.
Para adicionar componentes e fios, use a barra de ferramentas do editor Velxio e a barra de ferramentas do canvas:


Para navegar e colocar peças como o LED vermelho, abra o seletor de componentes:

Passo a Passo do Código
Agora vamos examinar o código. Abra o editor de código no Velxio — você verá o seguinte sketch Arduino:
// ESP32 Blink LED
// Blinks the built-in LED (GPIO2) and an external LED (GPIO4)
// Requires arduino-esp32 2.0.17 (IDF 4.4.x) — see docs/ESP32_EMULATION.md
#define LED_BUILTIN_PIN 2 // Built-in blue LED on ESP32 DevKit
#define LED_EXT_PIN 4 // External red LED
void setup() {
Serial.begin(115200);
pinMode(LED_BUILTIN_PIN, OUTPUT);
pinMode(LED_EXT_PIN, OUTPUT);
Serial.println("ESP32 Blink ready!");
}
void loop() {
digitalWrite(LED_BUILTIN_PIN, HIGH);
digitalWrite(LED_EXT_PIN, HIGH);
Serial.println("LED ON");
delay(500);
digitalWrite(LED_BUILTIN_PIN, LOW);
digitalWrite(LED_EXT_PIN, LOW);
Serial.println("LED OFF");
delay(500);
}
Vamos detalhar:
- Linha 5-6: Definimos duas constantes:
LED_BUILTIN_PINcomo2(o pino do LED integrado) eLED_EXT_PINcomo4(o pino do LED externo). setup(): Iniciamos a comunicação serial a 115200 baud, configuramos ambos os pinos como saídas e imprimimos uma mensagem de prontidão.loop(): Ligamos ambos os LEDs (HIGH), imprimimos “LED ON”, esperamos 500 ms, desligamos ambos (LOW), imprimimos “LED OFF” e esperamos mais 500 ms. Isso cria um piscar contínuo.
Conceitos Principais
- Pinos GPIO: Pinos de Entrada/Saída de Propósito Geral podem ser configurados como entradas ou saídas. Aqui os usamos como saídas para acionar LEDs.
pinMode(): Configura um pino comoOUTPUTouINPUT.digitalWrite(): Define um pino digital comoHIGH(3.3V no ESP32) ouLOW(0V).delay(): Pausa o programa por um determinado número de milissegundos. Este é um atraso bloqueante — o microcontrolador não pode fazer mais nada durante esse tempo.- LED Integrado: Muitas placas de desenvolvimento têm um LED conectado a um GPIO específico (geralmente GPIO2 no ESP32). É uma maneira rápida de testar sua placa.
Armadilhas Comuns e Dicas de Depuração
- Número do pino errado: Verifique novamente se você está usando o número GPIO correto. O LED integrado está no GPIO2, não no GPIO1 ou GPIO0.
- Polaridade do LED: LEDs têm um ânodo (perna longa, positivo) e um cátodo (perna curta, negativo). No Velxio, o componente LED vermelho tem pinos rotulados como A (ânodo) e C (cátodo). Certifique-se de que o ânodo está conectado ao GPIO e o cátodo ao GND.
- Falta de terra: Tanto o ESP32 quanto o LED externo devem compartilhar um terra comum. Nosso fio conecta o cátodo do LED ao GND.
- Monitor Serial: Use o Monitor Serial no Velxio para ver as mensagens “LED ON” e “LED OFF”. Se você não as vir, verifique a taxa de transmissão (115200) e se abriu o monitor.
- Não pisca?: Verifique se a simulação está em execução (clique no botão Executar na barra de ferramentas). Verifique também se o código compila sem erros.
Extensões Sugeridas
Depois de conseguir o piscar básico, tente estas modificações:
- Alterar a velocidade do piscar: Modifique os valores de
delay()para fazer os LEDs piscarem mais rápido ou mais devagar. - Piscar apenas um LED: Comente uma das chamadas
digitalWritepara piscar apenas o LED integrado ou apenas o LED externo. - Adicionar um terceiro LED: Coloque outro LED no GPIO5 e conecte-o. Atualize o código para piscar todos os três em sequência.
- Usar PWM para fade: Em vez de
digitalWrite, useanalogWrite()para suavizar o brilho do LED (o ESP32 suporta PWM na maioria dos pinos). - Adicionar um botão: Conecte um botão de pressão a um pino de entrada e faça o LED acender apenas quando o botão for pressionado.
Experimente Você Mesmo!
Pronto para piscar? Abra o exemplo ao vivo no Velxio e inicie a simulação. Você verá ambos os LEDs piscando em sincronia. Experimente com o código e o circuito — é a melhor maneira de aprender.
Abra o exemplo ESP32 Blink LED no Velxio
Feliz piscar!