Manufactura industrial
Internet industrial de las cosas | Materiales industriales | Mantenimiento y reparación de equipos | Programación industrial |
home  MfgRobots >> Manufactura industrial >  >> Manufacturing Technology >> Proceso de manufactura

Control de Tira LED NeoPixel vía Wi-Fi: Proyecto ESP8266 con App Android

Componentes y Suministros

Placa ElectroPeak ESP8266 Serial WIFI Witty Cloud × 1
Tira LED NeoPixel Inteligente (60 LED/m) × 3
Conversor de Nivel Lógico ElectroPeak × 1
Cables Jumper Macho-Hembra 21cm 40P ElectroPeak × 1
Tubo PVC 60cm diámetro 2" × 1
Papel Calca × 1
Cilindro de Cristal × 1
Fuente de Alimentación 5V (mínimo 9A) × 1
Arduino Nano R3 × 1

Herramientas y Máquinas Necesarias

Pistola de Silicona Caliente (genérica)
Soldador (genérico)

Aplicaciones y Servicios Online

Arduino IDE

Sobre este Proyecto

Puedes leer este y otros tutoriales increíbles en el sitio web oficial de ElectroPeak

Crea un efecto de simulación de fuego genial con control inalámbrico Wi-Fi. Una app móvil (para smartphones Android) con una interfaz atractiva está lista para instalar y jugar con tu creación. También usaremos Arduino y ESP8266 para controlar la llama. Al final de este proyecto aprenderás:

Introducción a los NeoPixels

Los LEDs direccionables individualmente, a menudo llamados NeoPixels, existen desde hace tiempo y probablemente los conozcas, pero si no, son como LEDs RGB normales, pero como sugiere el nombre, el color de cada uno puede direccionarse individualmente, permitiendo patrones y animaciones infinitamente geniales. Para WS2812b solo necesitas 3 cables: 2 para alimentación y 1 para datos. ¡Eso significa que solo necesitas un pin libre de Arduino para controlar un montón de LEDs!

En este proyecto, usaremos estos LEDs inteligentes para crear un efecto de fuego. Para controlar los LEDs usaremos la increíble librería FastLED. Usaremos el sketch de ejemplo Fire2012 de la librería escrito por Mark Kriegsman. Usamos 6 tiras de LEDs cada una con 30 LEDs (un total de 180 LEDs) que pegamos en un tubo PVC y colocamos dentro de un cilindro de cristal (estos cilindros suelen usarse como jarrones). Tenemos que difundir la luz de los LEDs para que se vean continuos; para eso usamos papel calca que deja pasar la luz y la difunde.

Control de Tira LED NeoPixel vía Wi-Fi: Proyecto ESP8266 con App Android

Construcción

Primero consigue un cilindro de cristal adecuado; el nuestro tiene 60cm de largo y 12cm de diámetro.

Si puedes encontrar un cilindro de cristal esmerilado será genial, pero si es cristal transparente puedes usar papel calca para cubrir la superficie del cilindro (ya sea interior o exterior), el papel calca hace un buen trabajo difundiendo la luz y da buenos resultados.

Después de conseguir el cilindro, mide su longitud interna y corta el tubo PVC para que quepa dentro. Nuestro cilindro tiene 60cm de alto (excluyendo la base, tiene una longitud interna de 59cm), así que cortamos el tubo PVC a 59cm. Pegarás las tiras LED en este tubo; un tubo de 4cm de diámetro sería perfecto.

Luego hay que cortar la tira LED en 6 partes iguales; aquí usamos tira de densidad 60 LEDs/m (puedes usar densidades mayores para mejores efectos si quieres). Usamos seis longitudes de 50cm, eso significa que necesitamos 3 metros. Espacia las seis longitudes equitativamente alrededor del tubo PVC y pega las tiras al tubo. Así debería verse:

Control de Tira LED NeoPixel vía Wi-Fi: Proyecto ESP8266 con App Android
Control de Tira LED NeoPixel vía Wi-Fi: Proyecto ESP8266 con App Android
Control de Tira LED NeoPixel vía Wi-Fi: Proyecto ESP8266 con App Android
Control de Tira LED NeoPixel vía Wi-Fi: Proyecto ESP8266 con App Android
Control de Tira LED NeoPixel vía Wi-Fi: Proyecto ESP8266 con App Android

Para conectar las tiras LED entre sí, puedes soldar cables directamente a la tira según el siguiente diagrama o primero soldar headers a las tiras y luego usar cables de protoboard para conectarlas.

Control de Tira LED NeoPixel vía Wi-Fi: Proyecto ESP8266 con App Android

Cuando todas las conexiones de tiras LED estén hechas, tienes que colocar el tubo dentro del cilindro. Para centrar el tubo dentro del cilindro puedes usar espuma para cortar un círculo que tenga un diámetro exterior igual al diámetro interior del cilindro de cristal y un diámetro interior igual al diámetro exterior del tubo PVC. Prepara dos de estos, uno para cada lado del tubo. Sujeta estas partes a los extremos e introduce suavemente el tubo dentro del cilindro.

Código

Usamos Arduino IDE para programar y subir al ESP8266. Necesitas una placa que tenga un ESP8266 con 3MB de SPIFFS si quieres subir los archivos del software de control en el SPIFFS. SPIFFS significa "Sistema de Archivos Flash de Interfaz Periférica Serial"; puedes subir los archivos de control a esta memoria para servir los archivos desde esa ubicación. Haciendo esto puedes abrir tu navegador (ya sea en tu teléfono o portátil) e ir a la dirección de tu ESP (la default es 192.168.4.1) y obtendrás la interfaz de control en tu navegador sin tener que instalar la app; si tienes iPhone o iPad esta es tu única opción.

