当前位置:首页 > 物联网 > IoT设计分享
[导读]NeoPixel LED灯条是可编程的RGB LED灯条,可以编程生成任何所需的照明模式。NeoPixel可以在任何组合和亮度下产生多种颜色。它消耗更少的电力,可以通过编程单独解决。在本项目中,我们将学习使用ESP32和Blynk应用程序控制WS2812 NeoPixel LED条。

NeoPixel LED灯条是可编程的RGB LED灯条,可以编程生成任何所需的照明模式。NeoPixel可以在任何组合和亮度下产生多种颜色。它消耗更少的电力,可以通过编程单独解决。在本项目中,我们将学习使用ESP32和Blynk应用程序控制WS2812 NeoPixel LED条。

组件的要求

•25个LED WS2812B新像素LED带

•5V, 2amp电源

•ESP32开发板

•电路试验板

•跳线

WS2812 LED带工作

WS2812 LED灯条是一种可寻址的柔性灯条,在增加美丽的照明效果方面非常有用。这些LED灯带由5050 RGB LED供电,其中内置WS2812 LED驱动器。每个LED消耗60mA电流,可以从5V直流电源供电。它有一个单一的输入数据引脚,可以从微控制器的数字引脚馈送。

特点:

•可单独寻址的RGB led

•每像素1680万色

•单线数字控制

•工作电压:5V DC

•电流要求:每个LED 60mA

•柔性LED结构

•5050 RGB LED与WS2812驱动程序

线路图

WS2812 ESP32的电路图如下:

Blynk应用程序设置与ESP32的新像素

Blynk是一个可以在Android和IOS设备上运行的应用程序,可以使用我们的智能手机控制任何物联网设备。我们可以创建自己的图形用户界面来设计物联网应用程序GUI。我们以前在ESP32上使用Blynk,并使用Blynk构建了许多其他基于物联网的项目。

在安装之前,从Google Play商店下载Blynk应用程序(IOS用户可以从Apple store下载),并使用您的电子邮件id和密码注册。

创建一个新项目:

安装成功后,打开应用程序,点击“新建项目”。然后它将弹出一个新屏幕,我们需要在其中设置项目名称、电路板和连接类型等参数。本项目选择设备为“ESP32 Dev Board”,连接类型为“Wi-Fi”,点击“Create”。

在成功创建项目之后,我们将在注册邮件中获得一个身份验证ID。保存身份验证ID以供将来参考。

创建GUI:

在Blynk中打开项目,单击“+”符号,它将显示许多小部件。在我们的例子中,我们需要一个RGB颜色选择器,它被列为“zeRGBa”和一个按钮,将用于改变LED条的操作模式。

在Widgets中设置参数:

将小部件拖到项目后,现在设置用于将控件值的颜色和模式发送到ESP32的参数。

单击ZeRGBa,然后我们将得到一个名为ZeRGBa设置的屏幕。然后将输出选项设置为“合并”,并将引脚设置为“V2”,如下图所示。同样,在按钮设置中,将输出引脚设置为“V3”,如下图所示。

在Arduino IDE中安装ESP32板

在将代码上传到ESP32之前,我们需要在Arduino IDE中安装板,如果您之前没有这样做的话。ESP32单板的安装步骤如下:

1. 打开Arduino IDE,进入File> Preferences

2. 在“附加板管理器URL”字段中键入,然后单击“确定”。如果在该字段中已经有其他url,则使用逗号(“,”)分隔。

3. 现在转到Tools > Board > Boards Manager。在“单板管理器”窗口的搜索框中输入ESP32,选择espressif系统最新版本的ESP32单板,单击“安装”。

4. 安装完成后,进入“Tools ->Board ->”,选择“ESP32 Dev Module”。现在您可以使用Arduino IDE对ESP32进行编程。

ESP32新像素LED条带控制代码

ESP32 NeoPixel的完整代码在本教程的末尾给出。代码的逐步解释如下所示。

首先,将所有必需的库包含到代码中。打开Arduino IDE,然后转到选项卡Sketch并单击选项Include Library-> Manage Libraries。在搜索框中搜索“Blynk”,下载并安装ESP32版本的Blynk软件包。

