问题标签 [neopixel]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c++ - Arduino DigiSpark NeoPixel 蓝牙 C++ 缓冲区溢出
经过大约一周的桌面敲击后,我能够编写以下代码,它确实有效。问题是它的响应速度不快,大多数时候我不得不向手机上的按钮发送垃圾邮件,一遍又一遍地发送相同的命令,直到它赶上。
你能帮我清理一下代码吗?
正如您将看到的,有时我似乎过于复杂的事情,但这只是因为我发现它以这种方式工作得更好,而不是看起来更“合乎逻辑”的简单版本。我将编写代码,然后我将解释并提出我的问题。
所以我正在做的是我从手机发送一个代码,例如: <1,255,255,255,100,100> 它被void recvWithStartEndMarkers()
解析后被拾取,然后所有值都被存储为 INTvoid parseData()
在我得到的循环内部void checkLedData()
调用上面的 2 个函数,并根据第一个 INT 激活或停用这些布尔值,然后我void runLED()
检查哪些布尔值是真的并开始闪烁 LED
起初我让开关被激活INT eFx
但由于某种原因它工作得非常糟糕所以我决定使用这部分代码来翻转布尔值,在 runLED() 你会注意到我不断地调用这个发挥作用recvWithStartEndMarkers();
,因为这是让董事会真正做出回应的唯一方法。
我不确定发生了什么,我相信它是由于缓冲区溢出问题而起作用的,它崩溃了然后它可以接受一个新命令,第一个版本在它接受了 1 个命令之后就卡住了,它的 void colorWipe
工作方式是Leds 会打开和关闭,切换颜色等等,但是当我试图改变效果或颜色时,它根本没有响应。
我在这之前使用的下一个代码:
现在这是非常敏感的,但问题是它会通过void controlLed()
一次并停止,而如果我在外部调用相同的函数recvWithStartEndMarkers();
,它会进入循环,就像我想要导致我试图产生循环效果一样。
有谁知道我可以做些什么来使其响应但仍然循环功能以制作“灯光秀”?
现在我发布了我在想的所有这些,不确定 arduino 是否是多任务处理我想知道 ATtiny85 是否是多任务处理,所以这可能是问题所在,它正忙于处理代码,以至于它不会在串行上监听进来的内容,有什么办法可以解决吗?
c++ - 如何适当地调用构造函数并传递对象?
我有以下代码,但它有问题。它可以编译,但 NeoPixel 矩阵上没有任何反应。我已经加载了一个链测试以验证硬件是否正常工作。通过一些手动调试,我发现包含PixelArt art = PixelArt(matrix);
触发问题的行。如果我将其注释掉,我会按预期从光矩阵中发出一束橙色光。把它放回去只会导致黑暗。
包括那一行会引起问题怎么办?我是 C++ 新手,这让我很难受。
对于某些代码上下文,我计划包含更多模式,每个模式都有一系列子模式。PixelArt 将展示不同的像素艺术图片作为其子模式。其他模式将包括不同的动画模式。不同的模式都应该共享对同一个矩阵对象的引用。
python - 我想在 Python 中更改有关 neopixel 的 Raspberry Pi 代码
我想将上面的代码更改为以下格式。
我应该如何改变空白?或者我应该如何更改代码?
python - 24 位颜色解码帮助 (python)
从我的角度使用 LED 灯条,我使用函数 Color(0-255, 0-255, 0-255) 用于 rgb,该函数编码为 24 位颜色并写在下面
后来我用另一个函数检索这个 24 位颜色,我需要将它解码回 (0-255, 0-255, 0-255) 我不知道该怎么做......
我使用了打印功能来查看发生了什么
一个像素(红色 0,绿色 255,蓝色 0)返回 16711680
一个像素(红色 255,绿色 0,蓝色 0)返回 65280
一个像素(红色 0,绿色 0,蓝色 255)返回 255,这对我来说很有意义
我如何才能有效/快速地解码(在 rpi 零 w 上运行)必须在 python 中
arduino - 褪色的 Adafruit neopixels
我想为我的走廊创建一个运动控制的夜灯。对于我的项目,我有
- 阿杜诺
- 红外传感器
- WS2812b RGBW灯条
- 用于驱动 LED 的 5V 移动电源
在修改了我的灯带后,我设法让 LED 亮起并淡出到低红色,然后延迟一段时间,最后淡出到它们关闭的点。据我了解 Neopixel 库,最大光强度的值为 255。但是,当我们谈论夜灯时,我估计小于 20 的值足以照亮我的走廊。(我应该注意到,我看到很多建议在 LED 灯条前面放置一个电阻器,在电源上放置一个电容器 - 这会影响强度吗?)因此,光不会平滑地消失/关闭,而是通过关闭之前的较低强度 - 这看起来不太令人愉快......因此我的问题是您是否知道任何方法可以创建更平滑的淡入淡出?以下是我到目前为止的代码。
理想情况下,我希望能够规定 LED 淡入/淡出需要多长时间。
提前致谢
python - esp8266 - micropython - neopixel。当下一个前进时,我如何关闭前一个 LED?
我正试图让被带领的人像秒针一样前进。
但我认为我的代码不是一个好主意。
python - 有没有办法使用 jgarff 的库一次将整个 Neopixel Led 条设置为一种颜色
我想知道是否有一种方法可以使用 Jgarff 的库一次将整个 WS2812B Led 灯条设置为一种颜色?
我知道我可以使用这段代码:
但我有 864 个 LED,因此 Raspberry Pi 需要 30 秒才能将所有 LED 设置为给定颜色。
所以我搜索了像 strip.fill 这样的命令或类似的命令,但我没有找到任何东西。那么 for 循环是否有命令或修复?
我很感谢您的任何意见。
示例1
python - Neopixel 在运行动画时改变亮度
我正在使用 jgarff 的 Neopixel库来控制我的 Neopixel LED 灯条,并且我想在动画运行时更改亮度。
在我使用的库中,没有刷新亮度的命令,但有一个初始化 LED 灯条的命令。
我尝试使用多线程创建一个循环,每 50 毫秒重新初始化一次 LED 灯条,然后更改 LED_BRIGHTNESS 变量,但是动画并不流畅,只有重新初始化 LED_BRIGHTNESS 变量会给我一个错误。
有人知道我该如何解决这个问题吗?
我很感激任何答案。
python - Neopixel LED 库
我正在尝试为 Neopixel Led 灯条创建自己的库,因为没有具有我需要的功能的库,我想知道 LED 是如何工作的。在 LED 的数据表中,我发现我必须以方波的形式发送 24 位 GRB 颜色值,并在 24 位之间暂停 50us。
https://i.stack.imgur.com/SG30f.png
现在我想知道如何在树莓派的帮助下将那些 24 位 GRB 颜色转换为方波。
Example01
我在控制台上得到这个输出:
pi@raspberrypi:~/库测试 $ sudo python3 LED_testing.py
LED_testing.py:9: RuntimeWarning: 这个频道已经在使用,继续。使用 GPIO.setwarnings(False) 禁用警告。GPIO.setup(18, GPIO.OUT)
条带是红色的
pi@raspberrypi:~/库测试 $
示例02
控制台输出:pi@raspberrypi:~/Libary testing $ sudo python3 LED_testing.py
LED_testing.py:7: RuntimeWarning: 这个频道已经在使用中,继续。使用 GPIO.setwarnings(False) 禁用警告。GPIO.setup(18, GPIO.OUT) 条为白色
pi@raspberrypi:~/库测试 $
python - 尝试使用触觉开关更改 Neopixel 动画
我想通过单击触觉开关来更改 NeoPixel 条上的动画。我正在使用 Raspberry Pi 并已正确连接开关和灯条。
- 点击 1:开启
- 点击2:第一个动画
- 点击3:第二个动画
- 点击4:第三部动画
- ETC...
- 点击 8:所有 LED 熄灭
我正在努力让 pi 记录点击次数和运行动画。
按下按钮时,pi 当前正在激活 Comet 动画。之后,下一次按下不会激活下一个动画。
如果我可以提供任何进一步的信息,请告诉我。