【问题标题】:How to control adressable RGB leds with raspberryPi in Java如何在 Java 中使用树莓派控制可寻址的 RGB LED
【发布时间】:2021-12-27 22:18:23
【问题描述】:

我有一条 WS2811 可寻址 RGB LED,我正在尝试使用我的树莓派来控制它们。我正在用java编程。 为了访问 GPIO,我使用了一个名为 Pi4j(版本 1.2;java 8)的 java 库。 此版本内置 PWM 控制。

我的问题如下: 如何通过 GPIO 引脚将数据发送到 LED?

(我还是个物理计算的初学者,所以请温柔)

【问题讨论】:

    标签: java raspberry-pi pwm pi4j


    【解决方案1】:

    我之前没有在 Pi 上直接使用过 NeoPixels(尽管我曾多次使用 FadeCandy 这是一个 USB LED 控制器,它也可以进行一些不错的抖动/帧混合)。

    驱动 NeoPixels 不像单个 LED 上的普通 PWM 那样简单。

    有一个很好的Adafruit RaspberryPi NeoPixel wiring/coding tutorial。 关于接线/电源的说明非常有用。尽管代码是用 Python 编写的, 测试/运行仍然有用。

    快速浏览一下 pi4j 文档,虽然它包含所有“成分”,但它没有内置对 NeoPixels 的支持。 快速搜索我发现the diozero library 似乎有support for NeoPixels

    我还没有测试过diozero,但值得一试。

    【讨论】:

    • 是的,它肯定声明它有支持,但我只是在提供的类和示例中找不到它。
    • 嗯,是的,文档可以使用一些细节 :) 尽管如此,也许可以使用 WS281x 类完成一些事情。我会先尝试最简单的构造函数 (WS281x(int gpioNum, int brightness, int numPixels) ;),然后尝试调用 setPixelColour(int pixel, int colour) 将第一个 LED 设置为绿色的“闪烁”测试,然后调用 render() 将像素数据发送到条带,设置绿色LED 关闭,render() 并重复...
    • ...实际上,深入挖掘,尝试运行this test。请务必仔细检查引脚是否与您的配置相匹配(注意测试使用引脚 10,但引脚 18 已被注释掉:它可能是有原因的;)。 HTH
    • 非常感谢,你可能刚刚拯救了我奇怪的程序员的圣诞节!
    • =))) 我的荣幸! (我上次编写 NeoPixels 是去年圣诞节 :)))。当你对灯光感到满意时,分享一张照片!玩得开心!
    猜你喜欢
    • 2013-11-20
    • 2020-12-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-04-29
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多