0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

USB NeoPixel装饰灯的制作

454398 来源:wv 2019-10-22 10:55 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

步骤1:接线

USB NeoPixel装饰灯的制作

大多数WS2812板带三线连接器。我卸下了连接器的塑料外壳,然后将电线直接连接到插针上(它们非常合适)。白色是GND,红色是+ 5V,绿色是数据输入。

大多数LED灯带的两端都有额外的电源线。这些导线通常是裸露的,因此请确保将其隔离(否则可能会导致其意外短路)。

请注意,LED需要很多功率。如果有30个LED灯带,则可以直接从任何PC或USB电源以全亮度运行它(它将消耗小于500mA的电流)。大约100个LED在低亮度下也能正常工作,但是如果您想要更多,最好使用单独的电源。对于长条,建议从两端供电,对于长条,建议连接额外的电源线,每个100-200个LED。

WS2812串行接收彩色数据,因此您实际上可以控制任何数量的仅具有一个数据引脚的LED。您可以使用任何数字输出引脚(不要忘记在代码中输入正确的数字)。

一旦连接了插排,就可以进入编码部分。

步骤2:编码

该代码在我的github存储库中可用–您可以将代码下载为单个文件此处:https://goo.gl/abFfxz

要快速入门,请找到 #define PIN 0 ,并将0替换为与NeoPixel的数据输入连接的引脚数

您可能还希望调整其他设置,如代码注释中所述:

#define NUMPIXELS 30 –设置数字像素控制

#define RNDPIN 2 –设置为任何具有模拟输入的引脚(仅用于初始化随机数生成器一次)

#define BRIGHTNESS 64 –最大LED亮度(1到255)。请注意,高亮度需要很多功率,因此从低值开始

#define FOCUS 65 –色斑的形状(增加以获得狭窄的斑点,减少以获得较宽的斑点)

#define DELAY 4000 –设置动画的速度:降低以加快速度,增加以减慢速度(实际上并不是延迟)

#define DEBUG 0 –设置为1以显示FPS速率

使用常规方法上传代码。尽情享受吧!

步骤3:故障排除

如果根本看不到任何东西,请检查连接,极性和数据引脚。

如果某些LED闪烁或卡住–可能是电源问题。尝试降低 #define BRIGHTNESS 设置,并确保您具有足够的功能。

如果您发现代码中有任何错误或想要改进–欢迎您!

第4步:如何工作

对于此项目,我们有三个“色斑”,它们可以向后跑沿着地带以不同的速度前进。当斑点彼此相遇时,红色,绿色和蓝色的叠加会产生各种颜色。我们将每个光斑的位置和速度保持在变量中,我们需要为每个重绘上的每个LED重新计算颜色。虽然我们每秒可以做很多次,但动画看起来会很平滑。

像素的每个颜色分量都与 exp(-d * d)成比例,其中 d 是像素与相应颜色的光点中心之间的距离。换句话说,像素颜色代表正态分布(高斯分布),与在图形编辑器中使用“高斯模糊”滤镜完全相同。

Arduino库中包含的指数函数看起来非常慢,因此我仅使用两个乘法和一个除法进行了近似: 1.0/(1.0-(0.634-1.344 * x)* x)。请注意,此近似值仅适用于 x 《0 。

我们计算循环中每个像素的颜色,并通过调用 strip.setPixelColor将其发送到内存缓冲区。 ()即可。当我们遍历每个像素时,我们调用 strip.show(),NeoPixel库将所有数据同步发送到指定的引脚-所有像素,一个像素一个像素,一个24位彩色数据。 First NeoPixel读取前24位数据,将其本地存储在寄存器中,然后将所有其他数据传递到下一个像素。第二个“像素”获取其数据,并将剩余的数据发送到下一个像素,依此类推,直到每个像素获取其数据。您可以安全地发送少于条带中的LED数量的数据-只有第一个 NUMPIXELS 才可以工作。

该代码已被详细记录(希望!),请询问问题在这里!

第5步:调整

当然,有很多方法可以修改此想法并创建其他项目。

例如,我为我的一个项目制作了一个金属环,并将其中的一条胶粘到其中。现在,这是一个不错的装饰灯,您可以将其放在墙壁或天花板上。在窗玻璃附近放置一个条带可以产生很好的反射效果(如您在照片上看到的那样)。

在技术方面,通过在定点计算中重写数学运算可以大大改善代码。我正在使用float来保持事物的描述性和易于理解,但这非常慢。我可能稍后会发布优化版本,或者,如果有人愿意,欢迎您!

我的另一个想法是使用麦克风调整动画声音。可能需要比ATtiny更强大的功能。