Sube el siguiente sketch a tu placa ESP. Necesitamos la librería FastLED, así que primero añádela a tu Arduino IDE si no la tienes ya (puedes descargarla aquí). El código de simulación de fuego es el sketch fire2012 de Mark Kriegsman que puedes encontrar en los ejemplos. Ese ejemplo es para una tira de LED, pero aquí hemos modificado el código para usar un número variable de tiras. Cuantas más tiras/LEDs, mayor será el efecto.

La lógica de la simulación de fuego está claramente descrita en el archivo de ejemplo. Si quieres saber cómo funciona, lee el código fuente del ejemplo.


// Código completo disponible en el archivo original
// Incluye: ESP8266WiFi, ESP8266WebServer, FastLED, EEPROM, FS (SPIFFS)
// Configuración: 6 tiras de 30 LEDs cada una (180 total)
// Servidor web en puerto 80 para control vía Wi-Fi
// Parámetros ajustables: SPARKING, COOLING, FPS, BRIGHTNESS, Paleta de colores (4 paradas)
// Guardado de configuración en EEPROM para persistencia
// Subida de interfaz web a SPIFFS para control sin app

Para controlar el "aspecto y sensación" del fuego hay dos variables con las que jugar: SPARKING y COOLING, que puedes controlar dinámicamente en el software de control subido al SPIFFS o en la app Android que puedes descargar. También puedes controlar FPS aquí.

Control de Tira LED NeoPixel vía Wi-Fi: Proyecto ESP8266 con App Android

El color del fuego se controla con una paleta de colores que también es modificable a través del software de control (mediante 4 paradas de color). Solo haz clic/toca cada círculo de color que representa una parada para establecer el color, después de configurar el color pulsa cerrar para cerrar el diálogo y ver el cambio.

Control de Tira LED NeoPixel vía Wi-Fi: Proyecto ESP8266 con App Android

Cómo Subir a SPIFFS

Para subir los archivos a la memoria SPIFFS usando Arduino IDE, primero necesitas crear una carpeta llamada "data" dentro de la carpeta del sketch y colocar todos los archivos que quieras subir en esa carpeta. El archivo subido aquí contiene tanto el sketch como esta carpeta.

Luego, necesitas el plugin Arduino ESP8266 filesystem uploader para Arduino. Sigue las instrucciones en su página de Github e instala el plugin. Cuando esté instalado encontrarás ESP8266 Sketch Data Upload bajo el menú tools. Pon tu ESP en modo programación y haz clic en eso. Ten paciencia y deja que los archivos suban, puede tardar un poco. Nota: establece "upload speed" a 921600 para hacerlo más rápido.

Control de Tira LED NeoPixel vía Wi-Fi: Proyecto ESP8266 con App Android

¿Cómo Funciona?

El sketch subido al ESP8266 crea un servidor web en él, que responde a las peticiones enviadas desde la app. La app simplemente envía peticiones GET al servidor (ESP8266). Los datos de color para crear la paleta se envían como argumentos en la petición GET, lo mismo ocurre con otros parámetros como los parámetros Sparking y Cooling.

Por ejemplo, para establecer el brillo, la app envía la siguiente petición:

https://192.168.4.1/conf?brightness=224

Hay un manejador para esta petición en el sketch que al recibirla establece el brillo. Revisa el código para saber más.

App Android

La app Android se creó usando Phonegap. Es una tecnología que permite crear apps móviles multiplataforma usando tecnologías web (HTML, CSS, Javascript). Puedes obtener el código fuente visitando esta página.

Puedes leer este y otros tutoriales increíbles en el sitio web oficial de ElectroPeak

Código

Código Efecto Fuego Arduino
// Código completo disponible en el archivo original
// Incluye toda la lógica de simulación de fuego Fire2012 adaptada para múltiples tiras
// Servidor web para control Wi-Fi
// Gestión de paleta de colores, brillo, FPS, sparking, cooling
// Persistencia en EEPROM
Sketch y Carpeta Data Arduino

Este archivo zip contiene tanto el archivo sketch como la carpeta data (subida SPIFFS)

Sin vista previa (solo descarga).

Proceso de manufactura

  1. Construya un Sistema Rápido y Fiable de Detección de Incendios con Samsung SAMIIO, Arduino UNO y Raspberry Pi
  2. Construya un Detector de Llanto de Bebé Económico con Raspberry Pi – Guía DIY
  3. Contador de Personas Inteligente Controlado vía App Android
  4. Integración del sensor de huella capacitivo DFRobot (ID809) con Arduino o ESP8266
  5. Controla tu Roomba Create 2 con Arduino y Android: Guía Completa
  6. Axiom Equipment Group y patrocinadores comunitarios donan $11,000 al Departamento de Bomberos de Oxbow
  7. Aprovechando IoT para detección y prevención temprana de incendios forestales
  8. Revolucionando Bomberos: Cómo IoT Mejora Seguridad, Respuesta y Rescate
  9. iOS vs. Android: ¿Qué Plataforma Ofrece Mayor Seguridad para Apps Empresariales?
  10. Daños por incendio y prevención: Estrategias expertas para proteger vidas y bienes
  11. Domine el Método strip() de Python: Guía Completa y Ejemplos Prácticos