Descubre la tira LED inteligente y esta Navidad ilumina tu hogar de un modo más

Estas tiras LEDs son totalmente programables, y en este artículo te explicamos como hacerlo de la forma más sencilla. 

 Tira de led

Con este blog podrás controlar las luces LED inteligentes del tipo desde el móvil o programarla de forma sencilla con el Arduino IDE y tu placa de desarrollo.

Lo primero de todo, vamos a explicar un poco como funcionan estos LED. Esta tira tiene LED que disponen de lógica integrada, por lo que es posible variar el color de cada LED de forma individual. Los WS2812B incluyen un integrado dentro de cada LED, que permite acceder a cada pixel de forma individual mediante el cable de control. 

Tira de led

 

Tira LED RGB Inteligente WS2812B Negra 5m 30LED/m IP65 – Ref.: P0105

En nuestro catálogo tenemos este rollo de 5 metros con fondo negro, y con fondo blanco. También disponemos de extensiones de 1 metro de ambos fondos. Los cuales pueden usarse también, pero teniendo en cuenta su sentido y su conexión. Esta conexión siempre debe ser estable, por lo que cuando se pueda, se recomienda soldarla o realizar una unión eficaz.

- Paleta de colores: ColorPalette

En este primer ejemplo, vamos a hacer cambiar con multitud de efectos y colores nuestra tira. 

Para su control podemos empezar por lo más básico, usando la placa más común: Arduino UNO, la cual nos servirá para probar nuestra tira de LED inteligentes. Conectaremos esta de la siguiente manera:

- GND de la tira a cualquier GND de UNO

- Din de la tira a una resistencia de 470Ω y esta a su vez al pin D6

- +5V de la tira al pin de alimentación de 5V de la UNO

 Esquema

Es importante la resistencia porque evita que se quemen los primeros LED debido al alto consumo cuando hay bastantes luces.

Antes de comenzar a programar, deberemos configurar el Arduino IDE e instalar las librerías que corresponden. En este caso vamos a usar la librería FastLED.h, que podéis descargar e instalar aquí: https://github.com/FastLED/FastLED

Librerias

 

Una vez descargada, vamos al Arduino IDE y la instalamos desde: Programa>Incluir Librería >Añadir biblioteca .ZIP… 

Una vez se haya instalado correctamente, podemos abrir el ejemplo que viene dado desde: Archivo>Ejemplos>FastLED>ColorPalette

Entonces deberemos configurar nuestros parámetros en las variables siguientes:

- LED_PIN: será el numero del pin donde ira el cable de control a nuestra placa.

- NUM_LEDS: será el número total de LEDs que tenga o queramos usar, de nuestra tira

- BRIGHTNESS: será el nivel de brillo de los LEDs

- LED_TYPE: será el tipo de LED usado, en nuestro caso son WS2812B

- COLOR_ORDER: Es el orden de los colores RGB que se debe usar en nuestros LEDs

 Color Palette

Una vez configurado y conectado, le damos a subir, y podremos ver como nuestra tira LEDs realiza toda una paleta de colores y cambios.

Puedes también consultar más sobre la librería FastLED en la siguiente web:

https://www.instructables.com/Basic-of-FastLED/

- Controlar la tira LED por WiFi mediante la app Blynk:

Necesitaremos una placa con WiFi, como puede ser la económica y potente ESP8266 NodeMCU, la cual conectaremos de igual modo que la Arduino UNO.

 Nodemcu

NodeMcu V3 Lua ESP8266 ESP-12E CH340 WiFi Placa de Desarrollo Inalámbrica – Ref.: W0013

 Nodemcu_w0013

Recuerda que esta placa alimenta a 3,3V, pero la tira LED requiere 5V, asique para bastantes LEDs, al aumentar el consumo, se requiere alimentación externa.

 5W power supply

Descargaremos la App Blink, la cual está disponible para dispositivos Android e IOS para controlar cualquier aplicación basada en IoT mediante tu móvil. Una vez instalada, deberemos registrarnos, para que al correo que pongamos, nos llegue la clave de la aplicación que creemos. A continuación, crearemos un nuevo proyecto (New Project), que se deberá llamar igual que nuestro sketch de Arduino, por ejemplo, RGB LED. Seleccionamos nuestra placa y el tipo de conexión WiFi.

 

Blynk

