ESTUDANDO O MUNDO ARDUINO:E ANTECIPANDO O FUTURO: | ||
LED R.G.B. | ||
acessar com www.ebanataw.com.br/expledrgb.htm |
O LED RGB é um diodo que emite luz. Diferentemento do LED comum, o LED RGB tem 4 pernas. Basta fazer passar uma corrente que ele irá emitir uma luiz. A cor da luz vai depende de qual das pernas está passando a corrente elétrica.
A perna mais comprida é a perna comum. As demais acionam a cor vermelha, verde e azul. CUIDADO: A corrente que passamos pelo LED não pode ser maior que 20 miliamperes, de modo que você deve colocar um resistor em série com ele para limitar a corrente elétrica.
Sendo um diodo, o LED tem polaridade, isto é, uma das pernas é polo positivo e a outra é polo negativo. O polo positivo é a perna mais longa. O sentido da corrente deve ser do polo positivo para o polo negativo. Caso você ligue o LED ao contrário, isto é, entrando com a corrente pelo polo negativo, o LED não vai acender. O valor do resistor vai depender do valor da voltagem. Aplique a Lei de Ohm para calcular o valor do resitor. V = r.i isto é r = V / i Para uma tensão de 9 Volts, r = 9 / 0,020 = 450 ohms O valor do resistor não precisa ser exatamente estes. Colocando um resistor de, por exemplo 400 ohms, na voltagem de 9 Volts, o LED acenderá mais brilhante e, ao contrário, com um resistor de 500 ohms o LED vai acender mais fraco. Veja uma montagem simples que nem precisa do ARDUINO para você ver como funciona. No caso empreguei resistores de 470 ohms, 3 botoeiras e uma bateria de 9 Volts.
|
Veja uma montagem simples que nem precisa do ARDUINO para você ver como funciona. No caso empreguei resistores de 470 ohms, 3 botoeiras e uma bateria de 9 Volts.
Agora, veja uma montagem, também simples, e que usa o ARDUINO:
#define RED_RGB 9 //Define
RED_RGB como 9
#define GREEN_RGB 10 //Define
RED_RGB como 10
#define BLUE_RGB 11 //Define
RED_RGB como 11
#define pot A0 //Define
pot_RED como A0
#define RED_botao 2 //Define
RED_botao como 2
#define GREEN_botao 3 //Define
GREEN_botao como 3
#define BLUE_botao 4 //Define
BLUE_botao como 4
int
valor_RED; //Variável para armazenar o valor do
vermelho
int valor_GREEN;
//Variável para armazenar o valor do verde
int valor_BLUE;
//Variável para armazenar o valor do azul
void setup()
{
pinMode(RED_botao,
INPUT_PULLUP);
//Configura o pino 2 como entrada e com o resistor de pullup ativo
pinMode(GREEN_botao,
INPUT_PULLUP); //Configura o pino 3
como entrada e com o resistor de pullup ativo
pinMode(BLUE_botao, INPUT_PULLUP);
//Configura o pino 4 como entrada e com o resistor
de pullup ativo
}
void loop()
{
while(!(digitalRead(RED_botao)))
//Enquanto o botão do pino 2 estiver pressionado
{
valor_RED = map(analogRead(pot),
0, 1023, 0, 255); //Pega o valor do potenciômetro,
//converte a escala de 0 a 1023
em 0 a 255, e armazena em valor_RED
analogWrite(RED_RGB, valor_RED);
//Gera o PWM no pino 9 (R - Vermelho), com o valor
convertido //do
potenciômetro
}
//==================================================================
while(!(digitalRead(GREEN_botao)))
//Enquanto o botão do pino 3 estiver pressionado
{
valor_GREEN = map(analogRead(pot),
0, 1023, 0, 255); //Pega o valor do potenciômetro,
//converte a escala de 0 a 1023
em 0 a 255, e armazena em valor_GREEN
analogWrite(GREEN_RGB,
valor_GREEN); //Gera o PWM no pino 10 (G - Verde),
com o valor convertido //do
potenciômetro
}
while(!(digitalRead(BLUE_botao)))
//Enquanto o botão do pino 4 estiver pressionado
{ valor_BLUE = map(analogRead(pot),
0, 1023, 0, 255);; //Pega o valor do potenciômetro,
//converte a escala de 0 a 1023
em 0 a 255, e armazena em valor_GREEN
analogWrite(BLUE_RGB, valor_BLUE);
//Gera o PWM no pino 11 (B - Azul), com o valor
convertido //do
potenciômetro
}
}
Acionando individualmente cada perna do LED RGB você
verá o led acendendo em VERMELHO, VERDE e AZUL, isto é, Red, Green e Blue.
Acionando duas ou as três pernas com tensões que podem
variar de 0 a 1023, você vai obter toda a gama de cores conforme o diagrama
seguinte, dependendo da combinação de tensões nas pernas do led:
|
NOTA: Este site é mantido pela equipe do engenheiro Roberto Massaru Watanabe e se destina principalmente para adolecentes e estudantes. Pelo caráter pedagógico do site, seu conteúdo pode ser livremente copiado, impresso e distribuido. Só não pode piratear, isto é, copiar e depois divulgar como se fosse de sua autoria.
ET-18\RMW\arduino\mascara.htm em 08/02/2018, atualizado em 01/01/2020 .