led rgb y arduino sin forzar la salida pinout.

Hola muchachos, como están?

Les dejo un ejemplo de como conectar un led RGB ánodo común sin exigir/forzar las salidas del Arduino.

Configuracion PINOUT:
-Pin13: Blue
-Pin12: Green
-Pin11: Red

Transformador:
-Volts: 5
-mA: 100 (Solo para alimentar el led RGB)
-mA: 1000 (para alimentar led RGB y Arduino)

Transistor:
-BC337
-NPN

Resistencias:
-150R: Red
-100R: Green
-100R: Blue

Led RGB:
-Volt: 2.3
-mA: 2 (por color)

Datasheet led RGB (no es exactamente el mismo que mi led, es el mas parecido):
http://pdf1.alldatasheet.es/datasheet-pdf/view/542084/LUCKY-LIGHT/LL-509RGBM2E-004.html

Adjunto dejo el sketch y la referencia para la mezcla de colores primarios

/*
* By:luquio2008
*/
#define ledRedPin 11 
#define ledGreenPin 12 
#define ledBluePin 13 

void setup() {
   pinMode(ledRedPin, OUTPUT);
   pinMode(ledBluePin, OUTPUT);
   pinMode(ledGreenPin, OUTPUT);
   digitalWrite(ledRedPin, LOW);
   digitalWrite(ledBluePin, LOW);
   digitalWrite(ledGreenPin, LOW);
}

void loop() {
   digitalWrite(ledGreenPin, LOW);
   digitalWrite(ledRedPin, HIGH);
   digitalWrite(ledBluePin, LOW);
   delay(3000);

   digitalWrite(ledGreenPin, HIGH);
   digitalWrite(ledRedPin, LOW);
   digitalWrite(ledBluePin, LOW);
   delay(3000);

   digitalWrite(ledGreenPin, LOW);
   digitalWrite(ledRedPin, LOW);
   digitalWrite(ledBluePin, HIGH);
   delay(3000);
   
   ////////////////////////////
   digitalWrite(ledGreenPin, LOW);
   digitalWrite(ledRedPin, LOW);
   digitalWrite(ledBluePin, LOW);
   delay(1000);
   ////////////////////////////

   //Amarillo
   digitalWrite(ledGreenPin, HIGH);
   digitalWrite(ledRedPin, HIGH);
   digitalWrite(ledBluePin, LOW);
   delay(1000);
   
   //Magenta
   digitalWrite(ledGreenPin, LOW);
   digitalWrite(ledRedPin, HIGH);
   digitalWrite(ledBluePin, HIGH);
   delay(1000);

   //Cian
   digitalWrite(ledGreenPin, HIGH);
   digitalWrite(ledRedPin, LOW);
   digitalWrite(ledBluePin, HIGH);
   delay(1000);
   
   //Blanco
   digitalWrite(ledGreenPin, HIGH);
   digitalWrite(ledRedPin, HIGH);
   digitalWrite(ledBluePin, HIGH);
   delay(1000);

   ////////////////////////////
   digitalWrite(ledGreenPin, LOW);
   digitalWrite(ledRedPin, LOW);
   digitalWrite(ledBluePin, LOW);
   delay(1000);
   ////////////////////////////
}

Espero les sea útil a los que se están iniciando.
Saludos!

colres primarios_aditivo.gif

Todo muy lindo y se agradece su buena inención pero las imágenes no se ven a simple vista. Por favor, edite su mensaje de acuerdo con las Normas del Foro. Gracias!