Led RGB y ARDUINO sin forzar la salida pinout.

Sección para tratar temas generales de Arduino
Responder
Avatar de Usuario
luquio
Pi Alpha
Pi Alpha
Mensajes: 24
Registrado: 27 Oct 2016, 03:08
Agradecido: 0
Agradecimiento recibido: 1 vez

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.

https://youtu.be/0b_CmdOIOlw


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)

Esquema:
Sketch_LED_RGB_bb.jpg
Datasheet led RGB (no es exactamente el mismo que mi led, es el mas parecido):
http://pdf1.alldatasheet.es/datasheet-p ... E-004.html

Referencia de colores:
colres primarios_aditivo.gif
colres primarios_aditivo.gif (27.84 KiB)
Codigo:

Código: Seleccionar todo

/*
 * 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!
Última edición por luquio el 01 Mar 2017, 04:24, editado 1 vez en total.
grauss
Pi Alpha
Pi Alpha
Mensajes: 26
Registrado: 02 Dic 2016, 17:50
Ubicación: León
Agradecido: 0
Agradecimiento recibido: 0

has probado a poner el amperímetro entre la base del transistor y el pin del arduino, igual estas sacando por el puerto del ardu mas de lo que crees!! para que realmente no sufra ni el arduino ni el transistor yo pondría una resistencia entre medias, piensa que por la base del transistor pueden llegar a pasar hasta 500ma según el datasheet si no me falla la memoria ( y no estoy muy seguro) el puerto del arduino puede sacar como máximo 40ma (por puerto)
Avatar de Usuario
luquio
Pi Alpha
Pi Alpha
Mensajes: 24
Registrado: 27 Oct 2016, 03:08
Agradecido: 0
Agradecimiento recibido: 1 vez

Perdon, gran detalle que me eh olvidado, ahora corrijo el ejemplo. Faltaría una resistencia de 1k por cada base de cada transistor!
Avatar de Usuario
luquio
Pi Alpha
Pi Alpha
Mensajes: 24
Registrado: 27 Oct 2016, 03:08
Agradecido: 0
Agradecimiento recibido: 1 vez

grauss escribió:has probado a poner el amperímetro entre la base del transistor y el pin del arduino, igual estas sacando por el puerto del ardu mas de lo que crees!! para que realmente no sufra ni el arduino ni el transistor yo pondría una resistencia entre medias, piensa que por la base del transistor pueden llegar a pasar hasta 500ma según el datasheet si no me falla la memoria ( y no estoy muy seguro) el puerto del arduino puede sacar como máximo 40ma (por puerto)

Gracias por el detalle, en la protoboard lo tenia armado con su respectiva resistencia y en el sketch para el tutorial lo habia olvidado.

Ya esta corregido en el post inicial!
Rjmp
Pi Alpha
Pi Alpha
Mensajes: 20
Registrado: 03 Mar 2017, 14:09
Agradecido: 0
Agradecimiento recibido: 0

HI i am noob hire.
Where i can donwload software arduino UNO ? For start programin
Tks for all
luquio2008
Pi Newbie
Pi Newbie
Mensajes: 3
Registrado: 30 Nov 2016, 17:50
Agradecido: 0
Agradecimiento recibido: 0

Hello welcome.


You can download it from:

ARDUINO 1.8.1
https://www.arduino.cc/en/Main/Software
Responder