• Welcome to LusoRobótica - Robótica em Português.
 

Esquema RGB LED

Started by almamater, 13 de July de 2011, 00:13

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

almamater

 :P

Qual dos esquemas faz mais sentido para ligar um RGB LED de Ânodo comum?



Eu usei o esquema da direita com o seguinte código:

//
int ledcolor = 0;
int a = 1000; //this sets how long the stays one color for
int red = 11; //this sets the red led pin
int green = 12; //this sets the green led pin
int blue = 13; //this sets the blue led pin

void setup() { //this sets the output pins

pinMode(red, OUTPUT);
pinMode(green, OUTPUT);
pinMode(blue, OUTPUT);
}

void loop() {
int ledcolor = random(7); //this randomly selects a number between 0 and 6

switch (ledcolor) {
case 0: //if ledcolor equals 0 then the led will turn red
analogWrite(red, 51);
delay(a);
analogWrite(red, 255);
break;
case 1: //if ledcolor equals 1 then the led will turn green
digitalWrite(green, LOW);
delay(a);
digitalWrite(green, HIGH);
break;
case 2: //if ledcolor equals 2 then the led will turn blue
digitalWrite(blue, LOW);
delay(a);
digitalWrite(blue, HIGH);
break;
case 3: //if ledcolor equals 3 then the led will turn yellow
analogWrite(red, 95);
digitalWrite(green, LOW);
delay(a);
analogWrite(red, 255);
digitalWrite(green, HIGH);
break;
case 4: //if ledcolor equals 4 then the led will turn cyan
analogWrite(red, 168);
digitalWrite(blue, LOW);
delay(a);
analogWrite(red, 255);
digitalWrite(blue, HIGH);
break;
case 5: //if ledcolor equals 5 then the led will turn magenta
digitalWrite(green, LOW);
digitalWrite(blue, LOW);
delay(a);
digitalWrite(green, HIGH);
digitalWrite(blue, HIGH);
break;
case 6: //if ledcolor equals 6 then the led will turn white
analogWrite(red, 155);
digitalWrite(green, LOW);
digitalWrite(blue, LOW);
delay(a);
analogWrite(red, 255);
digitalWrite(green, HIGH);
digitalWrite(blue, HIGH);
break;
}

}



No entanto não sei se será melhor colocar as resistências no RED, Blue e Green... (esquema da esquerda)

GnGz

Porque não usas os pinos RGB do led nos pinos pwm do arduino? Assim podias gerar qualquer cor.

almamater

Sim.. mas com ou sem resistências? basta meter uma no pino de 5v certo?

GnGz

Acho que sim , se é ânodo comum todos os leds RGB estão ligados ao ânodo sendo que basta ter resistência nesse.

almamater

Pois tb acho isso, sim vou ligar aos pinos PWM e meter potenciometros para controlar as 3 cores  :D

GnGz

Ok. E vai ser para algum projecto especial?

almamater

Quote from: GnGz on 13 de July de 2011, 11:34
Ok. E vai ser para algum projecto especial?

Neste momento é só mesmo para testar os Leds RGB que comprei, tenho de pensar num projecto qualquer para os implementar..  mas podem.se adaptar a várias coisas.. a um sensor de proximidade e vai alterando as cores conforme os valores obtidos.. há um projecto engraçado o "color picker" com um sensor de luz mas não tenho tal sensor :)

Hugo

esses sensores sao bue baratos podes compra ao montes isso que nao gastas quase nada  :P
ex:
http://ptrobotics.com/category.php?id_category=78 ( 1,10 € a unidade )

CBX

usa as 3 resistências, com uma resistência estas a fornecer corrente para 3 leds, que supostamente devia ser só para 1, isso vai-te limitar muito a luminosidade, para além de que se cada led tiver uma corrente de 20ma, 60ma os 3, quando estão os 3 ligados, no total vão ter uma potencia de 0,3W, se estiveres a usar um resistência de 1\4W vai aquecer muito e pode queimar

almamater

Quote from: CBX on 13 de July de 2011, 15:15
usa as 3 resistências, com uma resistência estas a fornecer corrente para 3 leds, que supostamente devia ser só para 1, isso vai-te limitar muito a luminosidade, para além de que se cada led tiver uma corrente de 20ma, 60ma os 3, quando estão os 3 ligados, no total vão ter uma potencia de 0,3W, se estiveres a usar um resistência de 1\4W vai aquecer muito e pode queimar

;) Gracias

GnGz