Me está costando mucho hacer que este LED RGB funcione con mi arduino. Primero describiré mi configuración (esquema) y luego te mostraré el código que tengo.
Tengo 5 voltios en el segundo pin del LED RGB, luego tengo 3 resistencias de 200 ohmios en cada uno de los pines que salen del LED que conducen respectivamente a PMW 9,10,11 de mi arduino.
(La configuración del led) pin 1 Rojo (-) pin 2 Voltaje positivo pin 3 Azul (-) pin 4 Verde (-)
el codigo que tengo es
byte Red = 9;
byte Blu = 10;
byte Grn = 11;
void setup ()
{
pinMode (Red, OUTPUT);
pinMode (Blu, OUTPUT);
pinMode (Grn, OUTPUT);
}
int x=255;
int y=0;
int z=0;
void loop ()
{
analogWrite(Red,x);
analogWrite(Blu,y);
analogWrite(Grn,z);
}
Se supone que el código anterior produce una luz roja, pero produce una púrpura. Siento que es algo realmente simple.... Gracias
Tuve el mismo problema al intentar usar el LED RGB que venía con mi kit.
De hecho, todos los ejemplos de mi kit se escribieron para LED RGB de cátodo común. Los valores de salida de PWM en el código asumen un cátodo común y los diagramas de cableado tienen el cable que no es RGB conectado a GND. Me tomó un tiempo darme cuenta de que los LED que obtuve eran de ánodo común y que el cable que no es RGB debería conectarse a VCC en lugar de a GND.
Al adaptar sus ejemplos, intente este truco de invertir la escala justo cuando escribe el valor en los pines PWM.
analogWrite(Red,255-x);
analogWrite(Blu,255-y);
analogWrite(Grn,255-z);
Lo bueno de hacerlo de esa manera es que todos los demás ejemplos de código Arduino escritos para el cátodo común se pueden usar básicamente tal cual con solo este ajuste final de los valores escritos.
Dado que está tirando del LED a tierra para encenderlo, los pines que establece en cero son los que están encendidos, lo que le da dos pines encendidos.
Recomiendo comenzar con un solo pin; conéctelo y vea si puede hacer que ese color se encienda. Agregue colores y vaya desde allí.
Transeúnte