Agregue iluminación controlada por Wi-Fi a su computadora con NodeMCU

  • Lesley Fowler
  • 0
  • 2005
  • 287
Anuncio

Las torres de PC de escritorio han recorrido un largo camino desde los días de las torres de plástico gris escondidas debajo de los escritorios. Junto con los estuches que cumplen diferentes funciones, los estuches para PC han desarrollado una sensación de estética, con paneles de vidrio que muestran orgullosamente sus componentes y diseños futuristas fuertes que ocupan un lugar central en el escritorio de cualquier geek orgulloso.

Las instalaciones de LED son cada vez más comunes. Un simple 12v RGB la tira se puede comprar por tan solo $ 1 por metro e iluminará perfectamente el interior de una caja (junto con casi cualquier otra cosa).

Sin embargo, ¡queremos hacer algo un poco más especial que esto! Hoy usaremos Pixel LED para crear iluminación de carcasa controlable por Wi-Fi, con Si esto, entonces eso (IFTTT) notificaciones. Todo este sistema funciona con un conector Molex de repuesto dentro de la torre, lo que lo hace totalmente autónomo. Lo mejor de todo, todo este proyecto cuesta menos de $ 10 para hacer.

Este tutorial está disponible en forma de video a continuación, o sigue leyendo para la versión escrita.

Luces con cerebros

Utilizaremos LED direccionables individualmente para este proyecto. A veces conocido como Neopíxeles, Hay varios modelos para elegir. Los LED utilizados aquí son de un WS2812B tira, disponible por alrededor de $ 4 por metro.

Estaremos usando el NodeMCU tablero para controlarlos. Si bien puedes usar cualquier placa compatible con Arduino con Wi-Fi, el NodeMCU es uno de nuestros favoritos como asesino de Arduino Conoce al Arduino Killer: ESP8266 Conoce al Arduino Killer: ESP8266 ¿Qué pasa si te digo que hay una placa de desarrollo compatible con Arduino con Wi-Fi incorporado por menos de $ 10? Bueno, hay. .

Que necesitas

  1. 1 x tira de LED de 5v Pixel, Neopixel / WS2811 / 12 / 12B
  2. 1 x NodeMCU ($ 3 en AliExpress)
  3. 1 x resistencia de 220-500 ohmios
  4. 1 x 100-1000 condensador microFarad
  5. 1 x interruptor de palanca o disyuntor
  6. 1 x conector Molex hembra
  7. 1 x placa de prueba
  8. 1 fuente de alimentación de 5v (para pruebas)
  9. 1 x placa y cable (para instalar el circuito)
  10. Varios cables de conexión
  11. Soldador y soldador

Lo único en esta lista que está fuera de lo común aquí es el Molex conector En la actualidad, muchos propietarios de PC no usan una unidad de CD en sus compilaciones, aunque las fuentes de alimentación todavía tienen una conexión para ellos. Podemos utilizar estas líneas eléctricas de repuesto para nuestra ventaja. Recuperé mi conector hembra de una unidad de disco vieja, aunque están disponibles por tan solo $ 0.30.

Construye tu circuito

Para evitar hurgar innecesariamente en nuestro caso, probaremos nuestra configuración utilizando una fuente de alimentación externa. Configura tu placa de prueba de esta manera.

Si es la primera vez que configura este tipo de LED, le aconsejaría consultar primero nuestra guía detallada para usar estas tiras con Arduino.

El interruptor simplemente separa el NodeMCU del circuito. En esta versión, en realidad usaré un interruptor automático simple en lugar del interruptor. Su función es permitirnos aislar el tablero VIN pin mientras está conectado a través de USB. Si bien la cantidad de energía que consumirán nuestros LED es relativamente pequeña, es una buena práctica evitar extraer demasiada energía a través de USB.

Una vez que su placa de prueba esté configurada, debería verse así:

En mi ejemplo, el condensador y la resistencia ya están en protoboard, ya que se rescató de un proyecto anterior, aunque el circuito es exactamente el mismo.

Ahora que tenemos el hardware configurado, creemos nuestro código.

Los cerebros de la operación

