1) Pisca-LED (pino 13)
LED integrado ou externo no pino 13. Acende por 500 ms e apaga por 500 ms.
// Pisca LED no pino 13
void setup() {
pinMode(13, OUTPUT);
}
void loop() {
digitalWrite(13, HIGH);
delay(500);
digitalWrite(13, LOW);
delay(500);
}
2) Dois LEDs alternados (pinos 8 e 9)
Acende o LED do pino 8 enquanto apaga o 9, depois inverte.
// Dois LEDs alternados nos pinos 8 e 9
void setup() {
pinMode(8, OUTPUT);
pinMode(9, OUTPUT);
}
void loop() {
digitalWrite(8, HIGH);
digitalWrite(9, LOW);
delay(300);
digitalWrite(8, LOW);
digitalWrite(9, HIGH);
delay(300);
}
3) Sequência 'correr' com 4 LEDs (sem for)
Efeito vai-e-volta em 4 LEDs, usando somente atribuições diretas.
// Sequência 'correr' com 4 LEDs (pinos 8,9,10,11) SEM usar
for
void setup() {
pinMode(8, OUTPUT);
pinMode(9, OUTPUT);
pinMode(10, OUTPUT);
pinMode(11, OUTPUT);
}
void loop() {
// Apenas o pino 8 aceso
digitalWrite(8, HIGH); digitalWrite(9, LOW);
digitalWrite(10, LOW); digitalWrite(11, LOW);
delay(150);
// Apenas o pino 9 aceso
digitalWrite(8, LOW); digitalWrite(9, HIGH);
digitalWrite(10, LOW); digitalWrite(11, LOW);
delay(150);
// Apenas o pino 10 aceso
digitalWrite(8, LOW); digitalWrite(9, LOW);
digitalWrite(10, HIGH); digitalWrite(11, LOW);
delay(150);
// Apenas o pino 11 aceso
digitalWrite(8, LOW); digitalWrite(9, LOW);
digitalWrite(10, LOW); digitalWrite(11, HIGH);
delay(150);
// Volta: 10
digitalWrite(8, LOW); digitalWrite(9, LOW);
digitalWrite(10, HIGH); digitalWrite(11, LOW);
delay(150);
// Volta: 9
digitalWrite(8, LOW); digitalWrite(9, HIGH);
digitalWrite(10, LOW); digitalWrite(11, LOW);
delay(150);
}
4) Semáforo simples (3 LEDs)
Ciclo clássico: verde 5s, amarelo 2s, vermelho 5s.
// Semáforo simples: verde (10) -> amarelo (11) -> vermelho
(12)
void setup() {
pinMode(10, OUTPUT);
pinMode(11, OUTPUT);
pinMode(12, OUTPUT);
}
void loop() {
// Verde
digitalWrite(10, HIGH);
digitalWrite(11, LOW);
digitalWrite(12, LOW);
delay(5000);
// Amarelo
digitalWrite(10, LOW);
digitalWrite(11, HIGH);
digitalWrite(12, LOW);
delay(2000);
// Vermelho
digitalWrite(10, LOW);
digitalWrite(11, LOW);
digitalWrite(12, HIGH);
delay(5000);
}
5) S.O.S. em código Morse (sem funções extras)
Sequência S-O-S usando somente digitalWrite e delay, com tempos de ponto/traço.
// S.O.S. em Morse no LED do pino 13 (sem funções
auxiliares)
void setup() {
pinMode(13, OUTPUT);
}
void loop() {
// S = ponto ponto ponto (· · ·)
digitalWrite(13, HIGH); delay(200); digitalWrite(13, LOW);
delay(200);
digitalWrite(13, HIGH); delay(200); digitalWrite(13, LOW);
delay(200);
digitalWrite(13, HIGH); delay(200); digitalWrite(13, LOW);
delay(600); // espaço entre letras
// O = traço traço traço (— — —)
digitalWrite(13, HIGH); delay(600); digitalWrite(13, LOW);
delay(200);
digitalWrite(13, HIGH); delay(600); digitalWrite(13, LOW);
delay(200);
digitalWrite(13, HIGH); delay(600); digitalWrite(13, LOW);
delay(600); // espaço entre letras
// S = ponto ponto ponto (· · ·)
digitalWrite(13, HIGH); delay(200); digitalWrite(13, LOW);
delay(200);
digitalWrite(13, HIGH); delay(200); digitalWrite(13, LOW);
delay(200);
digitalWrite(13, HIGH); delay(200); digitalWrite(13, LOW);
// Pausa entre palavras
delay(2000);
}
6) Efeito 'Knight Rider' (6 LEDs)
Varredura indo e voltando com 6 LEDs usando apenas atribuições diretas.
// Knight Rider com 6 LEDs (pinos 2 a 7) sem for
void setup() {
pinMode(2, OUTPUT);
pinMode(3, OUTPUT);
pinMode(4, OUTPUT);
pinMode(5, OUTPUT);
pinMode(6, OUTPUT);
pinMode(7, OUTPUT);
}
void loop() {
// 2
digitalWrite(2, HIGH); digitalWrite(3, LOW);
digitalWrite(4, LOW); digitalWrite(5, LOW); digitalWrite(6,
LOW); digitalWrite(7, LOW);
delay(120);
// 3
digitalWrite(2, LOW); digitalWrite(3, HIGH);
digitalWrite(4, LOW); digitalWrite(5, LOW); digitalWrite(6,
LOW); digitalWrite(7, LOW);
delay(120);
// 4
digitalWrite(2, LOW); digitalWrite(3, LOW); digitalWrite(4,
HIGH); digitalWrite(5, LOW); digitalWrite(6, LOW);
digitalWrite(7, LOW);
delay(120);
// 5
digitalWrite(2, LOW); digitalWrite(3, LOW); digitalWrite(4,
LOW); digitalWrite(5, HIGH); digitalWrite(6, LOW);
digitalWrite(7, LOW);
delay(120);
// 6
digitalWrite(2, LOW); digitalWrite(3, LOW); digitalWrite(4,
LOW); digitalWrite(5, LOW); digitalWrite(6, HIGH);
digitalWrite(7, LOW);
delay(120);
// 7
digitalWrite(2, LOW); digitalWrite(3, LOW); digitalWrite(4,
LOW); digitalWrite(5, LOW); digitalWrite(6, LOW);
digitalWrite(7, HIGH);
delay(120);
// volta: 6
digitalWrite(2, LOW); digitalWrite(3, LOW); digitalWrite(4,
LOW); digitalWrite(5, LOW); digitalWrite(6, HIGH);
digitalWrite(7, LOW);
delay(120);
// volta: 5
digitalWrite(2, LOW); digitalWrite(3, LOW); digitalWrite(4,
LOW); digitalWrite(5, HIGH); digitalWrite(6, LOW);
digitalWrite(7, LOW);
delay(120);
// volta: 4
digitalWrite(2, LOW); digitalWrite(3, LOW); digitalWrite(4,
HIGH); digitalWrite(5, LOW); digitalWrite(6, LOW);
digitalWrite(7, LOW);
delay(120);
// volta: 3
digitalWrite(2, LOW); digitalWrite(3, HIGH);
digitalWrite(4, LOW); digitalWrite(5, LOW); digitalWrite(6,
LOW); digitalWrite(7, LOW);
delay(120);
}
7) Estrobo (piscadas rápidas)
Grupo de piscadas rápidas seguido de pausas maiores.
// Estrobo rápido no pino 13
void setup() {
pinMode(13, OUTPUT);
}
void loop() {
digitalWrite(13, HIGH); delay(50);
digitalWrite(13, LOW); delay(50);
digitalWrite(13, HIGH); delay(50);
digitalWrite(13, LOW); delay(200);
digitalWrite(13, HIGH); delay(50);
digitalWrite(13, LOW); delay(50);
digitalWrite(13, HIGH); delay(50);
digitalWrite(13, LOW); delay(800);
}
8) Pulso para relé (1s ON / 3s OFF)
Aciona o relé por 1 s e mantém desligado por 3 s.
// Pulso para relé no pino 6
void setup() {
pinMode(6, OUTPUT);
}
void loop() {
// Liga por 1 segundo
digitalWrite(6, HIGH);
delay(1000);
// Desliga por 3 segundos
digitalWrite(6, LOW);
delay(3000);
}
9) Motor DC com ponte H (2 pinos)
Inverte polaridade do motor alternando IN1/IN2. Use driver (L298N, L293D, ponte H
discreta).
// Ponte H simples: IN1=8, IN2=9 (usar driver apropriado)
// NUNCA ligue motor direto no Arduino.
void setup() {
pinMode(8, OUTPUT);
pinMode(9, OUTPUT);
}
void loop() {
// Sentido 1
digitalWrite(8, HIGH);
digitalWrite(9, LOW);
delay(2000);
// Parado (freio solto)
digitalWrite(8, LOW);
digitalWrite(9, LOW);
delay(500);
// Sentido 2
digitalWrite(8, LOW);
digitalWrite(9, HIGH);
delay(2000);
// Parado
digitalWrite(8, LOW);
digitalWrite(9, LOW);
delay(500);
}
10) Três LEDs: padrão 1-2-3-2
Caminha até o último LED e volta ao do meio, repetindo.
// Padrão 1-2-3-2 com 3 LEDs (pinos 8,9,10)
void setup() {
pinMode(8, OUTPUT);
pinMode(9, OUTPUT);
pinMode(10, OUTPUT);
}
void loop() {
// 1
digitalWrite(8, HIGH); digitalWrite(9, LOW);
digitalWrite(10, LOW); delay(200);
// 2
digitalWrite(8, LOW); digitalWrite(9, HIGH);
digitalWrite(10, LOW); delay(200);
// 3
digitalWrite(8, LOW); digitalWrite(9, LOW);
digitalWrite(10, HIGH); delay(200);
// 2
digitalWrite(8, LOW); digitalWrite(9, HIGH);
digitalWrite(10, LOW); delay(200);
}
11) Dois semáforos opostos (cruzamento simples)
Coordena dois conjuntos de 3 LEDs para simular um cruzamento.
// Dois semáforos opostos: A (pins 2,3,4) e B (pins 5,6,7)
// Ordem: A verde / B vermelho -> A amarelo / B vermelho -> A
vermelho / B verde
void setup() {
pinMode(2, OUTPUT); // A verde
pinMode(3, OUTPUT); // A amarelo
pinMode(4, OUTPUT); // A vermelho
pinMode(5, OUTPUT); // B verde
pinMode(6, OUTPUT); // B amarelo
pinMode(7, OUTPUT); // B vermelho
}
void loop() {
// A verde / B vermelho
digitalWrite(2, HIGH); digitalWrite(3, LOW);
digitalWrite(4, LOW);
digitalWrite(5, LOW); digitalWrite(6, LOW);
digitalWrite(7, HIGH);
delay(4000);
// A amarelo / B vermelho
digitalWrite(2, LOW); digitalWrite(3, HIGH);
digitalWrite(4, LOW);
digitalWrite(5, LOW); digitalWrite(6, LOW);
digitalWrite(7, HIGH);
delay(1500);
// A vermelho / B verde
digitalWrite(2, LOW); digitalWrite(3, LOW);
digitalWrite(4, HIGH);
digitalWrite(5, HIGH); digitalWrite(6, LOW);
digitalWrite(7, LOW);
delay(4000);
// A vermelho / B amarelo (opcional de segurança)
digitalWrite(2, LOW); digitalWrite(3, LOW);
digitalWrite(4, HIGH);
digitalWrite(5, LOW); digitalWrite(6, HIGH);
digitalWrite(7, LOW);
delay(1500);
}
12) LEDs em pares alternados (4 LEDs)
Dois pares se alternando a cada 400 ms.
// Quatro LEDs piscando em pares (8-10 juntos, depois 9-11
juntos)
void setup() {
pinMode(8, OUTPUT);
pinMode(9, OUTPUT);
pinMode(10, OUTPUT);
pinMode(11, OUTPUT);
}
void loop() {
// Par 1: 8 e 10 ON; 9 e 11 OFF
digitalWrite(8, HIGH); digitalWrite(10, HIGH);
digitalWrite(9, LOW); digitalWrite(11, LOW);
delay(400);
// Par 2: 9 e 11 ON; 8 e 10 OFF
digitalWrite(8, LOW); digitalWrite(10, LOW);
digitalWrite(9, HIGH); digitalWrite(11, HIGH);
delay(400);
}