问题标签 [fastled]

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.

0 投票
2 回答
647 浏览

c++ - embedXcode 中的代码意义不会突出显示我包含的库的语法

Code-sense 最有效——所有核心 Arduino 类型都正确突出显示。但是没有引用 FastLED 库的类型。

代码感不起作用

我的代码编译得很好。而且,语法在 FastLED.h 中正确突出显示

码感工作

如何在 xCode 中为 Arduino 库使用代码感知功能?

在我的 .ino 文件的顶部,我这样做

我在 OSX 10.9.2 上使用 embedXcode+(专业版)版本 136 运行 XCode 5.1。我检查了 FastLED_2.1 分支,因为 master 不支持我正在使用的板子 Teensy 3.1。

0 投票
2 回答
11525 浏览

loops - 使用 Arduino fastLED 库点亮 LED 灯条的两端

我有一个 60 个 LED 的 LED 灯条(WS2812B)。我有以下代码,它在条带的开头点亮一个 LED 并将其发送到末端,一旦它到达末端,它就会“反弹”并沿着条带返回到开始处。

我想要做的是让 LED 灯条的两端都亮起一个 LED 灯,后面有一条小轨迹,然后这些 LED 沿着灯条向下移动到相对的两端,并在它们相遇时交叉。

我试图弄清楚如何一次运行两行代码,因为目前它以一种方式发送灯,然后运行其他代码。任何帮助,将不胜感激

以下是我到目前为止的代码。

}

0 投票
1 回答
995 浏览

c++ - 你可以在函数中声明一个常量对象吗?

我带了一个学期的 Comp Sci,这里什么都没有。

我需要调用一个常量 int 以用于 FastLED 条带中的 LED 数量。长话短说,我正在尝试替换...

使用我自己的库,我为 LED 灯条创建了一个结构,包含上述信息,由程序的驱动程序文件播种。一切都应该正常工作,但我无法克服第一个错误。例如,包含我的数据的对象是由...构建的

并被司机​​播种为...

简单地说,有没有办法调用一个具有常量值的对象?发生的错误表明 RIGHT.name 不是一个常量变量,并收到“Led.cpp:39: error: wrong number of template arguments (4, should be 3)”或它的一些变体。

请帮忙!如果您需要任何进一步的信息,请告诉我。谢谢!

编辑:添加了更多参考代码:Strip Class

领导班

司机

0 投票
2 回答
607 浏览

c - C 指向函数内部结构数组的指针/引用

在 Arduino 的FastLed库之上创建自定义函数时遇到问题。

需要从函数内部更改LED 阵列、称为 CRGB 的结构drawGradient以设置 LED 的颜色。

函数的指针、引用、参数肯定有问题,但我似乎无法弄清楚如何正确处理。如何正确使用这段代码的指针/引用?

兴趣线

完整代码

0 投票
1 回答
206 浏览

c - 使用 bitbanging 加速串行协议的代码

我想知道是否有任何特别快速的方法可以在微控制器上使用 GPIO 调用(bitbanging)来读取或写入串行协议(例如 SPI)。最快的可能在某种程度上是特定于架构的,但在任何架构上,较少数量的操作可能会更快。假设端口读/写和任何按位整数操作发生在单个 cpu 时钟中是公平的;比较和跳转可能需要几个时钟。

举个简单的例子,考虑使用传统的 SPI 写入一个字节,给定一个带有串行时钟位掩码的端口(寄存器)、miso(输入)、mosi(输出)引脚。要在时钟的下降沿输出 1 位port |= CLOCK|OUTPUT; port &= ~CLOCK;并写入一个字节,需要在循环中对该字节中的每个位执行此操作(输出 0 或 1)。

像这样的东西:

对此的一些优化是显而易见的,例如展开循环。

一些优化可能不是那么明显:是否可以根据要写入的字节(或只是其中的一部分)进行切换,从而避免移位和屏蔽每一位?如何让这个分支免费?如何利用零或一的运行?(在这种情况下不需要改变输出,只需要改变时钟) 一次操作改变输出和时钟怎么样?

使用其中一些技巧的示例(尽可能在一个操作中更改输出和时钟,展开循环,但不是无分支): https ://github.com/FastLED/FastLED/blob/master/fastspi_bitbang.h

