![LightMeUp! Control de tiras de LED de plataforma cruzada en tiempo real: 5 pasos (con imágenes) LightMeUp! Control de tiras de LED de plataforma cruzada en tiempo real: 5 pasos (con imágenes)](https://i.howwhatproduce.com/images/006/image-16429-j.webp)
Tabla de contenido:
2025 Autor: John Day | [email protected]. Última modificación: 2025-01-23 14:39
![LightMeUp! un control de tira de LED de plataforma cruzada en tiempo real LightMeUp! un control de tira de LED de plataforma cruzada en tiempo real](https://i.howwhatproduce.com/images/006/image-16429-1-j.webp)
![LightMeUp! un control de tira de LED de plataforma cruzada en tiempo real LightMeUp! un control de tira de LED de plataforma cruzada en tiempo real](https://i.howwhatproduce.com/images/006/image-16429-2-j.webp)
![LightMeUp! un control de tira de LED de plataforma cruzada en tiempo real LightMeUp! un control de tira de LED de plataforma cruzada en tiempo real](https://i.howwhatproduce.com/images/006/image-16429-3-j.webp)
LightMeUp! es un sistema que inventé para controlar una tira de LED RGB en tiempo real, manteniendo el costo bajo y el rendimiento alto.
El servidor está escrito en Node.js y, por lo tanto, es compatible con plataformas cruzadas.
En mi ejemplo, utilizo una Raspberry Pi 3B para uso a largo plazo, pero mi PC con Windows por motivos de demostración y depuración.
La tira de 4 pines está controlada por una placa tipo Arduino Nano, que ejecuta comandos dados en serie para enviar señales PWM a tres transistores que cambian los + 12VDC al pin de color correspondiente de la tira.
El LightMeUp! El sistema también verifica su propia temperatura, una vez que está por encima de los 60 ° C (140 ° F), enciende dos ventiladores de computadora de 12VDC integrados en la carcasa, para enfriarse y mejorar la vida útil del circuito.
¡Otra característica de LightMeUp! es iluminar una botella de Bombay-Sapphire Gin, pero ese no es el enfoque de este Instructable.
Disfruta leyendo:)
Suministros
- Arduino Nano (o cualquier otro microcontrolador ATmega328 / de base superior)
- Raspberry Pi 3 Modelo B con Node.js instalado (o cualquier otra computadora)
- Tira de LED de 12V RGB de 4 pines
- Fuente de alimentación 12V 3A
- Cables de puente (macho-macho si usa una placa de pruebas, por supuesto)
- Tablero (opcional)
- 2 ventiladores de computadora de 12V CC (opcional)
- 3x TIP120 Transistor Darlington con disipador de calor (4 si desea incluir ventiladores de refrigeración)
- 2 LED de estado rojo y verde (opcional)
- Resistencia basada en temperatura NTC de 6, 7K + resistencia de 6, 7K (opcional)
- Cable de datos USB-Mini a USB 2.0 (para que Raspberry Pi se comunique con Arduino)
- Concentrador USB con alimentación externa (opcional, solo para Raspberry Pi)
Paso 1: comprender el sistema
![Entender el sistema Entender el sistema](https://i.howwhatproduce.com/images/006/image-16429-4-j.webp)
LightMeUp! se basa en circuitos electrónicos muy simples.
Tenemos algún tipo de computadora (en este caso una Raspberry Pi) que se comunica en serie con nuestra placa microcontroladora. Esta placa luego ejecuta comandos seriales específicos como "RGB (255, 255, 255)" que convertirían nuestra tira de LED en blanco.
Una vez que obtenemos nuestros tres valores para ROJO, VERDE y AZUL necesarios para nuestra tira de LED de 4 pines, ejecutamos analogWrite (pin, valor) para suministrar a nuestro transistor TIP120 una señal PWM.
Esta señal PWM permite que el transistor cambie el pin de color correspondiente al que está conectado el colector a tierra, en un grado específico o completamente encendido / apagado. Sí, muchos "para":)
Al mezclar las tres salidas de transistores con los pines de color de las tiras de LED, podemos crear básicamente cualquier color que queramos.
Ahora, con este entendimiento, podemos atacar el mayor desafío de este proyecto, el servidor websockets y su conexión serial a nuestro Arduino.
Paso 2: escribir el WebSocketServer
![Escribiendo el WebSocketServer Escribiendo el WebSocketServer](https://i.howwhatproduce.com/images/006/image-16429-5-j.webp)
Ahora, tenemos que crear un tipo específico de servidor web, que nos permita transferir datos de un lado a otro sin actualizar una vez para lograr un control de tira de LED en tiempo real.
Tenga en cuenta que, por supuesto, la comunicación en tiempo real es imposible, siempre habrá al menos unos milisegundos de retraso involucrados, pero para el ojo humano es considerable como tiempo real.
Esto se puede lograr fácilmente usando la biblioteca socket.io si usa Node.js como lo hice yo. Sin embargo, siempre puedes ceñirte a tu lenguaje de programación favorito, por supuesto.
Trataremos con una conexión websocket que nos permite transferir datos de entrada como el color al que desea configurar la tira de LED, o datos de estado como "LED ENCENDIDO" bidireccionalmente sin actualizar.
Otra característica muy importante que debe tener el servidor, pero que no necesita, es un simple inicio de sesión. Basé mi inicio de sesión en un campo simple de nombre de usuario y contraseña. Luego, estos datos se envían a la ruta / login del servidor, que luego compara el nombre de usuario con una lista de usuarios (archivo.txt) y su contraseña correspondiente en su forma cifrada con SHA256. No quiere que sus vecinos se metan con su tira de LED mientras disfruta de su bebida favorita en su asiento más cómodo, ¿verdad?
Ahora viene el corazón del servidor, la comunicación en serie.
Su servidor debe poder comunicarse en serie; en Node.js, esto se puede lograr abriendo un puerto utilizando la biblioteca "serialport". Pero primero determine el nombre de su puerto arduino en su computadora que aloja el servidor. Dependiendo de su sistema operativo, los puertos tendrán diferentes nombres, p. Ej. en Windows, estos puertos se denominan puertos "COMx", mientras que en Linux se denominan "/ dev / ttyUSBx", donde x es el número del puerto USB.
Paso 3: establecer un protocolo de comandos en serie
![Establecer un protocolo de comandos en serie Establecer un protocolo de comandos en serie](https://i.howwhatproduce.com/images/006/image-16429-6-j.webp)
En la imagen de arriba, puede ver el código IDE de Arduino real responsable del control RGB. El objetivo de este paso es hacer que su servidor autoescrito y la placa Arduino se comuniquen con éxito.
Una vez que haya abierto su puerto serie con éxito, debe poder enviar comandos a la placa que se encarga de sus deseos. Por ejemplo, si dibujamos un dedo sobre el selector de color en la página web HTML, el código RGB debe enviarse al servidor, que luego lo envía a su Arduino para que procese los valores establecidos.
Usé jscolor, tienen una gran implementación de un elemento de selección de color de alta calidad, que posee un evento llamado "onFineChange" que permite procesar los datos del selector de color tan pronto como cambien sus valores.
Recomendado:
Rastreador Covid19 en vivo con ESP8266 y OLED - Panel de control Covid19 en tiempo real: 4 pasos
![Rastreador Covid19 en vivo con ESP8266 y OLED - Panel de control Covid19 en tiempo real: 4 pasos Rastreador Covid19 en vivo con ESP8266 y OLED - Panel de control Covid19 en tiempo real: 4 pasos](https://i.howwhatproduce.com/images/006/image-16207-j.webp)
Rastreador Covid19 en vivo con ESP8266 y OLED | Panel de control de Covid19 en tiempo real: visite el sitio web de Techtronic Harsh: http: //techtronicharsh.com En todas partes hay un gran brote del nuevo virus Corona (COVID19). Se hizo necesario vigilar el escenario actual del COVID-19 en el Mundo, así que estando en casa, esta era la p
Plataforma base de IoT con RaspberryPi, WIZ850io: Controlador de dispositivo de plataforma: 5 pasos (con imágenes)
![Plataforma base de IoT con RaspberryPi, WIZ850io: Controlador de dispositivo de plataforma: 5 pasos (con imágenes) Plataforma base de IoT con RaspberryPi, WIZ850io: Controlador de dispositivo de plataforma: 5 pasos (con imágenes)](https://i.howwhatproduce.com/images/011/image-30548-j.webp)
Plataforma base de IoT con RaspberryPi, WIZ850io: Controlador de dispositivo de plataforma: conozco la plataforma RaspberryPi para IoT. Recientemente, WIZ850io fue anunciado por WIZnet. Así que implementé una aplicación RaspberryPi mediante la modificación del SW de Ethernet porque puedo manejar un código fuente fácilmente. Puede probar el controlador de dispositivo de plataforma a través de RaspberryPi
Control deslizante de control de movimiento para riel de lapso de tiempo: 10 pasos (con imágenes)
![Control deslizante de control de movimiento para riel de lapso de tiempo: 10 pasos (con imágenes) Control deslizante de control de movimiento para riel de lapso de tiempo: 10 pasos (con imágenes)](https://i.howwhatproduce.com/images/005/image-14945-20-j.webp)
Control deslizante de control de movimiento para riel de lapso de tiempo: este instructivo explica cómo motorizar un riel de lapso de tiempo utilizando un motor paso a paso impulsado por un Arduino. Nos centraremos principalmente en el controlador de movimiento que acciona el motor paso a paso, asumiendo que ya tiene un riel que desea motorizar. Por ejemplo, cuando
Registro de datos MPU-6050 / A0 en tiempo real con Arduino y Android: 7 pasos (con imágenes)
![Registro de datos MPU-6050 / A0 en tiempo real con Arduino y Android: 7 pasos (con imágenes) Registro de datos MPU-6050 / A0 en tiempo real con Arduino y Android: 7 pasos (con imágenes)](https://i.howwhatproduce.com/images/001/image-1294-81-j.webp)
Registro de datos MPU-6050 / A0 en tiempo real con Arduino y Android: Me ha interesado utilizar Arduino para el aprendizaje automático. Como primer paso, quiero construir una pantalla de datos y un registrador en tiempo real (o bastante cercano a él) con un dispositivo Android. Quiero capturar datos del acelerómetro del MPU-6050, así que diseño
Convierta una cámara de video de la década de 1980 en un generador de imágenes polarimétrico en tiempo real: 14 pasos (con imágenes)
![Convierta una cámara de video de la década de 1980 en un generador de imágenes polarimétrico en tiempo real: 14 pasos (con imágenes) Convierta una cámara de video de la década de 1980 en un generador de imágenes polarimétrico en tiempo real: 14 pasos (con imágenes)](https://i.howwhatproduce.com/images/002/image-3049-43-j.webp)
Convierta una cámara de video de la década de 1980 en un generador de imágenes polarimétrico en tiempo real: el procesamiento de imágenes polarimétricas ofrece un camino para desarrollar aplicaciones revolucionarias en una amplia gama de campos - abarcando desde el monitoreo ambiental y el diagnóstico médico hasta las aplicaciones de seguridad y antiterrorismo. Sin embargo, el muy