最后,您可以将Digispark插入任何移动电源,并在便携式模式下欣赏您的小工具。将条带粘在手提包,衣服或自行车上,并用作独特的个人配件。)

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • LED灯条
    +关注

    关注

    2

    文章

    100

    浏览量

    13851
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    FZH16 固定花样 6 通道LED流星雨显示效果驱动IC

    的核心优势是 免编程、低成本、即插即用,特别适合以下需求:1. 需要自动流水效果的装饰 LED 产品;2. 简化电路设计的动态光源方案;3. 低功耗电池供电场景(如便携装饰灯)。
    发表于 11-14 09:34

    线性恒流LED驱动芯片SLM510Aac-7G,轻松解决亮度不均难题

    景 标识与装饰照明:商标指示牌、停车场或仓库的指示照明模组 楼宇景观亮化:写字楼、酒店、厂房的轮廓带和线性照明 室内及民用照明:壁灯、吸顶灯的辅助光源或RGB装饰灯带 便携与特种照明:LED手电筒
    发表于 11-13 08:25

    原厂 FZH02 恒流LED驱动芯片 

    功率LED驱动的理想选择。其通过外接电阻设定电流的特性,尤其适合对亮度一致性要求高的照明场景(如RGB带、装饰灯具)。适用场景:· LED带/球泡调光· 便携设备背光驱动· 广告
    发表于 11-11 10:01

    安世半导体推出全新线性LED驱动器系列产品

    安世半导体近期推出了12/16/24通道、每通道100mA驱动能力的线性LED驱动系列产品。该系列产品集成芯片级ASIL-B功能安全,满足车灯系统针对功能安全日渐增加的高要求,非常适用于车外照明中的转向、刹车灯、贯穿式尾灯,以及日间行车灯等信号灯和装饰灯
    的头像 发表于 09-26 17:35 1555次阅读
    安世半导体推出全新线性LED驱动器系列产品

    LED带离线语音控制方案WTK6900P

    在家居装饰以及部分公共空间装饰已LED带经成为了一种主流的灯饰方案,今天我们主要讲的是家居内部空间的带控制,因为公共部分的灯具不适用语音控制,更适合雷达传感类型的产品这个后续我们会
    的头像 发表于 09-15 17:31 695次阅读

    汽车氛围 PCBA 方案开发:从技术底层解析车载光效的核心逻辑

    在汽车智能化浪潮中,氛围已从单纯的装饰件升级为座舱交互系统的重要组成部分。作为一名深耕车载电子领域的工程师,今天想从 PCBA 方案开发的角度,聊聊如何构建稳定、高效且符合车规级要求的氛围
    的头像 发表于 07-29 16:31 495次阅读

    高速信号抗浪涌“神器”,适用于USB 2.0、USB 3.X(Gen1/Gen2)、HDMI

    usb
    jf_15747056
    发布于 :2025年07月23日 19:08:12

    降压线性恒流40V LED恒流驱动芯片H7304B低功耗 无需电感2.5-36V降5V12V

    工况下正常工作,提供持续稳定的照明。 指示与装饰照明:可应用于 LED 指示(如设备状态指示、背光等)、智能球泡、景观亮化照明(如
    发表于 07-21 09:37

    使用CY3014USB芯片组制作了一台相机,视频显示延迟怎么解决?

    我使用 CY3014USB 芯片组制作了一台相机,视频从相机流向计算机,显示屏上显示出精美的图像。 我注意到摄像机前发生的事情和信息在屏幕上更新/流动之间存在延迟。 延迟时间几乎持续 1 秒。 这
    发表于 05-06 09:11

    数能NU501系列恒流芯片型号选型表

    台湾数能科技NU系列的恒流芯片主要适用于LED带,LED条,LED模组,UVC/UVA杀菌,LED照明,LED装饰等应用广泛
    发表于 04-17 13:58 2次下载

    中微爱芯16通道恒流LED阴极PWM驱动电路介绍

    恒流直驱型LED芯片是一种高度集成化芯片,其内部通过结构优化实现了直接连接LED到电源或者地即可工作的特性,内置限流模块无需外接驱动电路或限流元件。通过芯片自身设计实现电流控制,大幅简化外部电路,降低成本与体积,适用于装饰灯带、简易照明等对空间和成本敏感的场景。
    的头像 发表于 04-10 16:41 750次阅读

    三通道24V/60mA八档恒流输出选项线性LED驱动器无需外部电阻输出电流调节

    -40℃~125℃ 具有芯片过温保护功能 具有欠压锁定功能SOT23-6无铅环保封装应用范围: 标识牌、 照明模组(商标、指示牌、仓库存储、停车场等) 楼宇照明(写字楼、厂房) 室内及名用照明( 壁灯、吸顶灯、 RGB装饰灯)  其他工业照明( LED手电筒、工业设备、电子游戏机指示)
    发表于 04-02 10:20

    用安信可Ai-WB2-01S做一个可用网页控制的简易

    /BV1MpX7YiEyd/? 点击查看如何使用网页控制2个led 02个人目的 这次项目是想尝试DIY装饰灯、测试三极管硬件电路、测试和学习web_server和html的API解析过程。 效果:实际使用时,利用WB2
    的头像 发表于 03-26 13:59 662次阅读
    用安信可Ai-WB2-01S做一个可用网页控制的简易<b class='flag-5'>灯</b>

    开源项目!手把手教你制作一个互动式LED墙壁时钟!

    ,再上传最终代码完成你的互动式时钟制作。 请注意安装Neopixel和RTCds1302库,并观看相关视频了解代码的工作原理。到此,你成功完成了自己的互动式LED墙壁时钟! *附件:代码.zip 作者
    发表于 02-08 17:47

    使用伺服机构开发板控制 NeoPixel LED

    [Adafruit]的 [NeoPixel LED 条]! 图 1:Kitronik Simply 伺服机构板。(图片来源:Kitronik) 最近,我有个想法,用我的遥控飞机制作一架夜间飞行器。
    的头像 发表于 01-25 15:04 800次阅读
    使用伺服机构开发板控制 <b class='flag-5'>NeoPixel</b> LED