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€
    ENCENDIDO Y APAGADO SECUENCIAL DE LEDS CON ARDUINO
    ¿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...).

    En este tutorial vamos a aprender a hacer un encendido secuencial slider para nuestros proyectos arduino. Si quieres aprender como funciona internamente un led te recomendamos que visites el tutorial de ¿Qué es un led?.


    Para conectarlo, pondremos en nuestra placa de prototipos el led rojo, recordando en qué conector hemos puesto la pata larga del led (+). En la pata larga pondremos la resistencia de 220 Ohm y el otro extremo lo conectaremos al pin digital número 9 de nuestro Arduino. La patita corta del led rojo (-) la conectaremos a un pin GND de nuestro Arduino.

    Para conectarlo, pondremos en nuestra placa de prototipos el led verde, recordando en qué conector hemos puesto la pata larga del led (+). En la pata larga pondremos la resistencia de 220 Ohm y el otro extremo lo conectaremos al pin digital número 10 de nuestro Arduino. La patita corta del led verde (-) la conectaremos a un pin GND de nuestro Arduino.

    Para conectarlo, pondremos en nuestra placa de prototipos el led azul, recordando en qué conector hemos puesto la pata larga del led (+). En la pata larga pondremos la resistencia de 220 Ohm y el otro extremos lo conectaremos al pin digital número 11 de nuestro Arduino. La patita corta del led azul(-) la conectaremos a un pin GND de nuestro Arduino.


    En los siguientes esquemas os mostramos gráficamente cómo conectarlo.

    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 arduino, con el software Arduino IDE para que se vayan encendiendo uno a uno cada uno de los tres leds y despues se vayan apagando por orden. Esto lo haremos con delays de 500 milisegundos entre cada instrucción para que se vea el efecto entre 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 la 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(9, OUTPUT);   //Declaramos el pin 9 (led rojo) como sálida
        pinMode(10, OUTPUT);   //Declaramos el pin 10 (led verde) como sálida
        pinMode(11, OUTPUT);   //Declaramos el pin 11(led azul) como sálida
    }
    
    void loop() {
        digitalWrite(9, HIGH);  //Ponemos el pin 9 (led rojo) a Alto(Encendido)
        delay(500);                 //Añadimos un retardo de 500 milisegundos
        digitalWrite(10, HIGH);  //Ponemos el pin 10 (led verde) a Alto(Encendido)
        delay(500);                 //Añadimos un retardo de 500 milisegundos
        digitalWrite(11, HIGH);  //Ponemos el pin 11 (led azul) a Alto(Encendido)
        delay(500);                 //Añadimos un retardo de 500 milisegundos
        digitalWrite(9, LOW);  //Ponemos el pin 9 (led rojo) a Bajo(Apagado)
        delay(500);                 //Añadimos un retardo de 500 milisegundos
        digitalWrite(10, LOW);  //Ponemos el pin 10 (led verde) a Bajo(Apagado)
        delay(500);                 //Añadimos un retardo de 500 milisegundos
        digitalWrite(11, LOW);  //Ponemos el pin 11 (led azul) a Bajo(Apagado)
        delay(500);                 //Añadimos un retardo de 500 milisegundos
    }