S?guenos en Facebook
S?guenos en Twitter
S?guenos en Instagram
Crazy Design
Alicante
ROBÓTICA EDUCATIVA      •      IMPRESIÓN 3D      •      DISEÑO      •      WEB      •      TIENDA DE ELECTRÓNICA
Mi Carrito
    Total: 0€
    Control Básico Led RGB
    ¿Quieres comprar las piezas de este tutorial para experimentar en casa? Pulsando en lo botones de abajo se añadiran los productos del tutorial automaticamente a tu carrito. Pulsa sobre el botón Añadir Todo si quieres que se añadan todas las piezas necesarias para este tutorial incluido protoboard, cables dupont y placa (Arduino, Raspberry Pi, MicroBit, ESP...) o pulsa sobre Añadir solo sensores para añadir todas las piezas menos las protoboard, cables dupont y placa (Arduino, Raspberry Pi, MicroBit, ESP...).

    Es este tutorial vamos a aprender a controlar un led RGB de manera fácil con nuestro arduino. Si quieres aprender como funciona internamente un led te recomendamos que visites el tutorial de ¿Que es un led RGB?.


    En este tutorial vamos a user un Led RGB de Cátodo Común. Conectamos la patita más larga cátodo a un pin GND de nuestro arduino. La patita del Led Rojo la conectaremos al pin 13, La Verde al pin 12 y la Azul al pin 11.


    Con Arduino Uno


    Con Arduino Mega


    Con Arduino Nano


    Ya lo tenemos todo listo para pasar a la programación. En este caso vamos a programar nuestra placa para que encienda el cada uno de los colores Rojo, Verde, Azul secuencialmente cada 1 segundo para que se vea la mezcla básica del color y después lo apagaremos uno a uno, en el mismo orden a ciclos de 1 segundo entre cada uno de ellos.


    Para ello vamos a explicar las funciones que vamos a usar dentro de nuestro Arduino IDE:

    SETUP()

    En nuestro software Arduino, la función setup es una función que solo se ejecuta en el encendido de nuestro Arduino, por lo que aquí es donde pondremos la configuración de los pines (pinMode), los iniciadores (begin) que pueda tener cualquier librería que hayamos añadido o cualquier configuración del aparato o variables que queremos que se realicen durante el encendido.

    PINMODE()

    El pinMode se utiliza para configurar el uso de los pines digitales o analógicos que vayamos a usar de manera digital dentro del Arduino. Su estructura es pinMode(número de pin, Modo de uso), donde en el número de pin, pondremos el pin que queremos configurar (que hayamos conectado) y en Modo de uso pondremos:

    • INPUT (si va a ser una entrada, por ejemplo botones, lectura de sensores... )
    • OUTPUT (si va a ser una salida, por ejemplo, encendido de un led o encendido de sensor...)
    • INPUT_PULLUP (si va a ser una entrada pero queremos usar la resistencia PULLUP interna de nuestro arduino, en caso de botones por ejemplo)

    Esta función tendremos que añadirla tantas veces como pines de entrada o salida tengamos conectados en nuestro prototipo. En el caso de este tutorial solo lo pondremos una vez.

    LOOP()

    En nuestro software Arduino, la función loop es una función que se ejecuta en bucle (continuamente) mientras nuestro arduino está en marcha de manera secuencial, es decir, en orden de líneas que existen dentro del loop. En ella pondremos todas las funciones y chequeos que va a realizar durante su ciclo normal de trabajo: lectura de sensores, encendido y apagado de leds, cálculos que necesitemos realizar con la captura de los sensores,...

    DIGITALWRITE()

    El comando digitalWrite se utiliza para escribir o cambiar el estado de un pin digital de encendido a apagado. Su estructura es la siguiente: digitalWrite( número de pin, Estado), donde en el número de pin pondremos el pin sobre el que queremos realizar la acción y en estado pondremos:

    • HIGH (si queremos que encienda la salida, por ejemplo, encender un led)
    • LOW (si queremos que apague la salida, por ejemplo, apagar un led)

    DELAY()

    El comando delay se utiliza para añadir un tiempo de espera en el programa. Esta función tiene la siguiente estructura: delay(tiempo de espera en milisegundos), donde en tiempo de espera en milisegundos pondremos los milisegundos que queremos que espere el programa para continuar.


    Una vez visto un resumen del uso de los comandos, vamos a pasar a programar en nuestro Arduino IDE con el siguiente código:

    Código completo


    void setup() {
         pinMode(13, OUTPUT);   //Declaramos el pin 13 como sálida
        pinMode(12, OUTPUT);   //Declaramos el pin 12 como sálida
        pinMode(11, OUTPUT);   //Declaramos el pin 11 como sálida
    }
     
    void loop() {
        digitalWrite(13, HIGH);  //Ponemos el pin 13 a Alto(Encendido)
        delay(1000);                 //Añadimos un retardo de 1000 milisegundos ( 1 segundo)
        digitalWrite(12, HIGH); //Ponemos el pin 12 a Alto(Encendido)     delay(1000); //Añadimos un retardo de 1000 milisegundos ( 1 segundo)
        digitalWrite(11, HIGH); //Ponemos el pin 11 a Alto(Encendido)     delay(1000); //Añadimos un retardo de 1000 milisegundos ( 1 segundo)
        digitalWrite(13, LOW); //Ponemos el pin 13 a Bajo(Apagado)     delay(1000); //Añadimos un retardo de 1000 milisegundos ( 1 segundo)
        digitalWrite(12, LOW); //Ponemos el pin 12 a Bajo(Apagado)     delay(1000); //Añadimos un retardo de 1000 milisegundos ( 1 segundo)
        digitalWrite(11, LOW); //Ponemos el pin 11 a Bajo(Apagado)     delay(1000); //Añadimos un retardo de 1000 milisegundos ( 1 segundo)
    }