Código de Pesquisa

Lição 98-6: Jogo de LED gangorra com Arduino

Lição 98-6: Jogo de LED gangorra com Arduino

O projeto de LED gangorra é um exercício clássico para iniciantes que ensina um dos conceitos mais importantes da programação Arduino: fazer duas saídas alternarem em um ritmo temporizado. Usando apenas dois LEDs, dois resistores e alguns fios jumper, você construirá um circuito onde um LED verde e um LED vermelho se alternam ao acender, imitando o movimento de subida e descida de uma gangorra de parquinho. É uma montagem simples, mas introduz os blocos de construção fundamentais — definições de pinos, constantes de temporização e chamadas sequenciais de digitalWrite() — que aparecem em quase todo sketch Arduino que você escreverá.

dois LEDs com resistor na protoboard conectados ao Arduino
dois LEDs com resistor na protoboard conectados ao Arduino

Como o padrão gangorra é realmente apenas "ligue uma coisa, desligue-a, ligue a outra coisa, desligue-a, repita", a mesma estrutura se expande para dezenas de usos práticos. Aqui estão algumas ideias para despertar sua imaginação:

  • Luzes indicadoras alternadas — um par "seguro / alerta" em um painel de controle que alterna entre um e outro.
  • Simulação de passagem de nível — duas lâmpadas piscando alternadamente conforme um trem se aproxima.
  • Placa de direção de duas faixas — um display de seta "vá por aqui / vá por ali" para uma entrada de garagem ou estacionamento.
  • Decoração natalina — LEDs vermelhos e verdes trocando de lugar para um efeito piscante festivo.
  • Base de aprendizado — as habilidades de temporização e sequenciamento aqui são as mesmas que você usará depois para semáforos, luzes de pedestres e animações com múltiplos LEDs.

Como Funciona o Efeito Gangorra

Um LED é um diodo que emite luz, e seu símbolo é um triângulo apontando para uma linha. A linha reta é o cátodo (negativo), e a parte de trás do triângulo é o ânodo (positivo). Em um LED físico, a perna mais longa é o ânodo e a perna mais curta, de lado reto, é o cátodo. A corrente flui do ânodo para o cátodo, então o ânodo se conecta ao pino do seu Arduino e o cátodo se conecta através de um resistor ao terra (no vídeo em 02:29).

O resistor importa. Um LED pequeno típico quer aproximadamente 2 V através dele e cerca de 10 mA de corrente. Se seu Arduino fornece 5 V, os 3 V restantes devem ser dissipados pelo resistor. Usando a lei de Ohm, R = V / I = 3 V / 0,01 A = 300 Ω. Qualquer valor de cerca de 300 Ω até 1000 Ω funcionará — valores mais altos simplesmente deixam o LED mais fraco (no vídeo em 03:49).

Para a gangorra, os dois LEDs são ligados de forma idêntica: cada ânodo vai para seu próprio pino do Arduino, e cada cátodo passa por seu próprio resistor até um trilho de terra compartilhado. A única diferença entre os dois é a qual pino eles estão conectados.

Hardware e Componentes

  • 1 × placa Arduino (Uno, Nano, Mega ou similar)
  • 2 × LEDs — um vermelho, um verde (quaisquer duas cores funcionam)
  • 2 × resistores, 300 Ω a 1000 Ω (220 Ω ou 330 Ω são escolhas comuns)
  • 1 × protoboard
  • Fios jumper (fios DuPont)
  • Cabo USB para programação e alimentação

É isso — sem botões, sem potenciômetros, sem sensores. Esta é deliberadamente a lista de peças mais enxuta possível para que você possa focar inteiramente na lógica do código.

Guia de Ligação

Esquema Arduino para dois LEDs gangorra
Esquema Arduino para dois LEDs gangorra
Ligação Arduino para dois LEDs gangorra
Ligação Arduino para dois LEDs gangorra

A ligação é simétrica e fácil de seguir. Insira ambos os LEDs na protoboard. Conecte o ânodo (perna mais longa) do LED verde ao pino 2 do Arduino e o ânodo do LED vermelho ao pino 3 do Arduino. Cada cátodo (perna mais curta) se conecta a uma extremidade de seu próprio resistor, e a outra extremidade de ambos os resistores se junta a um trilho comum que vai para o pino GND do Arduino (no vídeo em 27:45).

