5 de setembro de 2013

ALTERNANDO CORES COM LED RGB



              Eae Galera! Estou iniciando meus post's aqui no Arduino Paraná com um tutorial bem simples porém um divisor de águas no mundo da programação com à plataforma. Iremos trabalhar com LED  RGB, legal não é? Mas antes de ir direto para o código vou explicar um pouco como funciona esse componente. O LED RGB gera cores primárias (Vermelho,Verde e Azul) podendo gerar outras cores quando essas primárias são acionadas ao mesmo tempo , assim como na imagem ilustrada abaixo:

Figura 1 - Padrão de Cores Primárias e Secundárias.
                   A Figura 2 é um ilustrativo do LED RGB, o mesmo utilizado neste post.
Figura 2 - DataSheet do LED RGB
                Quando o pino 1 é alimentado o LED acende a cor vermelha, ao acionar o pino 3 obtemos como resultado a cor verde e o pino 4 é referente a cor azul. O pino 2 é o comum/Ground(GND - nos termos técnicos). Para obter as demais cores é só alimentar mais de um pino ao mesmo tempo, por exemplo, ao alimentar  o pino 1,3 e 4 teremos como resultador a cor branca.

Estrutura do Projeto:

              – Arduino Uno RC3;
              – LED RGB 5V;
              – Jumpers para cabeamento;
              – 3 resistors de 100 ohms
              – Micro Protoboard;
              – Fritizing para modelagem.

Diagrama do Projeto:
Figura 3 - Diagrama do Projeto
Agora que temos a estrutura física de ligação do componente com o Arduino, vamos para a parte mais legal, desenvolver o código que fará com que nosso hardware execute alguma ação. O Programa desenvolvido abaixo utiliza à IDE disponível na aba Downloads e terá como função alternar todas as cores disponíveis no LED RGB: Verde, Azul, Vermelho, branco(Verde, Azul, Vermelho), amarelo(Vermelho e Verde), Ciano(Verde e Azul), Magenta(Azul e Vermelho).

Código:


// TUTORIAL - ALTERNANDO CORES COM LED RGB
//ARDUINO PARANÁ www.arduinoparana.com
//---------------------------------------------------------------

int ledR = 12;
int ledG = 9;
int ledB = 8;

void setup(){
  pinMode(ledR, OUTPUT);
  pinMode(ledG, OUTPUT);
  pinMode(ledB, OUTPUT);
}
//METODOS ------------------------------------------------------
 void vermelho(){
  digitalWrite(ledR,HIGH);
  digitalWrite(ledG,LOW);
  digitalWrite(ledB,LOW);
}

 void azul(){
  digitalWrite(ledR,LOW);
  digitalWrite(ledG,LOW);
  digitalWrite(ledB,HIGH);
}

 void verde(){
  digitalWrite(ledR,LOW);
  digitalWrite(ledG,HIGH);
  digitalWrite(ledB,LOW);
}

 void branco(){
  digitalWrite(ledR,HIGH);
  digitalWrite(ledG,HIGH);
  digitalWrite(ledB,HIGH);
}

 void amarelo(){
  digitalWrite(ledR,HIGH);
  digitalWrite(ledG,HIGH);
  digitalWrite(ledB,LOW);
}

 void ciano(){
  digitalWrite(ledR,LOW);
  digitalWrite(ledG,HIGH);
  digitalWrite(ledB,HIGH);
}

 void magenta(){
  digitalWrite(ledR,HIGH);
  digitalWrite(ledG,LOW);
  digitalWrite(ledB,HIGH);
}
----------------------------------------------------------
void loop(){
vermelho();
delay(1000);
verde();
delay(1000);
azul();
delay(1000);
amarelo();
delay(1000);
ciano();
delay(1000);
magenta();
delay(1000);
branco();
delay(1000);
}
O vídeo do funcionamento do LED pode ser acompanhado abaixo.



Agora é só dar assas a imaginação! E brincar com o LED RGB.

OBS: É aconselhável utilizar resistores para diminuir a corrente, pois o Arduíno possui uma tensão de 5V e o LED trabalha com 3.3V.

Qualquer duvida, sugestão entre em contato conosco, até a próxima.

Nenhum comentário :

Postar um comentário