Colorino – Eletrônica e Arduino na Prática 1
Depois de muuuito tempo inativo aqui no blog, volto para tentar tirar a poeira com uma nova área para mim e para muitos amigos “computeiros”: a eletrônica. Mais especificamente, o Arduino.
Nos últimos meses estive consideravelmente ocupado (e preguiçoso) para voltar a escrever, principalmente devido ao padrão de post gigantes que habitam esse blog. Por isso, dessa vez, tentarei fazer algo mais resumido e, conseqüentemente, voltado a quem já possui o mínimo de conhecimento sobre o assunto.
Vou me ater a apresentar o protótipo que fiz, a esquemática e código fonte sem entrar em maiores explicações de funcionamento.
Bem, o Colorino, como foi nomeado pelo meu caro amigo @jopss, é um experimento que fiz com o Arduino para aprender sobre e testar um led RGB que comprei do Deal Extreme usando resistores variáveis, transistores e uma programação bastante simples. O objetivo era controlar a intensidade de cada cor do led (vermelho, verde e azul) através dos resistores deslizantes. Através do uso de transistores, pude controlar a intensidade da corrente através do sinal digital do Arduino.
Primeiramente vamos ao componentes usados:
- 1 Arduino Duemilanove ATMega328 (“Brasileirino”) [Arduino Uno];
- 1 Led RGB 5W 70 Lumen [Deal Extreme];
- 3 Potenciômetros deslizantes 20 kΩ [Google Images] [Wiki US];
- 3 Transistores NPN Tip122 [Wiki];
- 1 Bateria 4V de alta descarga (pode ser uma bateria de 3,7V de celular)*;
- 1 Bateria 9V convencional para alimentar o Arduino (opcional) [Google Images];
- Muitos fios.
* No caso da bateria de alta descarga, usei uma de 4V (de lítio) de um fone de ouvido bluetooth que eu tinha. Uma bateria de celular pode ser usada se retirado o limitador de descarga (fusível). Considerando uma fonte de 5V, o Led de 5W consumiria 1A (ampér), o que é bastante. Na prática, cheguei ao máximo de 0,5A.
Agora vamos à esquemática dos componentes.
Espero ter feito um bom trabalho ao desenhar esse esquema com o Fritzing.
Hora do código fonte feito na IDE do Arduino.
//Define as portas analógicas de entrada dos potenciômetros const int pot_r = 2; const int pot_g = 1; const int pot_b = 0; //Define as portas PWM de saída analógica para os transistores const int led_r = 3; const int led_g = 5; const int led_b = 6; //Flag para ativar o debug pelo monitor da porta serial const boolean debug = true; void setup() { pinMode(led_r, OUTPUT); pinMode(led_g, OUTPUT); pinMode(led_b, OUTPUT); if(debug) { Serial.begin(9600); } } void loop() { //Obtem a leitura dos potenciômetros nas portas analógicas int pot_r_signal = analogRead(pot_r); int pot_g_signal = analogRead(pot_g); int pot_b_signal = analogRead(pot_b); //Converte os sinais dos potenciômetros para a escala de escrita das PWM //O led vermelho recebe menos energia por ser naturalmente mais forte int pot_r_digital = map(pot_r_signal, 0, 1023, 0, 150); int pot_g_digital = map(pot_g_signal, 0, 1023, 0, 255); int pot_b_digital = map(pot_b_signal, 0, 1023, 0, 255); //Escreve o sinal convertido para os transistores que deverão liberar //a quantia equivalente de corrente ao led analogWrite(led_r, pot_r_digital); analogWrite(led_g, pot_g_digital); analogWrite(led_b, pot_b_digital); if(debug) { Serial.print("RED: "); Serial.print(pot_r_signal); Serial.print(" => "); Serial.println(pot_r_digital); Serial.print("GREEN: "); Serial.print(pot_g_signal); Serial.print(" => "); Serial.println(pot_g_digital); Serial.print("BLUE: "); Serial.print(pot_b_signal); Serial.print(" => "); Serial.println(pot_b_digital); delay(1000); } }
Finalmente o resultado.
Por hora é só. Espero voltar logo com outro pequeno projeto de Arduino voltado a estudo de componentes. Fui!


junho 5th, 2011 at 13:23
Véri naice caro colega! No mínimo divertido pra brincar e considerável exemplo de uso!
agosto 26th, 2011 at 22:24
[...] de meus protótipos com o Arduino, hoje mostro o Luminolaser. Será nos mesmos moldes da última publicação, resumido e direto (ou seja, conhecimento prévio se fará [...]
janeiro 24th, 2012 at 13:29
Olá, Jesjo!
Meu nome é Ronaldo Lombardi, sou programador e Game Designer de São Paulo e não conheço de eletrônica, resolvi começar a brincar com arduino e por X caminhos acabei chegando até seu projeto (DX -> Youtube -> Google -> Colorino -> Seu Blog).
Antes de mais nada, parabéns, achei muito bom seu projeto.
O que acontece é que comprei um led desse la no DX tbm. Ele não tem nenhuma informação técnica, identifiquei os terminais dele usando uma fonte variável em 3V sem problemas.
Agora olhando, fiquei com dúvidas em relação ao seu projeto e gostaria de saber se você pode me ajudar com elas.
Seguinte:
– Para que você usou uma bateria e qual é a função daquele terminal onde você ligou essa alimentação?
– Você sabe algo sobre a fabricação do led? Como ví que ele esquenta bastante eu gostaria de saber que tipo de dissipador seria adequado pra ele.
Bom, é isso, desde já agradeço a você por ter publicado seu projeto e, de forma antecipada, agradeço por me ajudar.
Um abraço
Ronaldo.
janeiro 25th, 2012 at 14:50
Olá Ronaldo.
Primeiramente obrigado pelo feedback. Vou tentar melhorar a “linkagem” dos vídeos com o blog… Web 2.0 pra quê, né?
Vamos aos questionamentos:
– Para que você usou uma bateria e qual é a função daquele terminal onde você ligou essa alimentação?
R: No projeto final usei 2 bateria… uma nomal de 9V para alimentar o Arduino. E outra de 4V e alta descarga para o Led RGB.
Eu não poderia usar 1 única bateria por vários motivos, mas o principal é que não teria como alimentar o Led através do circuito do Arduino de maneira segura.
Veja que o Led chegou a puxar mais de 0,5 amper. Isso é mais de 10 vezes o que o Arduino libera com segurança (se não me engano são 40 miliampers).
– Você sabe algo sobre a fabricação do led? Como ví que ele esquenta bastante eu gostaria de saber que tipo de dissipador seria adequado pra ele.
R: Realmente é esperado que ele esquente bastante, mas não deve gerar problemas pro led. Se for o caso de permanecer muito tempo ligado, deve-se atentar para os limites na descrição do produto:
- Red LED light: 2.0V~2.5V
- Green LED light: 3.2V~3.6V
- Blue LED light: 3.2V~3.6V
Caso o problemas seja o aquecimento dos materiais próximos, talvez seja uma boa idéia fazer uma estrutura para o led com algum isolante como madeira…