Como ambos os LEDs compartilham o mesmo trilho de terra, apenas um fio de terra é necessário da protoboard de volta ao Arduino. Os dois fios de sinal — um para o pino 2, um para o pino 3 — são as únicas conexões que mudam entre os dois LEDs.

Explicação do Código

O sketch é intencionalmente curto para que cada linha seja significativa. Aqui estão as partes que você realmente vai querer ajustar:

Definições de Pinos

const int greenLEDPin = 2;//define a pin for green LED
const int redLEDPin = 3;//define a pin for red LED

Essas duas constantes dizem ao Arduino a quais pinos os LEDs estão conectados. Se você ligou seus LEDs a pinos diferentes — digamos pino 8 e pino 9 — este é o único lugar que você precisa alterar. A palavra-chave const significa que o valor é fixo durante a vida útil do programa e não pode ser acidentalmente sobrescrito depois.

Constante de Temporização

const int ON_TIME = 500;

Este valor único controla quanto tempo cada LED permanece aceso, em milissegundos. O padrão de 500 significa que cada LED fica aceso por meio segundo, então um ciclo completo de verde e depois vermelho leva um segundo. Reduza para 200 para um piscar rápido, ou aumente para 1000 para um ritmo lento e deliberado de um segundo por LED (no vídeo em 30:17). Como ambos os LEDs compartilham essa constante, eles sempre permanecem sincronizados — a gangorra permanece equilibrada.

Configuração

Dentro de setup(), os dois pinos são declarados como saídas com pinMode(), e o monitor serial é iniciado a 9600 bauds para que você possa ver as mensagens de estado dos LEDs passando. Isso é executado uma vez, quando a placa é ligada.

O Loop

A função loop() é onde a gangorra acontece. Ela executa quatro ações em sequência: liga o LED verde, espera ON_TIME milissegundos, desliga-o, e então faz o mesmo para o LED vermelho. Quando o loop chega ao fim, ele recomeça do topo automaticamente — esse é todo o comportamento de "gangorra". Não há variável de estado nem condição a verificar, porque o padrão é puramente sequencial.

Projeto ao Vivo e Demonstração

Depois que o código for carregado, você verá o LED verde acender por meio segundo, depois o LED vermelho, depois verde novamente, infinitamente. Abrir o monitor serial (Ferramentas → Monitor Serial, ou Ctrl+Shift+M) mostra "Green LED ON" e "Red LED ON" impressos enquanto o padrão é executado, o que é uma maneira prática de confirmar que a temporização corresponde ao que você definiu.

Tente alterar ON_TIME para 200 e recarregar — os LEDs alternarão visivelmente mais rápido. Defina como 1000 e a gangorra se torna uma alternância lenta e deliberada. Você também pode desconectar o Arduino do USB e alimentá-lo com uma bateria ou um adaptador de 5 V; o sketch funciona de forma idêntica porque já está armazenado na memória da placa.

Projetos relacionados deste vídeo

Capítulos

  • [00:00] Visão geral dos 10 projetos de LED com Arduino
  • [01:22] Introdução ao curso passo a passo de Arduino
  • [02:29] Entendendo os LEDs: símbolo, ânodo e cátodo
  • [03:49] Calculando o resistor em série do LED com a lei de Ohm
  • [27:32] Apresentando o projeto de LED gangorra
  • [27:45] Diagrama de ligação do projeto gangorra
  • [28:28] Explicando o código da gangorra
  • [30:06] Demonstrando a gangorra com diferentes temporizações
  • [30:47] Visão geral do projeto de luz caminhante
  • [36:41] Luz caminhante controlada por botão de pressão
  • [42:25] Medidor de barra de tensão com LEDs e potenciômetro
  • [49:25] Projeto de semáforo com Arduino

Imagens

Arduino wiring for two LEDs see saw
Arduino wiring for two LEDs see saw
Arduino schematic for two LEDs see saw
Arduino schematic for two LEDs see saw
330_ohm_resistor
330_ohm_resistor
dois LEDs com resistor em breadboard conectados ao Arduino
dois LEDs com resistor em breadboard conectados ao Arduino
938-Lessson 98-LED-6: Arduino code two LED, See-saw
Idioma: C++
This code has not been parsed yet. Please return to the admin panel to parse it.

Arquivos📁

Bibliotecas do Arduino (zip)

Manual do Usuário