Teste Blink 💡
Faça o LED interno piscar e entenda a estrutura básica de um programa Arduino
🎯 Objetivo desta atividade
Nesta atividade você vai fazer o LED da placa piscar, alternando entre ligado e desligado a cada 1 segundo. Parece simples, mas aqui você aprende os fundamentos que usará em TODOS os seus projetos futuros!
📚 Conceitos Fundamentais
void setup() { }
Função que roda apenas UMA VEZ quando a placa liga ou reseta.
void loop() { }
Função que roda INFINITAMENTE, repetindo o código dentro dela.
📖 Glossário de Comandos
| Comando | O que faz | Exemplo |
|---|---|---|
pinMode(pino, MODO) |
Define se um pino é entrada ou saída | pinMode(2, OUTPUT) |
digitalWrite(pino, VALOR) |
Liga (HIGH) ou desliga (LOW) um pino | digitalWrite(2, HIGH) |
delay(ms) |
Pausa o programa por X milissegundos | delay(1000) = 1 segundo |
Serial.begin(velocidade) |
Inicia comunicação com o computador | Serial.begin(115200) |
Serial.println(texto) |
Envia mensagem para o Monitor Serial | Serial.println("Olá!") |
🔧 Hardware Utilizado
LED Interno
Conectado ao GPIO 2 na maioria das placas ESP32 DevKit V1
ℹ️ Nota: O LED interno já vem soldado na placa, então não precisa conectar nada! Basta programar e ver a mágica acontecer.
💻 Código Completo
// Definição do pino.
// Na maioria das placas ESP32 (DevKit V1), o LED interno é o pino 2.
const int PINO_LED = 2;
// O setup() roda apenas uma vez quando a placa liga.
// Analogia: É como arrumar a mochila antes de ir para a escola.
void setup() {
// Configura o pino do LED como uma SAÍDA de energia (Output)
pinMode(PINO_LED, OUTPUT);
// Iniciamos a comunicação serial (opcional, bom para debug)
Serial.begin(115200);
Serial.println("O ESP32 iniciou!");
}
// O loop() roda infinitamente, o mais rápido possível.
// Analogia: É a rotina do dia a dia, que se repete sem parar.
void loop() {
digitalWrite(PINO_LED, HIGH); // Liga o LED (HIGH = 3.3V)
Serial.println("Luz Acesa 💡");
delay(1000); // Espera 1000 milissegundos (1 segundo)
digitalWrite(PINO_LED, LOW); // Desliga o LED (LOW = 0V)
Serial.println("Luz Apagada 🌑");
delay(1000); // Espera 1 segundo
}
🔍 Entendendo o Código
Linha 3: const int PINO_LED = 2;
Criamos uma constante chamada PINO_LED com valor 2. É como dar um apelido para o número do pino, facilitando a leitura do código. Se precisar trocar o pino, basta mudar aqui!
Linha 8: pinMode(PINO_LED, OUTPUT);
Configuramos o pino como SAÍDA. Isso significa que o ESP32 vai enviar energia por esse pino (e não receber). Imagine uma torneira: OUTPUT = água saindo, INPUT = água entrando.
Linha 17: digitalWrite(PINO_LED, HIGH);
HIGH = Liga (3.3 volts saindo do pino)
LOW = Desliga (0 volts, sem energia)
É como um interruptor de luz: HIGH acende, LOW apaga!
Linha 19: delay(1000);
Pausa o programa por 1000 milissegundos (1 segundo).
Sem isso, o LED piscaria tão rápido que pareceria sempre aceso!
Dica: 1000 ms = 1 segundo, 500 ms = meio segundo, 2000 ms = 2 segundos
🏆 Desafios para Praticar
Piscar mais devagar
Altere o delay para 2000ms e observe a diferença.
Código Morse SOS
Faça o LED piscar: 3 curtos, 3 longos, 3 curtos (... --- ...)
Contador de piscadas
Use uma variável para contar e mostrar no Serial quantas vezes o LED piscou.
Seu padrão
Crie um padrão único de piscadas que represente algo (batimento cardíaco, alarme, etc).
▶️ Como Fazer Upload
-
1
Copie o código acima e cole na Arduino IDE
-
2
Verifique se a placa e porta estão corretas (Tools → Board / Port)
-
3
Clique no botão Upload (seta → ) ou pressione Ctrl+U
-
4
Abra o Monitor Serial (Tools → Serial Monitor ou Ctrl+Shift+M)
-
✓
Observe: O LED deve piscar e as mensagens aparecem no Serial!
📝 Teste seus Conhecimentos
Quiz Gamificado
Responda às perguntas para ganhar XP e desbloquear a próxima atividade!
Carregando quiz...