Cada parte do corpo tem uma função. O Arduino também! Clique em cada parte para descobrir.
setup() + loop() + if/elseRoda 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 }
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); }
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 }
digitalRead + analogReadLê 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!"); }
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);
digitalWrite + analogWriteManda 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);
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)
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) }
delay() + millis()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
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!"); }
Serial.print + Serial.printlnEnvia texto ou valores para o Monitor Serial do computador. Como sussurrar continuamente.
Serial.print("Temperatura: "); Serial.print(temperatura); Serial.print(" graus");
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
Precisa ficar no setup(). Define a velocidade de comunicação.
void setup() { Serial.begin(9600); // 9600 baud rate }
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 }