Ahora crearemos el GUI, por lo que abre el proyecto en Blynk, haz clic en el signo "+" para añadir los widgets para controlar el NeoPixel. En nuestro caso, necesitamos un Selector de Color RGB que está listado como "zeRGBa" y un deslizador “Slider” que se usará para controlar el brillo de la tira de LED.

 

Ajusta los parámetros de los Widgets. Para ello, después de arrastrar los widgets, se establecen sus parámetros que se utilizan para enviar los valores de color y brillo a NodeMCU.

Zebra_widget

Haz clic en ZeRGBa, para ir a la configuración de ZeRGBa y establece la opción de salida en "Merge" y establece el pin en "V3" que se muestra en la imagen de abajo. De manera similar, en la configuración del deslizador Slider, establezca el pin de salida en "V2" y ponle el nombre “Brightness”.

 Zergba

Ahora que ya tenemos configurada nuestra APP, vamos al Arduino IDE para instalar el controlador de nuestra NodeMCU. Si ya lo tuvieras instalado no haría falta rehacerlo. 

Para programar NodeMCU con Arduino IDE ir a Archivo->Preferencias->Configuración.

Pacifica

Introduce: https://arduino.esp8266.com/stable/package_esp8266com_index.json en el campo 'Gestor de URLs Adicionales de Tarjetas' y haz clic en 'Ok'.

 URLS

Ahora ve a Herramientas > Placa > Gestor de Tarjetas.

Nodemcu

En la ventana del Administrador de Tableros, escriba ‘esp’ en el cuadro de búsqueda, esp8266 aparecerá allí abajo. Ahora selecciona la última versión de la placa y haz clic en instalar.

 Arduino_AVR_boards

Después de que la instalación se complete, vaya a Herramientas >Tabla > y seleccione NodeMCU 1.0(ESP-12E Module). Ahora puedes programar NodeMCU con Arduino IDE.

En primer lugar, incluyendo todas las bibliotecas necesarias. Abrir el IDE de Arduino, luego ir a la pestaña Sketch y hacer clic en la opción Incluir Biblioteca-> Administrar Bibliotecas. Luego busca Blynk en el cuadro de búsqueda y luego descarga e instala el paquete Blynk para ESP8266.

Blynk

Para incluir la biblioteca de FastLED.h, descargue la biblioteca desde aquí e inclúyela usando la opción Incluir biblioteca ZIP, tal y como se indica en el punto anterior con la UNO.

Ahora, copiaremos el siguiente código en un Sketch nuevo, al que guardaremos con el mismo nombre que hemos llamado el programa en nuestra App, por ejemplo, RGB LED.

#define BLYNK_PRINT Serial

#include

#define FASTLED_ESP8266_RAW_PIN_ORDER

#include "FastLED.h"

#define NUM_LEDS1 30 //Cambiar por el número total de LEDs

#define LED_TYPE    WS2812B //Cambiar por el tipo de LED

#define COLOR_ORDER GRB

CRGB leds1[NUM_LEDS1];

char auth[] = "insertarcodigorecibidoenmail";

char ssid[] = "tuRedWiFi";

char pass[] = "TuContraseñaWiFi";

#define PIN1 D5

int data=255;

int r,g,b;

void setup()

{

  Serial.begin(9600);

  Blynk.begin(auth, ssid, pass);

  FastLED.addLeds<LED_TYPE, PIN1, COLOR_ORDER>(leds1, NUM_LEDS1).setCorrection( TypicalLEDStrip );

}

BLYNK_WRITE(V2)

{

  r = param[0].asInt();

  g = param[1].asInt();

  b = param[2].asInt();

  static1(r, g, b,data);

}

void loop()

{

  Blynk.run();

}

BLYNK_WRITE(V3)

{

data = param.asInt(); 

static1(r, g, b,data);

}

void static1(int r, int g, int b,int brightness)

{

  FastLED.setBrightness(brightness);

  for (int i = 0; i < NUM_LEDS1; i++ )

  {

    leds1[i] = CRGB(r, g, b);

  }

  FastLED.show();

}

Ahora ya puedes controlar inalámbricamente el color de tus LEDs y el nivel de brillo, desde tu móvil.

 

Led_imagenes

Tira_led

 

Fuentes:

https://www.instructables.com/IOT-ESP-8266-Nodemcu-Controlling-Neopixel-Ws2812-L/

https://iotdesignpro.com/projects/blynk-controlled-ws2812-neopixel-led-strip-using-esp8266-nodemcu

Share