Voltar ao Catálogo
Ciências

Dosagem de cores

Use potenciômetro ou trimpots para dosar a quantidade de cores em um LED RGB e formar diferentes tonalidades de cores.

Código Fonte Arduino (.INO)

Código Arduino Dosagem de Cores (.INO)
Baixar .INO

Controle de intensidade dos canais R, G e B via potenciómetros.

/************************************************
* Projeto: Controlando a composição da luz      *
* Desenvolvedor: Vanderlei Alves                *
* Data: 26/05/2025                              *
*************************************************/
//Variáveis globais
int   ptmR = 0,
      ptmG = 0,
      ptmB = 0;

int   perR = 0,
      perG = 0,
      perB = 0;      

void setup() {
  //Inicialização da comunicação serial
  Serial.begin(9600);

  //Definição dos pinos de saída
  //Ligação do LED RGB
  pinMode(9, OUTPUT);
  pinMode(10, OUTPUT);
  pinMode(11, OUTPUT);
}

void loop() {
  //Leitura dos botões
  ptmR = analogRead(A0);
  ptmG = analogRead(A1);
  ptmB = analogRead(A2);

  //Conversão de valores ADC (0 a 1023) para PWM (0 a 255)
  ptmR = map(ptmR, 0, 1023, 0, 255);
  ptmG = map(ptmG, 0, 1023, 0, 255);
  ptmB = map(ptmB, 0, 1023, 0, 255);    

  //Cnversão de valores de PWM para porcentagem
  perR = map(ptmR, 0, 255, 0, 100);
  perG = map(ptmG, 0, 255, 0, 100);
  perB = map(ptmB, 0, 255, 0, 100);

  //Comandos da intensidade de luz para cada cor
  analogWrite(11, ptmR);
  analogWrite(10, ptmG);
  analogWrite(9, ptmB);

  //Apresentação da porcentagem no Monitor Serial
  Serial.print(perR);
  Serial.println("% de luz vermelha.");
  Serial.print(perG);
  Serial.println("% de luz verde.");
  Serial.print(perB);
  Serial.println("% de luz azul.");
  delay(500);
}

Materiais Didáticos & Documentos

Tutorial Didático - Dosagem de Cores (PDF)
Tutorial Didático Guia de aula sobre síntese aditiva de cores.
Baixar Arquivo
Quer este projeto em sua escola?

A WETECH disponibiliza kits de hardware prontos, roteiros de aulas alinhados à BNCC e formação continuada de educadores.

Solicitar Orçamento Escolar