viernes, 21 de junio de 2013

Arduino Tutorial 3: Led RGB

En este tutorial vamos a aprender a usar un led RGB para arduino. Estos leds tienen 4 patas: una pata es para el color azul, otra para el verde, otra para el rojo y la cuarta pata (la más larga) es para los 5V.

Montamos el siguiente circuito en la placa protoboard y lo conectamos con el arduino. La pata más larga del led, es la única que no lleva resitencia (la del color naranja).




Después de montar el circuito, abrimos el arduino y copiamos el siguiente código (lo que está a color azul es el código, y lo de color negro son los comentarios para entender mejor el código):


    
    //Declaramos los puertos de entradas y salidas y variables

    int ledRojo = 9;       //Declarar Pin LED Rojo
    int ledVerde=10;       //Declarar Pin LED Verde
    int ledAzul=11;        //Declarar Pin LED Azul

    


    void setup()       // Se ejecuta cada vez que el Arduino se inicia
    {
      pinMode(ledRojo,OUTPUT);
        //El LED Rojo como salida
      pinMode(ledVerde,OUTPUT);       //El LED Verde como salida
      pinMode(ledAzul,OUTPUT);        //El LED Azul como salida
    }

    
    //------------------------------------
    //Funcion ciclicla
    //------------------------------------
    void loop()       // Esta funcion se mantiene ejecutando
cuando se da energia al Arduino
    {           
    
       // Se llama a la funcion Color que recibe
       // 1er posicion: Rojo
       // 2da posición: Verde
       // 3ra posición: Azul
    
       color(255,0,0);     //Rojo
       delay(1000);
    
       color(0,255,0);      //Verde
       delay(1000);
    
       color(0,0,255);      //Azul
       delay(1000);
    
       color(255,255,255);      //Blanco
       delay(1000);
    
       color(255,0,255);      //Magenta
       delay(1000);
    
       color(255,128,0);      //Naranaja
       delay(1000);
    
    }

    
    //------------------------------------
    //Funcion color
    //------------------------------------
    void color(int rojo, int verde, int azul){
    
        //Escritura del color Rojo
        analogWrite(ledRojo, 255-rojo);
    
        //Escritura del color Verde
        analogWrite(ledVerde, 255-verde);
    
        //Escritura del color Azul
        analogWrite(ledAzul, 255-azul);
    }

    
    //Fin programa



Con este programa lo que conseguimos es que el led muestre los colores que deseemos (ya que con el rojo, azul y verde obtenemos la mayoria de los colores). Podemos variar los colores variando los numeros en color(0,255,0). Dependiendo de los numeros que pongamos tendremos un color u otro.

Para que veais como funciona el programa, aquí os dejo un vídeo
video