Início Atividade 1
1
BÁSICO

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.

🎒 Analogia: É como arrumar a mochila antes de ir para a escola. Você faz uma vez, antes de começar o dia!

void loop() { }

Função que roda INFINITAMENTE, repetindo o código dentro dela.

🔄 Analogia: É a rotina do dia a dia - acordar, estudar, dormir - que se repete sem parar!

📖 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

blink.ino
// 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

FÁCIL

Piscar mais devagar

Altere o delay para 2000ms e observe a diferença.

MÉDIO

Código Morse SOS

Faça o LED piscar: 3 curtos, 3 longos, 3 curtos (... --- ...)

AVANÇADO

Contador de piscadas

Use uma variável para contar e mostrar no Serial quantas vezes o LED piscou.

CRIATIVO

Seu padrão

Crie um padrão único de piscadas que represente algo (batimento cardíaco, alarme, etc).

▶️ Como Fazer Upload

  1. 1
    Copie o código acima e cole na Arduino IDE
  2. 2
    Verifique se a placa e porta estão corretas (Tools → Board / Port)
  3. 3
    Clique no botão Upload (seta → ) ou pressione Ctrl+U
  4. 4
    Abra o Monitor Serial (Tools → Serial Monitor ou Ctrl+Shift+M)
  5. 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!

+10 XP por acerto
🔥 Combo = XP extra!
🏆 60% para avançar

Carregando quiz...