评论
我想我修好了。还有另一个问题,#123,奇怪的问题出现基于沟通。解决方案是使用包含延迟的不同 NeoPixel 库。 Platformio.ini 已更改为注释掉 Adafruit Neopixel 并添加 我将 .pio\libdeps\STM32F103RC_btt_512K\Adafruit NeoPixel\Adafruit_NeoPixel.cpp 更改为具有 delay.h,在我的例子中,相对路径是 不确定这是否应该在 master 分支中解决,或者这是否是一个罕见的问题。 |
您将在 Platformio.ini 中的哪个位置添加“ https://github.com/bigtreetech/Adafruit_NeoPixel ”以及您要从 lib_ignore 中删除 adafruit neopixel 的哪一行?我在 PLatformio.ini 中有 22 个 lib_ignores。 感谢您提供任何信息。 |
“通用”值用于大多数 Marlin 构建[常见] MEEB_3DP(带 512K 的 STM32F103RCT6)[env:STM32F103RC_meeb] |
@ericsnis我遇到了同样的问题,感谢您指出修复方法。经过数小时的研究,我可以确认我的 Neopixels 终于按预期工作了。谢谢你! |
这解决了我在初始启动颜色后颜色关闭的问题。我使用的是官方 Adafruit 8 NeoPixel RGBW 条带。谢谢! |
我的 SKR 1.4 上的 M150 也有同样的问题。 我能够通过在第一个像素之前的数据线上添加一个 330ohm 电阻来纠正它,这可能表明数据线中存在一些噪声导致像素出现信号问题。 |
这是我生命中的最后三天……固定 – 排序 – 完成 – 工作。我一看到“红、绿、蓝”,就知道斗争结束了。它是Adafruit_NeoPixel.cpp 中的 #include 路径。 图书馆 – Adafruit NeoPixel= https://github.com/CommandoreBombardiero/Adafruit_NeoPixel/archive/master.zip。我还必须使用#define NEOPIXEL_TYPE NEO_GRB非常非常感谢!BTT SKR mini E3 V2.0 |
在 SKR E3 mini 1.2 上有同样的问题,@monstis解决方案修复了它,非常感谢。 |
在 Marlin 2.0.7 的 [features] 部分替换 |
你好呀!我试过 Marlin 2.0.7.1,目前 NEOPIXEL 无法在我的 1.2 SKR Mini E3 上运行 我有
并注释掉 SanityCheck.h。 我收到一条失败的编译消息:
我的
有谁克服了这个? 谢谢! 附言: 如果我在 platformio.ini 中使用以下内容, |
大家好。它最终在以下工作@monstis发布并进行更改@DominikMaga指着。 到目前为止,我一直在使用 谢谢! |
我相信“bigtree tech”和官方“Marlin Adafruit NeoPixel”版本不能很好地与 STM32F103RC 板配合使用。’CommandoreBombardiero’ 链接最适用于最新版本的 marlin (2.0.7) 我已经在我的 SKR Mini E3 V1.2 和 V2.0 上设置并运行良好。我无论如何都不是专家。我不能相信解决方案。这个线程是我找到它的地方。唯一不起作用的是成功打印后的(事件)绿灯。它适用于 SD 卡……而不是来自 octoprint。这是意料之中的。我使用 M150 命令在最后的 gcode 中将像素变为绿色。(M150 U125 I255) |
描述
我在使用 NeoPixels 时遇到了一些麻烦。它们似乎可以工作,只是当我发出 M150 命令时它们不会关闭。
我在 SKR mini E3 1.2 板上添加了Adafruit NeoPixel 8 LED 棒。LED 由 NeoPixel 接头上的 5V 供电,根据说明这是可以接受的。LED 循环通过通电测试(红色 -> 关闭 -> 绿色 -> 关闭 -> 蓝色 -> 关闭)。通电测试后 LED 全部熄灭,所以我知道它们确实是通过电路板发送的某些命令关闭的。我还可以使用 M150 将颜色设置为我需要的颜色,但我无法将其关闭。发出不带任何选项的 M150 命令会关闭大约一半的 LED,但将其余 LED 设置为看似随机的颜色。
我还尝试使用 M150 B255 P0 R255 U255 将亮度专门设置为 0,并将所有三个颜色分量设置为零。在每种情况下,灯都不会关闭。这些灯显然可以关闭,因为它们会在通电测试后关闭。我猜 M150 的处理有些奇怪,所以它没有向芯片发送适当的数据。
我正在使用 Marlin 2.0.5.3。来自 GitHub,在 configuration.h 中使用默认的 NeoPixel GRB 选项编译,只需更改引脚号和像素数。
LED 芯片是 WS2812B,它是 RGB,而不是 RGBW。NeoPixel 棒上有电容器,因此应该满足要求。
重现步骤
预期行为
NeoPixels 应该在没有选项的 M150 命令后关闭。
实际行为
发出 M150 命令时会出现随机 NeoPixel 颜色。
附加信息
Configuration.h 是
`//#define RGB_LED
//#define RGBW_LED
#if EITHER(RGB_LED, RGBW_LED)
//#define RGB_LED_R_PIN 34
//#define RGB_LED_G_PIN 43
//#define RGB_LED_B_PIN 35
//#define RGB_LED_W_PIN -1
#endif
// 支持 Adafruit Neopixel LED 驱动器
#define NEOPIXEL_LED
#if ENABLED(NEOPIXEL_LED)
#define NEOPIXEL_TYPE NEO_GRB // NEO_GRBW / NEO_GRB – 四/三通道驱动器类型(在 Adafruit_NeoPixel.h 中定义)
#define NEOPIXEL_PIN PC7 // LED 驱动引脚
/ /#define NEOPIXEL2_TYPE NEOPIXEL_TYPE
//#define NEOPIXEL2_PIN 5
#define NEOPIXEL_PIXELS 8 // 条带中的 LED 数量,如果使用 2 个 neopixel 条带,则为 2 个条带中较大的一个
#define NEOPIXEL_IS_SEQUENTIAL // 温度变化的顺序显示 – LED 逐个 LED。禁用一次更改所有 LED。
#define NEOPIXEL_BRIGHTNESS 127 // 初始亮度 (0-255)
#define NEOPIXEL_STARTUP_TEST // 启动时循环显示颜色
// 使用单个 Neopixel LED 进行静态(背景)照明
// #define NEOPIXEL_BKGD_LED_INDEX 4 // 要使用的 LED 的索引
// #define NEOPIXEL_BKGD_COLOR { 255, 255, 255, 0 } // R, G, B, W
#endif`