Produção publicada

Arco-íris com LED RGB e potenciômetro

  • 2º trimestre
  • Robótica
  • Equipe Íris
  • Protótipo com foto do artefato

Atividade: Arco-íris

Ver todas as produções de Equipe Íris

Resumo acessível em HTML

Arco-íris com LED RGB e potenciômetro.

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

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

Audiodescrição em texto: O registro começa com o notebook e a montagem sobre uma bancada identificada com a marca Paraná. Em seguida, o Arduino controla um LED RGB na protoboard, alternando vermelho, azul, violeta, rosa, amarelo e cores intermediárias. No final, uma mão é aproximada da luz para tornar a mistura das cores mais visível. Não aparecem rostos nem nomes.

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. Disponível em: https://www.youtube.com/shorts/NsBD-ofafyI. Acesso em: 26 ago. 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.