Misturador de Cores RGB com Arduino – Tutorial Passo a Passo
Componentes e Materiais
| Componente | Qtd |
|---|---|
| Arduino UNO | 1 |
| Potenciômetro rotativo (genérico) | 3 |
| Protoboard | 1 |
| LED RGB (ânodo comum ou módulo) | 1 |
| Resistor 330 Ω | 3 |
| Jumpers macho-macho (~15) | 1 |
Aplicativos e Serviços
- Arduino IDE
Sobre o Projeto
Misturador de Cores Arduino
Este tutorial é fácil e requer conhecimentos básicos de Arduino e eletrônica. Se não está familiarizado, incluo links para guiá-lo.
Vamos gerar todas as cores possíveis com apenas um giro. Também entenderá o modelo de cor RGB e como os displays atuais funcionam.
Usaremos Entrada/Saída Analógica do Arduino (I/O) para ler e escrever tensões analógicas nos pinos.
1.1 Componentes Detalhados
- Placa Arduino (Uno usado aqui)
- Protoboard
- Jumpers macho-macho (~15)
- 3 Potenciômetros (5 kΩ usados)
- 3 Resistores 330 Ω (laranja-laranja-marrom)
- LED RGB (módulo RGB também funciona)
- PC com Arduino IDE instalado
Mãos à obra!
1.2 Conectando os Potenciômetros
Cada potenciômetro atua como divisor de tensão: terminais externos em 5V e GND (ordem indiferente), terminal central no pino analógico do Arduino.
Usei fio laranja para 5V (em vez de vermelho) para diferenciar alimentação de sinal.
Repita para 3 potenciômetros, ligados em A0 (Vermelho), A1 (Verde), A2 (Azul).
1.3 Conectando o LED RGB
O LED RGB contém 3 LEDs internos. Com PWM de 8 bits (0-255) em cada pino, obtemos 256³ = 16.777.216 cores.
Conecte cada anodo do LED a um pino PWM (9, 10, 11) via resistor 330 Ω. O cátodo comum vai ao GND.
Não esqueça os resistores! Queimei o LED vermelho por omiti-los.
Vamos Codificar
O código executa em loop:
- Setup: configura 3 pinos analógicos como entrada e 3 pinos PWM como saída
- Loop: lê potenciômetro (
analogRead), mapeia 0-1023 para 0-255 (map), escreve no PWM (analogWrite)
/* Controla LED RGB com potenciômetros por cor
Nome: RGBLedPot.ino
Autor: Ahmed Hamdy
Licença: GPL 3.0+ */
int inRGB[] = { A0, A1, A2 }; // Entradas analógicas dos potenciômetros
int outRGB[] = { 9, 10, 11 }; // Saídas PWM para o LED RGB
int tempValue = 0;
const int inMinVal = 0, inMaxVal = 1023;
void setup() {
for (int i = 0; i < 3; i++) {
pinMode(inRGB[i], INPUT);
pinMode(outRGB[i], OUTPUT);
}
}
void loop() {
for (int i = 0; i < 3; i++) {
tempValue = analogRead(inRGB[i]);
tempValue = map(tempValue, inMinVal, inMaxVal, 0, 255);
analogWrite(outRGB[i], tempValue);
}
}
Agora você tem o gerador de cores definitivo com 17 milhões de cores! Parabéns!
Respeite e compartilhe se gostou :) Componentes eletrônicos em utsource.net
Esquemático

Processo de manufatura
- Dados Digital com Arduino: Gere Números Aleatórios 1-6 em LCD 16x2
- Construa um Homem de Ferro com Arduino: Componentes, Sensores e Guia Passo a Passo
- Find Me: Localizador Inteligente de Objetos com Arduino e Bluetooth
- Construa um Braço Robótico 3D Impresso Funcional com Arduino – Guia Passo a Passo
- Controlador de Umidificador DIY com Arduino e Relé – Configuração Segura de Alta Tensão
- Misturador de Cores RGB com Arduino – Projeto DIY para Iniciantes
- Jogo Pong Neon em Matriz NeoPixel com Arduino Nano
- Volante Joystick Arduino Personalizado para Jogos
- Construa um Receptor FM Potente com Arduino e Módulo TEA5767
- Arduino 101: Construa um Pedômetro com Sensor DHT11 e Display LCD