原创 为卧室制作一台Wi-Fi控制的RGB LED情趣灯

2022-1-6 11:37 1825 16 16 分类: 智能硬件 文集: 方案
1111MicrosoftInternetExplorer402DocumentNotSpecified7.8 磅Normal0

本项目利用ESP8266芯片可利用Wi-Fi连接,通过智能手机或其他带有浏览器的终端设备遥控RGB LED情趣灯的颜色,是一个成本不到10美元的DIY项目。

动手之前,我们需要了解ESP8266RGB LED相关信息,如RGB LED工作原理,ESP8266 RGB颜色选择器,带NodeMCUESP8266网页服务器,NodeMCU固件刷新等

本项目BOM如下:

(1)1x ESP8266-12E Wi-Fi开发板

(2)1x RGB LED灯串

(3)1x 12V电源:

(4)将电压从12V降低到5V稳压转换器等带散热片LM7805放大器(可选)、步降稳压器(推荐)、3x NPN晶体管2N2222或替代品、3x 1k欧姆电阻器、1x 面包板、跳线、貌似情趣灯的台灯、白色灯泡。

 

1. 刷新ESP8266模块的NodeMCU固件

NodeMCU是一个固件,允许通过LUA script脚本对ESP8266模块进行编程,具体方法与在Arduino上编程类似。

NodeMCU编程比较简单,只需几行代码就能建立一个WiFi连接,控制ESP8266 GPIOs,将ESP8266配置成web网页服务器。

ESP8266模块电路的连接参数如下:

RX -> TX

TX -> RX

CH_PD -> 3.3V

GPIO 0 -> GND

VCC -> 3.3V

GND -> GND

 

按照电路原理图连接ESP8266模块后,下载Windows版本的NodeMCU Flasher刷新器。这实际上是一个 .exe 文件,打开它就出现一个小窗口,按刷新键“Flash”就立即开始刷新操作。当然,操作之前也可以点选Advanced标签,改变某些参数和设置。

完成上述操作,就会出现一个带有检查按钮的绿色圆圈。

 

2. 下载ESPlorer IDE

 

建议使用ESPlorer IDE下载。使用这个由4refr0nt开发的程序,可将指令发送到ESP8266芯片,具体下载及安装程序由乐鑫官网提供。

ESPlorer IDE安装完成后,会弹出一个上传代码的窗口,按照以下指令就可以上传文件了:

1)将内置编程器的ESP8266-12E电脑连接。

2)选择ESP8266-12E端口。

3)按 Open/Close 选项。

4)选择NodeMCU+MicroPtyhon标签。

5)创建一个名为“ init.lua ”的文件。

6)点选 Press Save to ESP 选项。

 

注意,上传的代码文件名必须是init.lua”,务必牢记自己的网络名(SSID)和密码。

如下脚本创建于2016年,只适合早期的Lua固件版本。如果运行新版Lua firmware,必须使用 ESP8266_RGB_Color_Picker_New.lua脚本:

 

-- Rui Santos

-- Complete project details at https://randomnerdtutorials.com

 

wifi.setmode(wifi.STATION)

wifi.sta.config("REPLACE_WITH_YOUR_SSID","REPLACE_WITH_YOUR_PASSWORD")

 

print(wifi.sta.getip())

 

function led(r, g, b)

    pwm.setduty(5, r)

    pwm.setduty(6, g)

    pwm.setduty(7, b)

end

pwm.setup(5, 1000, 1023)

pwm.setup(6, 1000, 1023)

pwm.setup(7, 1000, 1023)

pwm.start(5)

pwm.start(6)

pwm.start(7)

 

srv=net.createServer(net.TCP)

srv:listen(80,function(conn)

    conn:on("receive", function(client,request)

        local buf = "";

        buf = buf.."HTTP/1.1 200 OK\n\n"

        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.."";

        buf = buf.."";

        buf = buf.."";

        buf = buf.."";

        buf = buf.."";

        buf = buf.."";

        buf = buf.."";

        buf = buf.."

ESP Color Picker

";       

        buf = buf.."Change Color ";

        buf = buf.."

";

        buf = buf.."";

        

        if(_GET.r or _GET.g or _GET.b) then

            led(_GET.r, _GET.g,_GET.b)

        end

        client:send(buf);

        client:close();

        collectgarbage();

    end)

end)

 

3. 连接电路

 

按照电路图,把ESP8266-12E Wi-Fi开发板、RGB LED灯串、12V电源、NodeMCU四个组件连接起来。

 


 

 重启ESP8266系统将自动列印你的序列号和ESP IP地址。保存该IP地址,以备后用。本项目ESP IP地址为192.168.1.105



接下来打开浏览器,并输入自己ESP8266IP地址,你将会看到:

RGB color picker main selecting color

单击输入字段,会开启一个带有颜色的选择器小窗口,用鼠标选择器为你的 RGB LED 脚本选择一个颜色。

 


最后,选择Change Color”按钮。


 

现在,你就可以将自己制作这个Wi-Fi控制三色LED情趣灯搬进卧室了。

作者: 硬之城Allchips, 来源:面包板社区

链接: https://mbb.eet-china.com/blog/uid-me-3975615.html

版权声明:本文为博主原创,未经本人允许,禁止转载!

PARTNER CONTENT

文章评论0条评论)

登录后参与讨论
EE直播间
更多
我要评论
0
16
关闭 站长推荐上一条 /3 下一条