0 投票
1 回答
1056 浏览

colors - RGB LED 褪色/过渡库

我正在寻找随着时间的推移颜色转换的算法库。不知何故,我没有找到合适的搜索词来找到适合我需要的库,但是从头开始编写所有内容感觉很愚蠢。我已经取得了很好的进展,但是……真的吗?

这里有一些背景...

我的项目有几个 LED(实际上是几个灯箱,每个灯箱里面都有一堆 RGB LED),我想为这组灯箱创建各种颜色循环模式。某些模式会使所有框同步循环颜色。一些模式可能会在整个集合中开始。

在我的实现中,每种颜色循环“模式”将由一系列颜色和每种颜色之间的持续时间定义。在一天结束的时候,我会有各种各样的图案概念,比如“火”(随机闪烁时间的红色/黄色过渡)、“烟花”(缓慢增长的颜色到疯狂的白色闪烁)等。

驱动整个事情的硬件将是 Arduinos + FastLED 库,所以 C 代码是理想的。

希望这个主题不在 StackOverflow 问答格式之外。

0 投票
0 回答
2863 浏览

c++ - 将 2D 行 col 位置(笛卡尔)坐标转换为 1D 数组索引

因此,我将 FastLED 库与 Arduino(8 位 AVR)一起使用,并且我的 LED 以常规的 2D 网格(蛇形图案)排列。为了生成位图文本和图像,我需要一种将二维笛卡尔坐标转换为物理 LED(阵列索引)地址(第一个 LED 为 0,第二个 LED 为 1...)的方法。我创建了一个函数 display_addr_get ,它可以满足我的需求,但是因为我经常使用它,所以我想知道它是否是最佳的,即我可以让它更快/更简单吗?我知道目前没有错误检查来查看行/列索引是否在一个字节的范围内,所以如果有使用饱和数学的解决方案(比如 qadd8() 将总和限制为 255),那将是理想的。

我的 SRAM 几乎满了,所以我无法在那里实现查找表(用于将 2D 坐标映射到数组地址),而且我不确定将查找表存储在 PROGMEM 中会牺牲多少速度并不断从那里读回数据。

下面的代码演示了我试图通过从左上角到右下角为每个合法行和列值打印数组索引值来实现的目标。

程序输出(注意蛇形图案意味着索引在奇数行上反转,这是由于 LED 的物理连接,因此无法更改):

0 投票
1 回答
793 浏览

c++ - C++ Array Values Not Changing

I am working with FastLED on a Particle Photon in C++ and am trying to assign a new value to one of the elements of the pixel array.

Essentially, I have a array declared as such:

I pass this into an "animation" class I've written in order to change the LED values:

In the animation, I am trying to do something really simple-- set an element of that LED array to some value. For testing, even setting it to a static integer "0" would be fine.

The issue is, the array element is not being set at all. As you can see, this is even inside of the animation class that I am having the issue. I've also tried using (leds*)[i] = 0, but that doesn't have any effect either.

Why is it that the value is not being set in the array?

0 投票
1 回答
737 浏览

c++ - 由于折旧导致的 Arduino FastLED 编译错误

我正在研究一棵 Arduino 控制的圣诞树,里面有 500 个完全可寻址的 LED。我正在使用 FastLED 库,目前(尽管我将更新一些通过采样音频控制的动画)我使用来自http://pastebin.com/Qe0Jttme的代码作为起点。

以下行:(pastebin 示例中的第 36 行)

给我错误:

这是因为它已经贬值了。我在这里找到了一个替代方案,但现在由于折旧也出现以下行错误,但我不知道如何克服它。

返回相同的错误:

我正在使用 Arduino 版本 1.6.6 和最新的 FastLED 库。

0 投票
0 回答
647 浏览

arduino - Arduino 的多个 If 语句

我是这个网站的新手,也是 Arduino 的美妙世界,我一直在玩 Leonardo 板和一些 Neopixel LED(WS2812B)。我目前正在尝试使用单个 Pot 在 LED 上设置预定义的颜色,但也有 PIR 传感器的中断。我正在使用 Fastled 库,因为它很棒,但此时我似乎被困在中断部分。任何指导将不胜感激!