这里“Adafruit_NeoPixel.h”用于控制RGB LED条。要包含Adafruit_NeoPixel.h库,请从此链接下载库并使用“include ZIP library”选项包含它。

然后定义LED条中使用的LED的数量,以及用于控制LED参数的PIN号。

在此之后,声明NeoPixel strip对象,其中参数1是NeoPixel strip中的像素数,参数2是使用的ESP32 PIN号,参数3是像素类型标志。

然后,定义网络凭据,如网络SSID和密码。编写您自己的网络凭据来代替ssid[]并传递一个[]数组。在auth[]数组中,写入我们之前保存的Blynk身份验证ID。

在setup()中,串行通信使用函数Serial.begin初始化。在这里,Blynk使用Blynk连接。使用pixels.begin()初始化NeoPixel LED条。

在infinite loop()中,我们使用了blynk .run(),它检查来自blynk GUI的传入命令并相应地执行操作。

这里写入BLYNK_WRITE函数来检查V3和V2虚拟终端的传入数据,然后将它们分配到三个不同的变量中。这里的变量r, g, b表示所选颜色的红,绿,蓝代码的值。然后将这些值发送给用于驱动LED条的函数static1。

Static1()函数用于驱动不同颜色的LED条。在这里,像素。setPixelColor用于按照我们所需的颜色驱动LED

Animation1()函数用于使用led运行自定义动画。不同的动画可以根据用户的选择制作,如下图所示。

用ESP32测试NeoPixel

硬件连接成功完成后,在ESP32中上传完整的代码,您将根据您的程序找到照明的NeoPixels。

本文编译自iotdesignpro

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

中国 上海,2025年8月28日——全球领先的智能传感和发射器解决方案供应商艾迈斯欧司朗(SIX:AMS)今日宣布,其全新UV-C LED在辐射灭菌领域取得重大技术突破,并获得评估认可。

关键字: LED 发射器 光电半导体

在物联网设备数量突破千亿级的今天,开发者对核心芯片的诉求已从单一功能转向“全栈集成+生态协同”。乐鑫科技推出的ESP32凭借其独特的“双核架构+无线双模+开源生态”组合,成为智能家居、工业监控、可穿戴设备等领域的首选方案...

关键字: ESP32 物联网

在LED照明技术向高能效、低电磁干扰(EMI)方向演进的过程中,电流模式控制与动态负载调整算法的协同优化成为突破技术瓶颈的核心路径。本文将从控制架构创新、动态负载补偿机制及EMI抑制策略三个维度,揭示新一代LED驱动器的...

关键字: LED 动态负载调整算法 EMI

在全球倡导节能减排的大背景下,家电产品的能耗问题日益受到关注。电视机作为家庭中使用频率较高的电器之一,其能耗的降低对于节约能源和减少碳排放具有重要意义。LED 驱动技术作为影响电视机能耗的关键因素,正不断发展和创新,为实...

关键字: 驱动技术 能耗 LED

LED是一种能发光的半导体电子元件,这种电子元件早期只能发出低光度的红光,随着技术的不断进步,现在已发展到能发出可见光、红外线及紫外线的程度,光度也有了很大的提高。

关键字: LED

PCB设计在EMI抑制中起着关键作用。合理的布局布线能够有效减少信号的电磁辐射和相互干扰。首先,应将功率电路和控制电路进行物理隔离,避免功率电路中的大电流、高电压信号对控制电路造成干扰。功率器件和电感等高频器件应尽量靠近...

关键字: LED 开关电源

为确保太阳能路灯的稳定工作,建议使用硅酮密封将太阳能路灯组件的接线固定在支架上。在连接路灯部件的线路时,必须遵循正确的顺序,以防止正负连接颠倒导致的短路问题。此外,太阳能路灯灯杆底部的接线应采用适当的密封装置或硅胶进行密...

关键字: LED 路灯

在我们家,WTW已经运行了14年了。它是一种非连接(不在线)的通风机,从房子外面吸收新鲜空气,经过过滤后空运到房子里。新鲜的环境空气是用从房子里大多数房间取出的空气预热的。再加热的能量是通过热交换器从流出的“脏”空气中获...

关键字: Zigbee LED 传感器
关闭