Codificará su NodeMCU utilizando el IDE de Arduino. Para este ejemplo, configuraremos dos modos de operación, un interruptor principal de encendido / apagado y una señal de notificación cuando se reciba un correo electrónico. Utilizaremos Blynk, un servicio web para dispositivos de Internet de las cosas para comunicarse con nuestra junta.

Asegúrese de consultar nuestro artículo introductorio de Blynk Introducción a Blynk: dispositivos simples de IoT de bricolaje Introducción a Blynk: dispositivos simples de IoT de bricolaje Blynk es un servicio de Internet de las cosas (IoT) diseñado para hacer control remoto y leer datos de sensores de sus dispositivos como Rápido y fácil como sea posible. si nunca lo has usado antes.

En la aplicación Blynk, configure un nuevo proyecto y seleccione NodeMCU como su tablero. Se le enviará un código de autorización a su dirección de correo electrónico registrada en Blynk. Añadir 3 botones y 3 controles deslizantes.

Estos botones y controles deslizantes deben configurarse para enviar valores a los pines virtuales V0-V5. los “Prueba” El botón probará nuestra notificación por correo electrónico por ahora. Etiqueta los otros dos botones Poder y Manual de auto o algo similar, y los tres controles deslizantes son para rojo, Verde, y Azul.

Ahora abra el IDE de Arduino. Necesitará las bibliotecas Blynk y FastLED para este proyecto, así que asegúrese de tener ambas instaladas. Si recién está comenzando con Arduino IDE, consulte nuestra guía para principiantes de Arduino Introducción a Arduino: una guía para principiantes Introducción a Arduino: una guía para principiantes Arduino es una plataforma de creación de prototipos de electrónica de código abierto basada en un sistema flexible y fácil de usar. hardware y software. Está destinado a artistas, diseñadores, aficionados y cualquier persona interesada en crear objetos o entornos interactivos.. .

Aquí dividiremos el código en fragmentos, aunque si prefiere simplemente descargar el código completo, puede encontrarlo en GitHub.

Si decide hacer esto, asegúrese de agregar sus propios detalles de Wi-Fi, código de autorización y pin NodeMCU relevante y Número de LED al script. Si recién está comenzando a aprender programación, lo revisaría desde cero para aprender cómo funciona cada parte. Esta es una de las muchas maneras de familiarizarse con la codificación Cómo aprender a programar sin todo el estrés Cómo aprender a programar sin todo el estrés Tal vez haya decidido continuar con la programación, ya sea para una carrera o simplemente como un pasatiempo. ¡Excelente! Pero tal vez estés empezando a sentirte abrumado. No muy bien. Aquí hay ayuda para facilitar su viaje. .

Cree un nuevo boceto y guárdelo con un nombre apropiado. Asegúrese de seleccionar la placa y el puerto correctos del Herramientas > Tablero y Herramientas > Puerto menús Comience por incluir los espacios de nombres Blynk y FastLED relevantes:

#define BLYNK_PRINT Serie #include #include #include "FastLED.h"

A continuación, agregue algunas definiciones para FastLED:

// --- Definiciones FastLED y CRGB --- #define LED_PIN 3 // Pin GPIO para LED RGB. #define NUM_LEDS 44 // Número de LED conectados. #definir BRILLO 64 // Brillo LED predeterminado. #define LED_TYPE WS2812B #define COLOR_ORDER GRB CRGB leds [NUM_LEDS];

A continuación, declararemos variables para nuestros valores RGB, nuestro modo Automático / Manual y nuestro interruptor maestro. También agregamos un valor para un color base requerido por el preajuste FastLED que usaremos más adelante.

// --- variables para nuestros valores RGB (0-1023) --- int r = 500; int g = 500; int b = 500; // --- variables para On / Off y Auto / Manual alternan int masterSwitch = 1; int autoMode = 1; // --- int / byte para el incremento automático del tono --- uint8_t gHue = 0; // "color base" giratorio utilizado por muchos de los patrones 

Al agregar sus detalles de Blynk, asegúrese de completar sus propios detalles de Wi-Fi aquí:

// --- Código de autenticación de Blynk y detalles de wifi --- char auth [] = "YourAuthCode"; // Autorización de Blynk char ssid [] = "YourWifiName"; char pass [] = "YourWifiPassword";

