LED RGB - como funciona, para que serve, portas e exemplo de código.
LED RGB
Oi!! No post de hoje irei falar um pouco sobre os LEDs RGB. Vou explicar como funcionam, quando são usados, como programa-los, entre outras coisas!
------------------------------------------------------------------------------------------------------------------
COMO FUNCIONA?
O LED RGB é basicamente a junção de 3 LEDs capsulados. Um vermelho (R), um verde (G) e um azul (B). Percebemos que o RGB forma cores a partir das cores primárias para a luz. Misturando-as e mudando suas intensidades!
Suas intensidades podem variar entre 0 (zero) e 255. Com elas é possível formar cerca de 16 milhões de cores.
-------------------------------------------------------------------------------
PARA QUE SERVE?
Esse tipo de LED pode ser usado em diversas situações; para iluminação, como decoração, iluminar sua árvore de Natal e muito mais!!
---------------------------------------------------------------------------------------------------------
PORTAS
O LED RGB tem 4 portas. Um para cada cor e um GND, veja na imagem:
As portas vermelho, azul e verde são conectadas em portas digitais e a anodo comum no GND do Arduino.
---------------------------------------------------------------------------------------------------------------
EXEMPLO DE CÓDIGO
Eu irei fazer um projeto que sinaliza quando se deve vestir os óculos escuros de acordo com a luminosidade, sua sinalização será a partir de um RGB!
Componentes
- um LDR
- Um LED RGB
- Jumpers
- 1 Arduino
- 1 protoboard
- 3 resistores
Circuito
#define pinRed 13 //porta positiva do R no RGB
#define pinGreen 11 //porta positiva do G no RGB
#define pinBlue 12 //porta positiva do B no RGB
#define pinLdr A0 //porta positiva do LDR
float leitura; //leitura do LDR
void setup() {
// put your setup code here, to run once:
pinMode(pinRed, OUTPUT);//porta selecionada como saída
pinMode(pinBlue, OUTPUT);//= saída
pinMode(pinGreen, OUTPUT);//= saída
pinMode(pinLdr, INPUT);//= entrada
}
void loop() {
// put your main code here, to run repeatedly:
if(leitura >= 682){//se leitura for igual ou maior a 682 o LED vermelho ascende totalmente
analogWrite(pinRed, 255);
analogWrite(pinBlue, 0);
analogWrite(pinGreen, 0);
}else if(leitura >= 341 && leitura <= 682){ //se leitura for igual ou maior que 342 e menor ou igual a 682 o LED azul ascende totalmente
analogWrite(pinRed, 0);
analogWrite(pinBlue, 255);
analogWrite(pinGreen, 0);
}else if(leitura <= 341){//se leitura for igual ou maior a 341 o LED verde ascende totalmente
analogWrite(pinRed, 0);
analogWrite(pinBlue, 0);
analogWrite(pinGreen, 255);
}
}
Comentários
Postar um comentário