Produção publicada

Arco-íris com LED RGB e potenciômetro

  • 2º trimestre
  • Robótica
  • 2ª Série A
  • Protótipo com foto do artefato

Atividade: Arco-íris

Ver todas as produções de 2ª Série A

Resumo acessível em HTML

Um potenciômetro seleciona sete faixas e o Arduino controla os canais vermelho, verde e azul de um LED RGB pelas portas PWM 3, 5 e 6. Ao girar o eixo, a luz percorre vermelho, laranja, amarelo, verde, azul, anil e violeta.

Fotografia integral do artefato

Descrição textual do circuito

Visão geral

O protótipo da aula 26 do material Robótica Paraná utiliza um único LED RGB, que reúne emissores vermelho, verde e azul. A mistura aditiva das intensidades desses três canais produz as cores do arco-íris. O potenciômetro funciona como entrada analógica para escolher a cor exibida.

Ligações

  • Canal vermelho do LED RGB: resistor de 220 ohms e porta PWM 3.
  • Canal verde do LED RGB: resistor de 220 ohms e porta PWM 5.
  • Canal azul do LED RGB: resistor de 220 ohms e porta PWM 6.
  • Terminal comum do LED: linha positiva de 5 V para ânodo comum ou linha GND para cátodo comum.
  • Potenciômetro: terminais externos ligados a 5 V e GND; terminal central ligado à entrada analógica A0.
  • O conjunto usa Arduino Uno R3, protoboard, cabo USB e nove jumpers macho-macho.

Funcionamento

O programa lê o potenciômetro em uma escala de 0 a 1023 e usa a função map para convertê-la em sete posições, de 1 a 7. Cada posição envia uma combinação de valores PWM aos três canais. A lógica muda conforme o LED seja de cátodo comum ou ânodo comum; antes de compilar, deve-se descomentar somente a linha correspondente ao componente utilizado.

O código abaixo reproduz a lógica apresentada no PDF fornecido.

Código Arduino

/* Aula 26 — Arco-Íris com LED RGB e potenciômetro. */

/* Descomente somente a linha correspondente ao seu LED RGB. */
// char modelo[] = "Ânodo Comum";
// char modelo[] = "Cátodo Comum";

int Pot = 0;
int Pin_pot = A0;
int Led_R = 3;
int Led_G = 5;
int Led_B = 6;

void setup() {
  pinMode(Led_R, OUTPUT);
  pinMode(Led_G, OUTPUT);
  pinMode(Led_B, OUTPUT);
}

void loop() {
  Pot = map(analogRead(Pin_pot), 0, 1023, 1, 7);

  if (modelo[0] == 'C') {
    if (Pot == 1) {
      analogWrite(Led_R, 255);
      analogWrite(Led_G, 0);
      analogWrite(Led_B, 0);
    }
    if (Pot == 2) {
      analogWrite(Led_R, 255);
      analogWrite(Led_G, 100);
      analogWrite(Led_B, 0);
    }
    if (Pot == 3) {
      analogWrite(Led_R, 255);
      analogWrite(Led_G, 255);
      analogWrite(Led_B, 0);
    }
    if (Pot == 4) {
      analogWrite(Led_R, 0);
      analogWrite(Led_G, 255);
      analogWrite(Led_B, 0);
    }
    if (Pot == 5) {
      analogWrite(Led_R, 0);
      analogWrite(Led_G, 0);
      analogWrite(Led_B, 255);
    }
    if (Pot == 6) {
      analogWrite(Led_R, 75);
      analogWrite(Led_G, 0);
      analogWrite(Led_B, 130);
    }
    if (Pot == 7) {
      analogWrite(Led_R, 255);
      analogWrite(Led_G, 0);
      analogWrite(Led_B, 255);
    }
  } else {
    if (Pot == 1) {
      analogWrite(Led_R, 0);
      analogWrite(Led_G, 255);
      analogWrite(Led_B, 255);
    }
    if (Pot == 2) {
      analogWrite(Led_R, 0);
      analogWrite(Led_G, 155);
      analogWrite(Led_B, 255);
    }
    if (Pot == 3) {
      analogWrite(Led_R, 0);
      analogWrite(Led_G, 0);
      analogWrite(Led_B, 255);
    }
    if (Pot == 4) {
      analogWrite(Led_R, 255);
      analogWrite(Led_G, 0);
      analogWrite(Led_B, 255);
    }
    if (Pot == 5) {
      analogWrite(Led_R, 255);
      analogWrite(Led_G, 255);
      analogWrite(Led_B, 0);
    }
    if (Pot == 6) {
      analogWrite(Led_R, 180);
      analogWrite(Led_G, 255);
      analogWrite(Led_B, 125);
    }
    if (Pot == 7) {
      analogWrite(Led_R, 0);
      analogWrite(Led_G, 255);
      analogWrite(Led_B, 0);
    }
  }
}

Registros audiovisuais da atividade

Cada registro oferece duas opções separadas: o áudio original no player do YouTube e a audiodescrição lida pelo portal. A audiodescrição só começa quando o botão correspondente é acionado e interrompe o player para evitar sobreposição de vozes.

Arco-íris RGB — 2ª Série A

Áudio original: use os controles de reprodução e volume do próprio YouTube.

Audiodescrição em texto: O vídeo vertical, com duração de 36 segundos, registra a apresentação do trabalho Arco-íris da 2ª Série A. A montagem eletrônica ocupa a bancada: uma placa Arduino está ligada por fios coloridos a uma protoboard com LED RGB, três resistores e potenciômetro. Durante a demonstração, o LED acende e muda de cor, evidenciando a combinação dos canais vermelho, verde e azul. O enquadramento mantém o circuito como elemento principal e destaca o brilho produzido pelo LED.

Abrir no YouTube

Referências

PARANÁ. Secretaria de Estado da Educação. Robótica Paraná: Aula 26 — Arco-Íris. Curitiba: SEED-PR, 2025. Material didático em PDF.

YOUTUBE. Arco-íris LED RGB — 2ª Série A. Disponível em: https://www.youtube.com/shorts/cI96hSjMF30. Acesso em: 9 set. 2026.

Licença

© 2026 Colégio Estadual Olavo Bilac e equipe autora. Todos os direitos reservados. Reprodução, adaptação, distribuição e uso comercial dependem de autorização prévia dos titulares.