#2Iniciante

Dois LEDs piscando alternadamente

4.6(105)
343 concluído
Dois LEDs piscando alternadamente
Dois LEDs piscam rapidamente, um de cada vez: quando um acende, o outro apaga, como se estivessem jogando uma bola de um para o outro. O Arduino mantém cada luz acesa por um quinto de segundo e passa para a outra. Depois de um único LED, este é o passo mais fácil para controlar várias luzes juntas.

Vídeo

Esquema do circuito

Dois LEDs piscando alternadamente - Circuit

Código-fonte

C++ (Arduino IDE)
1// ─────────────────────────────────────────
2//   BlueGrays · bluegrays.com
3//   Dois LEDs piscando alternadamente
4// ─────────────────────────────────────────
5// Acende dois LEDs alternadamente a cada 200 ms (efeito flip-flop). Mostra
6// como controlar mais de um pino de saída.
7//
8// Pinos:
9//   D8 -> LED 1 (com resistor de 220 ohm)
10//   D9 -> LED 2 (com resistor de 220 ohm)
11
12void setup() {
13  pinMode(8,OUTPUT);     // Saída do LED 1
14  pinMode(9,OUTPUT);     // Saída do LED 2
15}
16
17void loop() {
18  // LED 1 ligado, LED 2 desligado
19  digitalWrite(8,HIGH);
20  digitalWrite(9,LOW);
21  delay(200);
22  // Troca: LED 1 desligado, LED 2 ligado
23  digitalWrite(8,LOW);
24  digitalWrite(9,HIGH);
25  delay(200);
26}
27

Perguntas frequentes

Dois LEDs podem ser ligados ao mesmo resistor?

Não, cada LED deve ter seu próprio resistor. Se usarem um único resistor, os LEDs não dividirão a corrente igualmente; um poderá brilhar mais ou nem acender. Neste projeto, cada LED tem um resistor de 220 Ω separado.

Como funciona o efeito flip-flop?

Quando um LED é definido como HIGH, o outro é definido como LOW; após uma breve pausa, os estados se invertem. Assim, os dois LEDs acendem alternadamente. A base desse efeito é escrever valores opostos nos dois pinos ao mesmo tempo.

Quais pinos posso usar?

No Uno, todos os pinos digitais de 2 a 13 podem ser usados para acionar LEDs. Como os pinos 0 e 1 são usados na comunicação serial USB, é recomendável deixá-los livres. Se você trocar o pino, atualize também o número dele no código.

Os LEDs estão com pouco brilho. Por quê?

Geralmente, a linha `pinMode(pin, OUTPUT)` foi esquecida; um pino que não está configurado como saída faz o LED acender com pouco brilho. O mesmo acontece se o valor do resistor for muito alto (por exemplo, 10 kΩ); use 220–330 Ω.