当前位置:首页 > 物联网 > IoT设计分享
[导读]led几乎用于所有的装饰照明,但它们大多数只产生一种颜色。因此,为了创造一个美丽的光模式,使用多色LED条,这不仅消耗更多的电力,而且难以管理。今天我们使用的是新一代LED- NeoPixel,它可以产生1680万种颜色。NeoPixels是可编程的,通过正确的编程,它可以创建许多美丽的照明模式。这里将使用NodeMCU和Blynk应用程序通过互联网控制NeoPixel LED条的颜色和亮度。Blynk是一个智能手机应用程序,使用它我们可以通过智能手机控制任何基于物联网的应用程序。

led几乎用于所有的装饰照明,但它们大多数只产生一种颜色。因此,为了创造一个美丽的光模式,使用多色LED条,这不仅消耗更多的电力,而且难以管理。今天我们使用的是新一代LED- NeoPixel,它可以产生1680万种颜色。NeoPixels是可编程的,通过正确的编程,它可以创建许多美丽的照明模式。这里将使用NodeMCU和Blynk应用程序通过互联网控制NeoPixel LED条的颜色和亮度。Blynk是一个智能手机应用程序,使用它我们可以通过智能手机控制任何基于物联网的应用程序。

组件的要求

•WS2812b LED带- 1米

•5V, 2amp电源

•ESP8266 NodeMCU

•LED带状连接器

WS2812新像素LED带工作

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

特点:

•可单独寻址的RGB led

•每像素1680万色

•单线数字控制

•工作电压:5V DC

•电流要求:每个LED 60mA

•柔性LED结构

•5050 RGB LED与WS2812驱动程序

连接图:

NeoPixel NodeMCU的电路图如下:

下图显示了NeoPixel ESP8266的设置

用于控制新像素的Blynk应用程序设置

Blynk是一款运行在Android和IOS设备上的应用程序,可以使用智能手机控制任何基于物联网的应用程序。我们以前使用Blynk与NodeMCU和树莓派来控制LED,也使用Blynk应用程序建立一个气象站。它允许您为物联网应用程序创建图形用户界面。在这里,我们将设置Blynk应用程序,使用NodeMCU ESP8266通过Wi-Fi控制NeoPixel LED。

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

创建一个新项目:

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

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

创建GUI:

在Blynk中打开项目,单击“+”符号来添加控件来控制NeoPixel。在我们的例子中,我们需要一个RGB颜色选择器,它被列为“zeRGBa”和一个滑块,将用于LED条的亮度控制。

在Widgets中设置参数:

在拖动小部件之后,它们现在设置用于将颜色和亮度值发送给NodeMCU的参数。

点击ZeRGBa,进入ZeRGBa设置,将输出选项设置为“合并”,将引脚设置为“V3”,如下图所示。类似地,在滑块设置中,将输出引脚设置为“V2”。

编程NodeMCU使用Wi-Fi控制NeoPixel

成功完成Blynk应用程序设置后,现在使用Arduino IDE在NodeMCU中上传代码。

要用Arduino IDE编程NodeMCU,请进入File - > preferences - >Settings。

在“附加板管理器URL”字段中输入,然后单击“确定”。

现在转到Tools > Board > Boards Manager。

在板管理器窗口中,在搜索框中输入esp, esp8266将在下面列出。现在选择最新版本的电路板并单击install。

安装完成后,进入“工具>单板> NodeMCU 1.0(ESP-12E模块)”。现在您可以使用Arduino IDE对NodeMCU进行编程。

完整的代码连同视频在最后给出。代码的逐步解释如下所示。

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

要包含FastLED.h库,请从这里下载库并使用include ZIP library选项包含它。

现在,在代码中定义所有参数,如使用的LED数量,LED类型和颜色顺序。另外,定义RGB LED的数据输入引脚连接的数据引脚D1。然后,在ssid[]中定义您的Wi-Fi用户名和密码,并传递一个数组[]。在auth[]数组中,写入我们之前保存的Blynk身份验证ID。

在setup()函数中,使用serial初始化串行通信。使用Blynk.begin开始并连接到Blynk云。另外,使用FastLED.addLeds设置LED的类型和数量。

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

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

Static1()函数用于驱动LED灯条,控制LED灯条的亮度。和FastLED。setBrightness用于设置LED的亮度。同样FastLED。显示功能用于根据需要的颜色驱动LED。

使用Arduino IDE将完整的代码上传到NodeMCU后,您可以在Blynk移动应用程序中控制NeoPixels LED条的颜色和亮度,如下图所示。

本文编译自iotdesignpro

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

LED驱动电源的输入包括高压工频交流(即市电)、低压直流、高压直流、低压高频交流(如电子变压器的输出)等。

关键字: 驱动电源

在工业自动化蓬勃发展的当下,工业电机作为核心动力设备,其驱动电源的性能直接关系到整个系统的稳定性和可靠性。其中,反电动势抑制与过流保护是驱动电源设计中至关重要的两个环节,集成化方案的设计成为提升电机驱动性能的关键。

关键字: 工业电机 驱动电源

LED 驱动电源作为 LED 照明系统的 “心脏”,其稳定性直接决定了整个照明设备的使用寿命。然而,在实际应用中,LED 驱动电源易损坏的问题却十分常见,不仅增加了维护成本,还影响了用户体验。要解决这一问题,需从设计、生...

关键字: 驱动电源 照明系统 散热

根据LED驱动电源的公式,电感内电流波动大小和电感值成反比,输出纹波和输出电容值成反比。所以加大电感值和输出电容值可以减小纹波。

关键字: LED 设计 驱动电源

电动汽车(EV)作为新能源汽车的重要代表,正逐渐成为全球汽车产业的重要发展方向。电动汽车的核心技术之一是电机驱动控制系统,而绝缘栅双极型晶体管(IGBT)作为电机驱动系统中的关键元件,其性能直接影响到电动汽车的动力性能和...

关键字: 电动汽车 新能源 驱动电源

在现代城市建设中,街道及停车场照明作为基础设施的重要组成部分,其质量和效率直接关系到城市的公共安全、居民生活质量和能源利用效率。随着科技的进步,高亮度白光发光二极管(LED)因其独特的优势逐渐取代传统光源,成为大功率区域...

关键字: 发光二极管 驱动电源 LED

LED通用照明设计工程师会遇到许多挑战,如功率密度、功率因数校正(PFC)、空间受限和可靠性等。

关键字: LED 驱动电源 功率因数校正

在LED照明技术日益普及的今天,LED驱动电源的电磁干扰(EMI)问题成为了一个不可忽视的挑战。电磁干扰不仅会影响LED灯具的正常工作,还可能对周围电子设备造成不利影响,甚至引发系统故障。因此,采取有效的硬件措施来解决L...

关键字: LED照明技术 电磁干扰 驱动电源

开关电源具有效率高的特性,而且开关电源的变压器体积比串联稳压型电源的要小得多,电源电路比较整洁,整机重量也有所下降,所以,现在的LED驱动电源

关键字: LED 驱动电源 开关电源

LED驱动电源是把电源供应转换为特定的电压电流以驱动LED发光的电压转换器,通常情况下:LED驱动电源的输入包括高压工频交流(即市电)、低压直流、高压直流、低压高频交流(如电子变压器的输出)等。

关键字: LED 隧道灯 驱动电源
关闭