Utilizamos nuestra función de configuración para agregar nuestros LED a FastLED y establecer comunicación con Blynk.

configuración nula () // retraso de retardo de seguridad de encendido (3000); Serial.begin (9600); // --- agregue los LEDS a FastLED y configure el brillo --- FastLED.addLeds (leds, NUM_LEDS) .setCorrection (TypicalSMD5050); FastLED.setBrightness (BRILLO); #define FRAMES_PER_SECOND 120 // --- inicia la comunicación con el servidor Blynk --- Blynk.begin (auth, ssid, pass); 

Use sentencias if en su función Loop para hacer cosas diferentes dependiendo de en qué modo se encuentre.

bucle vacío () Blynk.run (); if (masterSwitch == 0) for (int i = 0; i < NUM_LEDS; i++)  leds[i] = CRGB::Black; FastLED.show(); delay(30);   if(autoMode == 0 && masterSwitch == 1)  for (int i = 0; i < NUM_LEDS; i++) leds[i] = CRGB(r, g, b); FastLED.show(); delay(30);   if(autoMode == 1 && masterSwitch == 1)  fill_rainbow( leds, NUM_LEDS, gHue, 7); // send the 'leds' array out to the actual LED strip FastLED.show(); // insert a delay to keep the framerate modest FastLED.delay(1000/FRAMES_PER_SECOND); EVERY_N_MILLISECONDS(20)  gHue++; // slowly cycle the "base color" through the rainbow   

Ahora, usa el BLYNK_WRITE funciona para cambiar estas variables dependiendo de lo que seleccione en la aplicación Blynk:

// --- Master On / Off --- BLYNK_WRITE (V0) masterSwitch = param.asInt ();  // --- Valor del control deslizante rojo --- BLYNK_WRITE (V1) r = param.asInt ();  // --- Valor del control deslizante verde --- BLYNK_WRITE (V2) g = param.asInt ();  // --- Valor del control deslizante azul --- BLYNK_WRITE (V3) b = param.asInt ();  // --- Alternar modo automático / manual --- BLYNK_WRITE (V4) autoMode = param.asInt (); 

Finalmente, realice una función que haga que se use una secuencia repetida de luces rojas como notificación por correo electrónico. Esto está diseñado para activarse sin importar qué más esté sucediendo, lo que significa que siempre recibirá la notificación, incluso si las luces están apagadas actualmente.

// --- Luz de notificación por correo electrónico --- BLYNK_WRITE (V5) int g = param.asInt (); if (g == 1) for (int a = 0; a < 10 ; a++)  for (int i = 0; i< NUM_LEDS; i++)  leds[i] = CRGB(1023, 0, 0); FastLED.show(); delay(10); FastLED.clear(); delay(10);     

Una vez que tenga este código completo en su lugar, use el interruptor / disyuntor para aislar el NodeMCU del circuito y conéctelo a través de USB. Sube el boceto al tablero. Una vez cargado, desconecte el cable USB y conecte su fuente de alimentación de 5v. En resumen, la tira de LED debe iniciarse en el modo automático, que es el fill_rainbow modo de FastLED. Puede probar la señal de notificación con el botón de prueba.

Como puede ver aquí, coloqué mis LED aproximadamente en el costado de mi estuche para saber cuántos necesitaría. En mi caso era 44, aunque uso una mini torre, por lo que puede usar muchas más. Solo asegúrese de tener en cuenta el consumo de energía de los LED que usa y cuánto puede proporcionar la fuente de alimentación de su PC.

Configurando IFTTT

Estaremos usando Integración de Gmail de IFTTT para activar nuestra secuencia de notificaciones. Si nunca antes ha usado IFTTT, se sorprenderá de la gran cantidad de formas en que puede automatizar sus aplicaciones web favoritas. Si esto es así: conecte y automatice cualquiera de sus aplicaciones web favoritas. Si esto es así: conecte y automatice. Dos de sus aplicaciones web favoritas Conecte dos de sus aplicaciones web favoritas de manera creativa. Una especie de "cinta adhesiva digital" según Linden Tibbets, el creador de la aplicación, If This Then That (ifttt) le permite encontrar nuevos usos para ... .

