📟 Cartilha Arduino — 8º e 9º Ano

Arduino é como um
Corpo Humano

Cada parte do corpo tem uma função. O Arduino também! Clique em cada parte para descobrir.

🤔 O que eu quero fazer? → Qual parte do corpo eu uso?
⬅️ Voltar para página inicial
🧠 Cérebro setup() + loop()
👁️ 👂 Sentidos / Nervos digitalRead / analogRead
💪 Músculos digitalWrite / analogWrite
Coração / Ritmo delay / millis
🗣️ Boca / Voz Serial.print
🧠
No corpo humano
O Cérebro
Pensa, decide, controla tudo
+ ver
🔁 Repetir sempre ⚙️ Preparar uma vez ❓ Comparar e decidir
🧠 No Arduino: setup() + loop() + if/else
⚙️ setup() — "Acordar e se preparar"

Roda uma vez só quando você liga o Arduino. É como o cérebro acordando e checando tudo antes de começar o dia.

void setup() {
  pinMode(13, OUTPUT);   // diz: o pino 13 é saída
  Serial.begin(9600);   // liga a comunicação
}
🔁 loop() — "O coração que nunca para"

Roda para sempre, repetindo sem parar — como o coração batendo. Tudo que o Arduino faz fica aqui dentro.

void loop() {
  // tudo aqui repete infinitamente!
  digitalWrite(13, HIGH);
  delay(1000);
  digitalWrite(13, LOW);
  delay(1000);
}
❓ if / else — "Tomar uma decisão"

O cérebro decide: "SE acontecer isso, faço aquilo. SENÃO, faço outra coisa."

if (botao == HIGH) {
  digitalWrite(led, HIGH);  // acende
} else {
  digitalWrite(led, LOW);   // apaga
}
💡 Lembre: setup() = café da manhã (uma vez)  |  loop() = respirar (nunca para)
👁️
No corpo humano
Os Sentidos & Nervos
Veem, ouvem, sentem o mundo
+ ver
👆 Ler um botão 🌡️ Ler um sensor 📡 Receber info
👁️ No Arduino: digitalRead + analogRead
👆 digitalRead() — "Liga ou desliga?"

Lê se algo está ligado (1) ou desligado (0). Igual perguntar: "a luz está acesa?" — só tem duas respostas.

int estado = digitalRead(2);
// estado = HIGH (1) ou LOW (0)

if (estado == HIGH) {
  Serial.println("Botão apertado!");
}
🌡️ analogRead() — "Quanto exatamente?"

Lê valores de 0 a 1023 — igual um termômetro que lê a temperatura exata, não só "quente ou frio".

int luz = analogRead(A0);
// luz = 0 (escuro) até 1023 (clarão)

Serial.print("Luminosidade: ");
Serial.println(luz);
💡 Lembre: digital = interruptor (só 0 ou 1)  |  analógico = dimmer (0 até 1023)
💪
No corpo humano
Os Músculos
Movem, agem, fazem acontecer
+ ver
💡 Ligar LED 🔌 Ligar motor 🌓 Controlar brilho
💪 No Arduino: digitalWrite + analogWrite
💡 digitalWrite() — "Liga ou desliga o músculo"

Manda o pino para HIGH (5V = ligado) ou LOW (0V = desligado). Como contrair ou relaxar um músculo.

digitalWrite(13, HIGH);  // LED acende  💡
delay(500);
digitalWrite(13, LOW);   // LED apaga   ⬛
delay(500);
🌓 analogWrite() — "Força do músculo"

Controla a intensidade de 0 a 255. Igual controlar o quanto de força você coloca num movimento.

analogWrite(9, 0);    // LED apagado
analogWrite(9, 128);  // LED 50% de brilho
analogWrite(9, 255);  // LED no máximo!

⚠️ Só funciona nos pinos com ~ (3, 5, 6, 9, 10, 11)

📌 pinMode() — "Treinar o músculo antes"

Antes de usar um pino, você precisa dizer se ele vai enviar (OUTPUT) ou receber (INPUT).

void setup() {
  pinMode(13, OUTPUT);  // pino 13 = saída (músculo)
  pinMode(2,  INPUT);   // pino 2  = entrada (sentido)
}
💡 Lembre: digital = liga/desliga  |  analog = controla a força (0–255)
No corpo humano
O Coração & Ritmo
Controla o tempo e o ritmo
+ ver
⏸️ Pausar / esperar ⏱️ Contar tempo 🔔 Piscar no ritmo
⏰ No Arduino: delay() + millis()
⏸️ delay() — "Segura um segundo!"

Para tudo por um tempo (em milissegundos). 1000 ms = 1 segundo. Como prender a respiração.

delay(1000);   // espera 1 segundo
delay(500);    // espera meio segundo
delay(100);    // espera 0,1 segundo
⏱️ millis() — "O relógio interno"

Retorna quantos milissegundos passaram desde que o Arduino ligou. Não trava o programa!

unsigned long agora = millis();
// agora = ex: 3450 (ms desde o início)

if (agora > 5000) {
  Serial.println("Passaram 5 segundos!");
}
💡 Lembre: delay() = pausa tudo  |  millis() = cronômetro que não para o programa
🗣️
No corpo humano
A Boca & Voz
Fala, informa, se comunica
+ ver
📢 Mostrar valor 🐛 Depurar erro 💬 Enviar texto
🗣️ No Arduino: Serial.print + Serial.println
📢 Serial.print() — "Falar sem pular linha"

Envia texto ou valores para o Monitor Serial do computador. Como sussurrar continuamente.

Serial.print("Temperatura: ");
Serial.print(temperatura);
Serial.print(" graus");
📢 Serial.println() — "Falar e pular linha"

Igual ao print, mas pula uma linha no final. Como terminar uma frase.

Serial.println("Arduino ligado!");
Serial.println(valor);       // imprime número
Serial.println();           // só pula linha
⚙️ Serial.begin() — "Aprender a falar primeiro"

Precisa ficar no setup(). Define a velocidade de comunicação.

void setup() {
  Serial.begin(9600);  // 9600 baud rate
}
💡 Lembre: print = continua na mesma linha  |  println = pula para a próxima linha
🍳
Juntando tudo
Receita Completa: Ler → Comparar → Agir → Informar
Um programa que usa TODAS as partes do "corpo"
+ ver
🧠 Cérebro 👁️ Sentidos 💪 Músculos ⏰ Ritmo 🗣️ Voz

Programa completo: botão pressiona → LED acende → Serial informa

// === PARTES DO "CORPO" ===
int pinoBotao = 2;   // 👁️ sentido (entrada)
int pinoLED   = 13;  // 💪 músculo (saída)

void setup() {              // 🧠 preparação
  pinMode(pinoBotao, INPUT);
  pinMode(pinoLED,   OUTPUT);
  Serial.begin(9600);    // 🗣️ ligar a voz
}

void loop() {               // 🔁 repetir sempre
  // 👁️ SENTIR: lê o botão
  int estado = digitalRead(pinoBotao);

  // 🧠 DECIDIR: comparar
  if (estado == HIGH) {
    digitalWrite(pinoLED, HIGH);       // 💪 AGIR
    Serial.println("LED aceso!");     // 🗣️ FALAR
  } else {
    digitalWrite(pinoLED, LOW);        // 💪 AGIR
    Serial.println("LED apagado.");  // 🗣️ FALAR
  }

  delay(200);                          // ⏰ RITMO
}
🧠 setup()+loop()
Cérebro
👁️ digitalRead()
Sentido
💪 digitalWrite()
Músculo
⏰ delay()
Ritmo
🗣️ Serial.println()
Voz