Agregue iluminación controlada por Wi-Fi a su computadora con NodeMCU
Las torres de PC de escritorio han recorrido un largo camino desde los tiempos de las torres de plástico gris escondidas bajo los escritorios. Junto con los estuches que cumplen diferentes funciones, los estuches para PC han desarrollado un sentido de la estética, con paneles de vidrio que muestran componentes con orgullo y fuertes diseños futuristas que ocupan un lugar central en el escritorio de cualquier orgulloso geek..
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á el interior de una caja (junto con casi cualquier otra cosa) perfectamente bien.
Sin embargo, queremos hacer algo un poco más especial que esto! Hoy usaremos los LED de píxeles para crear una iluminación de caja controlable por Wi-Fi, con Si esto entonces eso (IFTTT) notificaciones. Todo este sistema se alimenta mediante 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 siga leyendo la versión escrita..
Luces con cerebro
Utilizaremos LEDs direccionables individualmente para este proyecto. A veces conocido como Neopixels, 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 Junta para controlarlos. Si bien puedes usar cualquier placa compatible con Arduino con Wi-Fi, NodeMCU es uno de nuestros favoritos como asesinos de Arduino. Conoce al asesino de Arduino: ESP8266 Conoce al asesino de Arduino: ESP8266 ¿Qué pasa si te digo que hay una placa de desarrollo compatible con Arduino? ¿Wi-Fi incorporado por menos de $ 10? Bueno, la hay. Lee mas .
Que necesitas
- 1 x 5v tira de Pixel LED, Neopixel / WS2811 / 12 / 12B
- 1 x NodeMCU ($ 3 en AliExpress)
- 1 x 220-500 ohmios de resistencia
- 1 x 100-1000 condensador microFarad
- 1 x interruptor de palanca o disyuntor
- 1 x conector Molex hembra
- 1 x Breadboard
- Fuente de alimentación 1 x 5v (para prueba)
- 1 x Proto-board y cable (para instalar el circuito)
- Varios cables de conexión
- Soldador y soldadura
Lo único en esta lista que está fuera de lo común aquí es el Molex conector Muchos propietarios de PC en estos días no usan una unidad de CD en sus compilaciones, aunque las fuentes de alimentación aún cuentan con una conexión para ellos. Podemos usar estas líneas de energía de repuesto para nuestra ventaja. Recuperé mi conector hembra de una unidad de disco antigua, aunque están disponibles por tan solo $ 0.30.
Construye tu circuito
Para evitar hurgas innecesarias en nuestro caso, probaremos nuestra configuración utilizando una fuente de alimentación externa. Configura tu tablero como este.
Si esta es la primera vez que configuras este tipo de LED, te aconsejaría que veas nuestra guía en profundidad para usar estas tiras con Arduino primero..
El interruptor simplemente rompe 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 el uso excesivo de energía a través de USB..
Una vez que haya configurado su tablero, debería verse algo como esto:
En mi ejemplo, el condensador y la resistencia ya están en proto-board, ya que se recuperó 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
Estarás codificando tu NodeMCU utilizando el IDE de Arduino. Para este ejemplo, configuraremos dos modos de operación, un interruptor de encendido / apagado maestro 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 comunicarnos con nuestro consejo..
Asegúrese de revisar nuestro artículo introductorio de Blynk Introducción a Blynk: dispositivos IoT de bricolaje simples Introducción a Blynk: dispositivos IoT de bricolaje simples Blynk es un servicio de Internet de las cosas (IoT) diseñado para hacer el control remoto y leer datos de sensores desde sus dispositivos como Rápido y fácil como sea posible. Lee más si nunca lo has usado antes..
En la aplicación Blynk, configure un nuevo proyecto y seleccione NodeMCU como su tablero. Se enviará un código de autorización a su dirección de correo electrónico registrada en Blynk. Añadir 3 botones y 3 deslizadores.
Estos botones y controles deslizantes deben configurarse para enviar valores a los pines virtuales V0-V5. los “Prueba” botón pondrá a prueba nuestra notificación de correo electrónico por ahora. Etiqueta los otros dos botones Poder y Manual de auto o algo similar, y los tres deslizadores son para rojo, Verde, y Azul.
Ahora abre 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 el IDE de Arduino, 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 una plataforma flexible y fácil de usar. hardware y software. Está dirigido a artistas, diseñadores, aficionados y cualquier persona interesada en crear objetos o entornos interactivos. Lee mas .
Aquí dividiremos el código en partes, aunque si prefiere descargar simplemente el código completo, puede encontrarlo en GitHub.
Si decide hacer esto, asegúrese de agregar sus propios detalles de Wi-Fi, el código de autorización, el pin de NodeMCU y el número de LED relevantes al script. Si apenas 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 dedicarse a la programación, ya sea para una carrera o simplemente como pasatiempo. ¡Genial! Pero tal vez estás empezando a sentirte abrumado. No muy bien. Aquí hay ayuda para facilitar su viaje. Lee mas .
Cree un nuevo boceto y guárdelo con un nombre apropiado. Asegúrese de seleccionar la placa y el puerto correctos de la Herramientas > Tablero y Herramientas > Puerto los menús. Comience por incluir los espacios de nombres Blynk y FastLED relevantes:
#define BLYNK_PRINT #incluir en serie #incluir #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 LEDs conectados. #define BRILLO 64 // Brillo de LED predeterminado. # define LED_TYPE WS2812B # define COLOR_ORDER GRB CRGB leds [NUM_LEDS];
A continuación, declararemos las 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 preset 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 toggle 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
Cuando agregue 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.
void setup () // retardo de seguridad de encendido (3000); Serial.begin (9600); // --- agregue los LEDS a FastLED y establezca el brillo --- FastLED.addLeds(leds, NUM_LEDS) .setCorrection (TypicalSMD5050); FastLED.setBrightness (BRILLO); #define FRAMES_PER_SECOND 120 // --- comience la comunicación con el servidor Blynk --- Blynk.begin (auth, ssid, pass);
Usa declaraciones if en tu función Loop para hacer diferentes cosas dependiendo de en qué modo estás.
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 funciones para cambiar estas variables en función 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 (); // --- Conmutar modo automático / manual --- BLYNK_WRITE (V4) autoMode = param.asInt ();
Finalmente, haga una función que haga que una secuencia repetida de luces rojas se use como notificación por correo electrónico. Está diseñado para activarse sin importar lo que esté sucediendo, lo que significa que siempre recibirá la notificación, incluso si las luces están apagadas.
// --- luz de notificación de 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 la NodeMCU del circuito y enchúfelo 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. Todo está bien, la tira de LED debe iniciarse en el modo automático, que es el fill_rainbow Modo desde FastLED. Puedes probar la señal de notificación usando el botón de prueba.
Como se puede ver aquí, coloqué mis LED aproximadamente en el costado de mi estuche, así que sabía cuántos necesitaría. En mi caso, fue 44, aunque uso una mini torre, por lo que es posible que pueda usar muchos más. Solo asegúrese de tener en cuenta el consumo de energía de los LED que utiliza y la cantidad de alimentación de su PC..
Configurando IFTTT
Estaremos usando La integración de Gmail de IFTTT para activar nuestra secuencia de notificaciones. Si nunca ha usado IFTTT antes, se sorprenderá de la gran cantidad de formas en que puede automatizar sus aplicaciones web favoritas. Cualquiera de sus dos 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… Leer más .
Configurar un nuevo applet. por “Esta”, escoger Cualquier nuevo correo electrónico en la bandeja de entrada desde el Gmail canal. por “Ese”, seleccionar Creador de webs y Hacer una solicitud web.
La sección de URL es donde llamamos a nuestro pin de notificación. Necesitará modificar la URL para trabajar con su proyecto. El formato es http: // BlynkIpAddress / YourAuthCode / pin / V5. Puedes encontrar la ip de Blynk escribiendo ping blynk-cloud.com en el indicador de comando.
Escoger PONER como el Método, y aplicación / json como el Tipo de contenido. Finalmente, agregue El“1”] al Cuerpo sección, luego haga clic Crear acción.
Ahora, cada vez que un correo electrónico llega a la bandeja de entrada de la dirección de Gmail asociada con IFTTT, enviará un “1” mensaje a Virtual Pin 5 en el servidor Blynk, que activará nuestra notificación. Intenta enviarte un correo electrónico para probarlo. Se paciente, el IFTTT puede tomar algún tiempo.!
Ahora puede deshacerse del botón de 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. Mueve tu proyecto desde el tablero al tablero de proto. Si es nuevo en soldadura y está buscando algunos consejos, consulte nuestra guía para soldadura Aprenda a soldar con estos sencillos 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 quieres comenzar a trabajar con electrónica, necesitarás aprender a soldar. Déjanos ayudarte. Lee mas .
Antes de conectar su conector Molex a la placa, tome nota de qué pines utilizará. El conector macho que viene 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 de + 12v y el rojo es de + 5v. Asegúrese de colocar las patillas correspondientes del conector hembra en la placa. Elegí colocar solo dos patillas para evitar freír accidentalmente mi tablero y los LED!
Decidí conectar los cables DuPont entre mi tarjeta y los LED para que el lado de la caja de la PC aún se pueda quitar completamente sin tener que quitar la placa proto. Para empezar, sugiero colocar los LED en el estuche y asegurarlos con cinta, solo para verificar que encajen dentro del estuche cuando está cerrado..
Nota: Cuando suelda sus tiras de LED juntas, las líneas de datos deben fluir todas en la misma dirección. Esto será denotado en la tira.
Finalmente, monta tu proto-board dentro de la torre de tu PC. Como esta es una versión temporal para mí, elegí aislar la parte posterior del tablero y atarlo a la parte posterior de mi estuche. Sin embargo, usted decide colocar 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 que funcione con 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 LEDs en la torre de tu PC? ¿Ha configurado alguna automatización impresionante para ellos? Háganos saber acerca de sus proyectos y planes en la sección de comentarios a continuación.!
Crédito de la imagen: David Brown / Flickr
Explorar más sobre: Estuche para computadora, Electrónica, Tira de LED.