¿Estás buscando una manera de controlar luces RGB de forma sencilla y conveniente? El selector de color ESP8266 RGB es la solución perfecta para ti. Con esta herramienta, podrás elegir fácilmente entre una amplia gama de colores y controlar la iluminación de tu hogar u oficina de forma remota. ¡Descubre cómo funciona este práctico dispositivo y dale un toque de color a tu vida!
En este proyecto construirás un servidor web con un ESP8266 para controlar remotamente un LED RGB. Este proyecto se llama ESP8266 RGB Color Picker.
Primero, mire el vídeo de demostración.
Para obtener más información sobre los LED ESP8266 y RGB, utilice los siguientes tutoriales como referencia:
- ¿Cómo funcionan los LED RGB?
- Comenzando con el ESP8266
- Servidor web ESP8266 con NodeMCU
- Actualización del firmware NodeMCU
- Guía de solución de problemas de ESP8266
Si te gusta el ESP y te gustaría realizar más proyectos, puedes descargar mi libro electrónico “Domótica con ESP8266” aquí.
¡Vamos a empezar!
Lista de artículos
Aquí está el hardware que necesita para completar este proyecto:
- 1 ESP8266-12E. – leer La mejor placa de desarrollo Wi-Fi ESP8266
- 1x LED RGB, ánodo común (lea «¿Cómo funcionan los LED RGB?»)
- 3 resistencias de 470 Ω
- 1x placa de pruebas
Puedes utilizar los enlaces anteriores o ir directamente MakerAdvisor.com/tools ¡Para encontrar todas las piezas para tus proyectos al mejor precio!
Actualice su ESP con NodeMCU
En este tutorial usaremos el firmware NodeMCU. Necesita actualizar su ESP con el firmware NodeMCU.
Descargue el IDE de ESPlorer
Recomiendo usar ESPlorer IDE, un programa creado por 4refr0nt para enviar comandos a su ESP8266.
Siga estas instrucciones para descargar e instalar ESPlorer IDE:
- haga clic aquí para descargar desde ESPlorer
- Descomprime esta carpeta
- Ir a la carpeta principal
- Correr «ESPlorer.jar» archivo
- Abra el IDE de ESPlorer
Subir código
Deberías ver una ventana similar a la imagen anterior. Siga estas instrucciones para cargar un archivo Lua:
- Conecte su ESP8266-12E con programador incorporado a su computadora
- Seleccione su ESP8266-12E Puerto
- Prensa Abierto cerrado
- Elegir Pestaña NodeMCU+MicroPtyhon
- Crea un nuevo archivo llamado init.lua
- Prensa Guardar en ESP
Cualquier cosa que le preocupe o necesite cambiar se resaltará en un cuadro rojo.
código
Cargue el siguiente código a su ESP8266 usando el software anterior. Su archivo debe llamarse “init.lua“.
No olvide agregar el nombre de su red (SSID) y la contraseña al siguiente script.
-- Rui Santos
-- Complete project details at https://randomnerdtutorials.com
wifi.setmode(wifi.STATION)
wifi.sta.config("YOUR_NETWORK_NAME","YOUR_NETWORK_PASSWORD")
print(wifi.sta.getip())
function led(r, g, b)
pwm.setduty(1, r)
pwm.setduty(2, g)
pwm.setduty(3, b)
end
pwm.setup(1, 1000, 1023)
pwm.setup(2, 1000, 1023)
pwm.setup(3, 1000, 1023)
pwm.start(1)
pwm.start(2)
pwm.start(3)
srv=net.createServer(net.TCP)
srv:listen(80,function(conn)
conn:on("receive", function(client,request)
local buf = "";
buf = buf.."HTTP/1.1 200 OKnn"
local _, _, method, path, vars = string.find(request, "([A-Z]+) (.+)?(.+) HTTP");
if(method == nil)then
_, _, method, path = string.find(request, "([A-Z]+) (.+) HTTP");
end
local _GET = {}
if (vars ~= nil)then
for k, v in string.gmatch(vars, "(%w+)=(%w+)&*") do
_GET[k] = v
end
end
buf = buf.."<!DOCTYPE html><html><head>";
buf = buf.."<meta charset="utf-8">";
buf = buf.."<meta http-equiv="X-UA-Compatible" content="IE=edge">";
buf = buf.."<meta name="viewport" content="width=device-width, initial-scale=1">";
buf = buf.."<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css">";
buf = buf.."<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/js/bootstrap.min.js"></script>";
buf = buf.."<script src="https://cdnjs.cloudflare.com/ajax/libs/jscolor/2.0.4/jscolor.min.js"></script>";
buf = buf.."</head><body><div class="container"><div class="row"><h1>ESP Color Picker</h1>";
buf = buf.."<a type="submit" id="change_color" type="button" class="btn btn-primary">Change Color</a> ";
buf = buf.."<input class="jscolor {onFineChange:'update(this)'}" id="rgb"></div></div>";
buf = buf.."<script>function update(picker) {document.getElementById('rgb').innerHTML = Math.round(picker.rgb[0]) + ', ' + Math.round(picker.rgb[1]) + ', ' + Math.round(picker.rgb[2]);";
buf = buf.."document.getElementById("change_color").href="?r=" + Math.round(picker.rgb[0]*4.0117) + "&g=" + Math.round(picker.rgb[1]*4.0117) + "&b=" + Math.round(picker.rgb[2]*4.0117);}</script></body></html>";
if(_GET.r or _GET.g or _GET.b) then
-- This is for RGB Common Cathode
-- led(_GET.r, _GET.g,_GET.b)
-- This is for RGB Common Anode
led(1023-_GET.r, 1023-_GET.g,1023-_GET.b)
end
client:send(buf);
client:close();
collectgarbage();
end)
end)
Importante: Si está utilizando un cátodo LED RGB común, deberá comentar/descomentar el código en el si(_GET.r o _GET.g o _GET.b) Instrucción como se describe en los comentarios del guión.
Esquema
Ahora sigue estos esquemas para crear el circuito que forma el ánodo común del LED RGB.
Importante: Si utiliza un cátodo LED RGB común, deberá conectar el cable más largo a GND.
Su dirección IP ESP
Cuando su ESP8266 se reinicie, imprimirá la dirección IP de ESP en su monitor serie. Guarde esta dirección IP ya que la necesitará más adelante.
En mi caso la dirección IP de ESP es 192.168.1.7. Si tiene problemas para ver su dirección IP, consulte esta guía de solución de problemas.
Usted está listo para ir!
Abra su servidor web
Vaya a cualquier navegador e ingrese la dirección IP de su ESP8266. Esto es lo que deberías ver:
Haga clic en el campo y se abrirá una pequeña ventana con una selección de colores. Simplemente arrastre con el mouse o el dedo y seleccione el color de su LED RGB:
Luego simplemente haga clic en el botón «Cambiar color»:
Ahora su LED RGB cambiará a color azul:
Vaya a la parte superior de esta página para ver un video de demostración de este proyecto.
Continuamos
Este es un ejemplo sencillo para mostrarle lo fácil que es controlar remotamente un LED RGB con un ESP8266. Puede tomar este ejemplo y modificarlo para controlar una lámpara real.
¿Tiene usted alguna pregunta? ¡Deja un comentario a continuación!
Gracias por leer. Si te gusta esta publicación, probablemente también te gustarán las siguientes. Así que por favor apóyame suscribiéndote a mi blog.
Selector de color con ESP8266 RGB
En este proyecto, vas a construir un servidor web con un ESP8266 para controlar remotamente un LED RGB. Este proyecto se llama Selector de Color ESP8266 RGB.
¿Cómo funcionan los LED RGB?
Los LED RGB utilizan luz roja, verde y azul para generar una amplia gama de colores. Puedes aprender más sobre cómo funcionan los LED RGB en este tutorial.
¿Qué necesitas para este proyecto?
- ESP8266-12E – mejor placa de desarrollo Wi-Fi ESP8266
- LED RGB Ánodo Común
- 3 resistencias de 470Ω
- Protoboard
¿Cómo cargar el ESP con NodeMCU?
Para cargar tu ESP con NodeMCU, necesitas usar el firmware adecuado. Puedes seguir las instrucciones en este tutorial.
¿Cómo subir el código?
Usando el software ESPlorer IDE, puedes subir el código necesario para controlar el LED RGB. Sigue las instrucciones en esta guía.
Siguientes pasos
Una vez que hayas completado este proyecto básico, puedes explorar otras formas de controlar dispositivos con tu ESP8266. ¡Las posibilidades son infinitas!
Conclusión
Este proyecto te muestra lo fácil que es controlar un LED RGB de forma remota con un ESP8266. ¡Esperamos que hayas disfrutado este tutorial y te animes a hacer más proyectos con tu ESP!
¿Tienes alguna pregunta? ¡Déjanos un comentario!
Gracias por leer. Si te ha gustado este artículo, suscríbete a nuestro blog para más contenidos relacionados.
¡Esto es justo lo que necesitaba para mi proyecto de luces LED RGB! ¡Gracias por compartir esta herramienta!
¡Me encanta la idea de poder seleccionar diferentes colores para mis luces LED con el ESP8266! Definitivamente lo voy a implementar en mi próximo proyecto de iluminación. ¡Gracias por la inspiración!
Se ve genial, definitivamente le daré una oportunidad en mi próximo proyecto. ¡Gracias por compartir!
¡Qué interesante! Me gustaría probarlo en mi proyecto de iluminación LED.