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

    文章

    99

    浏览量

    13096
收藏 人收藏

    评论

    相关推荐

    单片机USB-ISP下载线制作

    电子发烧友网站提供《单片机USB-ISP下载线制作.doc》资料免费下载
    发表于 11-16 15:37 2次下载
    单片机<b class='flag-5'>USB</b>-ISP下载线<b class='flag-5'>制作</b>

    如何写一个简单的装饰

    今天介绍的是一个已经存在十三年,但是依旧不红的库 decorator,好像很少有人知道他的存在一样。 这个库可以帮你做什么呢 ? 其实很简单,就是可以帮你更方便地写python装饰器代码,更重
    的头像 发表于 11-01 09:54 271次阅读
    如何写一个简单的<b class='flag-5'>装饰</b>器

    Python 自制简单实用的日志装饰

    在写代码的时候,往往会漏掉日志这个关键因素,导致功能在使用的时候出错却无法溯源。 其实,只需要写一个非常简单的日志装饰器,我们就能大大提升排查问题的效率。 1.简陋版装饰器 写一个装饰器非常简单
    的头像 发表于 10-31 15:05 314次阅读
    Python 自制简单实用的日志<b class='flag-5'>装饰</b>器

    装饰器模式和代理模式的区别

    什么是装饰器模式 装饰器模式(Decorator Pattern): 在不改变对象自身的基础上,在程序运行期间给对象动态的添加职责; 感觉和继承如出一辙,不改变父类,子类可拓展功能; 优点 装饰
    的头像 发表于 10-08 14:25 502次阅读
    <b class='flag-5'>装饰</b>器模式和代理模式的区别

    NeoPixel圣诞树的构建

    电子发烧友网站提供《NeoPixel圣诞树的构建.zip》资料免费下载
    发表于 07-11 16:58 0次下载
    <b class='flag-5'>NeoPixel</b>圣诞树的构建

    嵌入式NeoPixel LED圣诞树开源构建

    电子发烧友网站提供《嵌入式NeoPixel LED圣诞树开源构建.zip》资料免费下载
    发表于 07-10 16:52 0次下载
    嵌入式<b class='flag-5'>NeoPixel</b> LED圣诞树开源构建

    使用Adafruit NeoPixel环的模型灯塔

    电子发烧友网站提供《使用Adafruit NeoPixel环的模型灯塔.zip》资料免费下载
    发表于 07-06 14:24 0次下载
    使用Adafruit <b class='flag-5'>NeoPixel</b>环的模型灯塔

    自制一个USB供电的桌面装饰LED灯

    我们大多数人都喜欢装饰我们周围的事物,让它看起来更好。事实上,有吸引力的环境可以在很大程度上设置和启发情绪。改编这个想法并使用这种设计,您可以使用LED在工作场所,家庭等中进行桌面装饰。关于设计的最佳之处在于它的力量来源。它使用USB
    的头像 发表于 06-29 16:58 1034次阅读
    自制一个<b class='flag-5'>USB</b>供电的桌面<b class='flag-5'>装饰</b>LED灯

    NeoPixel Lightsabers带派对模式——Arduino控制

    电子发烧友网站提供《NeoPixel Lightsabers带派对模式——Arduino控制.zip》资料免费下载
    发表于 06-26 10:09 0次下载
    <b class='flag-5'>NeoPixel</b> Lightsabers带派对模式——Arduino控制

    PC中的音频频谱反应式NeoPixel

    电子发烧友网站提供《PC中的音频频谱反应式NeoPixel.zip》资料免费下载
    发表于 06-25 15:48 0次下载
    PC中的音频频谱反应式<b class='flag-5'>NeoPixel</b>

    手势控制NeoPixel LED游戏

    电子发烧友网站提供《手势控制NeoPixel LED游戏.zip》资料免费下载
    发表于 06-19 14:54 0次下载
    手势控制<b class='flag-5'>NeoPixel</b> LED游戏

    DIY一个装饰灯

    每个人都喜欢玩 LED,事实上它是电子产品中最有趣的组件。因此,如果您是其中之一,我们有一个LED装饰灯电路,它说明了以5 x 5矩阵形式连接的LED,只需三个IC(一个25和两个555)和4017个晶体管即可对多达10个LED进行排序。通过使用100计数器的连续级,该电路可扩展至4017 LED。
    的头像 发表于 06-16 17:49 1041次阅读
    DIY一个<b class='flag-5'>装饰灯</b>

    适用于Arduino的Adafruit NeoPixel Shield

    电子发烧友网站提供《适用于Arduino的Adafruit NeoPixel Shield.zip》资料免费下载
    发表于 06-09 10:27 0次下载
    适用于Arduino的Adafruit <b class='flag-5'>NeoPixel</b> Shield

    在适用Arduino的Adafruit NeoPixel Shield上显示文本

    电子发烧友网站提供《在适用Arduino的Adafruit NeoPixel Shield上显示文本.zip》资料免费下载
    发表于 06-09 10:24 0次下载
    在适用Arduino的Adafruit <b class='flag-5'>NeoPixel</b> Shield上显示文本

    Nodemcu 0.9对比arduino Nano for Neopixel谁是赢家?

    大家好, 为了准备在家里制作真正的运动感应楼梯,我制作了一个原型。我正在决定是使用 arduino Nano(或任何其他 arduino)还是 Esp 来驱动 LED。偏好 Esp 8266
    发表于 05-23 07:13