Configurar un nuevo applet. por “Esta”, escoger Cualquier correo electrónico nuevo en la bandeja de entrada desde el Gmail canal. por “Ese”, seleccionar Creador de Webhooks y Hacer una solicitud web.

La sección de URL es donde llamamos a nuestro pin de notificación. Deberá modificar la URL para trabajar con su proyecto. El formato es http: // BlynkIpAddress / YourAuthCode / pin / V5. Puede encontrar la ip de Blynk escribiendo ping blynk-cloud.com en el símbolo del sistema.

Escoger PONER como el Método, y aplicación / json como el Tipo de contenido. Finalmente agregue [“1”] al Cuerpo sección, luego haga clic Crear acción.

Ahora, cada vez que llega un correo electrónico a la bandeja de entrada de la dirección de Gmail asociada con IFTTT, enviará un “1” mensaje al Pin virtual 5 en el servidor Blynk, lo que activará nuestra notificación. Intenta enviarte un correo electrónico para probarlo. Sea paciente, IFTTT puede tomar algo de tiempo!

Ahora puede deshacerse del botón Prueba en su aplicación Blynk si lo desea.

Poniendolo todo junto

Ahora que hemos probado todo, es hora de terminar e instalar nuestro hardware. Mueva su proyecto desde el tablero al proto-tablero. Si es nuevo en la soldadura y está buscando algunos consejos, consulte nuestra guía para soldar Aprenda a soldar, con estos simples consejos y proyectos Aprenda a soldar, con estos simples consejos y proyectos ¿Está un poco intimidado por el pensamiento? de un hierro caliente y metal fundido? Si desea comenzar a trabajar con la electrónica, necesitará aprender a soldar. Dejanos ayudar. .

Antes de conectar su conector Molex a la placa, tome nota de los pines que utilizará. El conector macho que proviene de la fuente de alimentación de su PC tendrá cuatro cables. Los dos cables negros son cables de tierra comunes, el cable amarillo es + 12v y el rojo es + 5v. Asegúrese de conectar los pines correspondientes del conector hembra a la placa. Elegí solo conectar dos pines para evitar freír accidentalmente mi placa y LED!

Decidí conectar los cables DuPont entre mi placa y los LED para que el lateral de la carcasa de la PC todavía se pueda quitar por completo sin tener que quitar la placa de protección. Para comenzar, sugiero colocar sus LED en la caja y asegurarlos con cinta adhesiva, solo para verificar que encajen dentro de la caja cuando estén cerrados..

Nota: Cuando suelde sus tiras de LED, las líneas de datos deben fluir en la misma dirección. Esto se denotará en la tira.

Finalmente, monte su protoboard dentro de la torre de su PC. Como esta es una construcción temporal para mí, elegí aislar la parte posterior del tablero y atarlo con cremallera a la parte posterior de mi estuche. Independientemente de cómo decida conectar la placa, tenga cuidado de no causar cortocircuitos y tenga cuidado con el peligro que representa la electricidad estática en los componentes internos..

Ilustrado

Todo bien, debe tener una luz totalmente funcional operada por Wi-Fi con notificaciones automáticas por correo electrónico. Ahora que tiene este sistema en su lugar, puede usar el interruptor de apagado en la placa para conectar su NodeMCU de forma segura a través de USB y cambiar el código. Puede intentar agregar otra notificación integrada con IFTTT (luz azul para menciones en Twitter o Facebook, por ejemplo), o experimentar con configuraciones personalizadas en la biblioteca FastLED para que sus luces se muevan un poco.

¿Has instalado LED en la torre de tu PC? ¿Has configurado alguna automatización increíble para ellos? Háganos saber acerca de sus proyectos y planes en la sección de comentarios a continuación!

Crédito de imagen: David Brown / Flickr




Nadie ha comentado sobre este artículo todavía.

Sobre tecnología moderna, simple y asequible.
Tu guía en el mundo de la tecnología moderna. Aprenda a usar las tecnologías y los dispositivos que nos rodean todos los días y aprenda a descubrir cosas interesantes en Internet.