树莓派 RGB 火红树礼帽如何工作?

树莓派 RGB 火红树礼帽如何工作?

这个想法是在循环模拟火焰图像时,将 32x8 flex NeoPixel 矩阵轻轻弯曲到树的顶部。我设计了此 3D 打印框架,将 RGB 矩阵固定在树顶上,并在树顶开了一个切口,通过。 树莓派 (通过 Python 代码) 将火焰的 10 个 JPG 图像 (您可以用自己的图像替换) 转换为显示在 RGB 矩阵上的颜色坐标。通过此项目,您可以循环播放自己的图像,并控制每个图像在 32x8 RGB 矩阵上显示时的暂停时间。

您需要什么

  • 树莓派 3
  • 电源 / 键盘 / 鼠标 / 显示器 / HDMI 电缆 (适用于树莓派)
  • 32x8 柔性 NeoPixel RGB LED 矩阵
  • 跨接线组 (M 到 F , M 到 M 和 F 到 F)
  • 5V 电源,带壁式插头和桶装螺钉终端适配器
  • 1000 µ F 电容器
  • 可选:废布散布 RGB 矩阵
  • RGB 矩阵的 3D 打印帧

第 1 部分:设置 RGB 矩阵

在此步骤中,我们将执行基本的接线并运行 Adafruit 的 NeoPixel Uberguide 提供的示例代码。该项目需要 2 个电源,一个是树莓派的电源,另一个是 RGB Matrix 的电源。幸运的是,为 RGB 矩阵供电可以很简单,就像购买带有墙插的 5V 电源或重新使用旧的 USB 连接器一样。我们将使用 RGB 矩阵中的 2 组连接:1) 功率 2) 数据。

我通过焊接连接从滚动文本面罩教程中重新使用了灵活的 32x8 RGB 矩阵。我用一块热胶将一块碎布附着在矩阵上,以帮助扩散 RGB LED 。

数据连接

1 将树莓派的任何 GND 引脚连接到矩阵上的接地数据线 (M 对 F 线)

2 将 DIN 从矩阵连接到树莓派上的 GPIO 21 。M-F 线)

使用传统 5V 电源适配器的电源连接 (选项 1)

1 安装枪管到螺钉的端子连接器并连接电线。

2 将正极端子 (电源连接) 从 RGB 矩阵连接到桶形连接器的正极端子。

3 将负极端子 (电源连接) 从 RGB 矩阵连接到桶形连接器的负极端子。

4 在枪管连接器的端子上连接一个 1000 µF 电容器。

使用 USB 电缆 Hack 的电源连接 (选项 2)

1 我手头没有 5V 电源适配器,因此决定切断旧 USB 电缆的 microUSB 端,然后剥开电线以露出红色 (电源) 和黑色 (接地) 电线。

2 将正极端子 (电源输入) 从 RGB 矩阵连接到二极管阴极 (带有条纹的一面)

3 将电源的正极端子连接到二极管阳极 (无条纹的一面)。

4 将 RGB 矩阵电源连接的 GND 连接到 USB 电缆的 GND 。

5 焊接连接

现在,我们使用 Adafruit 的测试代码来测试矩阵。

1 引导您的树莓派。如果您还没有 microSD 卡,请参阅我们的文章如何首次设置树莓派或如何进行无头树莓派安装。

2 通过将焊接的 USB 连接器插入墙上适配器或移动电源充电器,将电源连接到 RGB 矩阵 (或插入 5V 墙上适配器

3 打开终端。可以按 CTRL + T 。

4 安装必需的依赖项。

sudo pip3 install rpi_ws281x adafruit python-neopixel 
sudo  python3 -m pip install --force-reinstall adafruit-blinka 

5 克隆我的存储库以获取源代码:

git clone https://github.com/carolinedunn/RGBTreeTopper 

6 导航到 scrollingTextMask 文件夹。

cd RGBTreeTopper 

7 运行测试代码 fillMatrix.py

sudo  python3 32-fillMatrix.py 

如果您的 NeoPixel 矩阵亮起,表示红色,绿色,蓝色,彩虹,恭喜,则您的 RGB 矩阵正在工作,可以继续进行下一步。否则,请返回并排除连接故障。

故障排除提示:如果树莓派上的 GPIO 引脚 21 不起作用,则可以将 GPIO 输出更改为 10 ,12 或 18 。 使用 Geany 或 Thonny (在文件管理器中单击鼠标右键) 从 scrollingTextMask 文件夹中打开 32- fillMatrix.py ,并更新 GPIO 输出。不要按 Geany 或 Thonny 的 Run 按钮。请记住,如果您选择更改 32- fillMatrix.py 中的 GPIO 输出,则在学习本教程时,您将需要对其他文件进行相同的更改。

8 按 Ctrl-C 停止脚本。

第 2 部分:火焰状 RGB 组件

在上一步仍未打开终端的情况下,现在让我们测试功能强大的 Python 代码。

1 运行树礼帽 / 启动 Python 代码。

sudo python3 treeTopper.py 

在您从 Github 克隆的代码中,有一个包含 10 张 JPG 的”fire” 文件夹。

treeTopper.py Python 代码的作用是:

  • 通过指定 GPIO 引脚 21 (第 8 行),告诉 Pi 将数据发送到我们的 RGB 矩阵的位置
  • 指定矩阵的参数尺寸,亮度和每个 JPG 之间的暂停时间。 (第 9-13 行)。
  • 使用来自 10 个 JPG 的数据按顺序创建一个数组 (第 28-32 行)
  • 分析第一个图像中的每个像素并将图像转换为 RGB 矩阵。在 RGB 矩阵上显示图像。 (第 35-41 行)
  • 暂停 0.2 秒然后对下一张图像重复该过程 (第 42 行)
  • 环游直到用户按下 Ctrl-C 。

现在我们了解了代码,可以替换自己的图像了。

1 要创建自己的图像,请 ** 创建一个 32 像素宽, 8 像素高的 JPG 文件,并带有黑色背景。

2 将创建的每个文件保存为 1-10.JPG ,然后保存到树莓派上的文件夹中。

3 使用 JPG 文件的新路径编辑 Python 代码 treeTopper.py 。如果您的 JPG 少于或少于 10 个,请调整 while 循环以适合您创建的图像数量。

开机启动

对 RGB 图像满意后,让我们将 Python 代码设置为在启动时运行。我们将使用 Crontab 方法。

1 在终端中,输入以下内容以打开您的 Crontab

crontab -e 

如果您之前未设置 crontab ,则会看到响应”pi 没有 crontab ,请选择编辑器。”

2 输入 “1”,然后按 Enter 。

3 这将打开一个新的 crontab 文件,向下箭头指向 crontab 文件的底部,然后输入 -> sudo python3 /home/pi/RGBTreeTopper/treeTopper.py

@ reboot sudo python3 /home/pi/RGBTreeTopper/treeTopper.py 

4 按下 Ctrl+X 键,然后按下 y 键保存您的 crontab 。

5 关闭您的 Pi,然后断开装配。

第 3 部分:最终集会

在这一步中,我们很自豪地在圣诞树上展示新的发光 RGB 矩阵。

1 3D 打印支架组件有 2 件。上半部分是 1 个戒指,下半部分有 2 个开口。

2 将 RGB 矩阵中的 USB 连接器和 2 条 M-F 线穿过底部的小孔。

3 将 RGB 矩阵轻轻卷曲成圆柱形状,然后插入底部的凹槽中。

4 将 RGB 矩阵的顶部插入顶部的凹槽中。

5 将圣诞树的顶部穿过底部的中央开口。

6 连接 USB 电源和树莓派的电源。

7 在社交媒体上发布您的出色创作的视频,向朋友展示。 # FlamingRGBTreeTopper 或# MyTreeTopperisLIT

是的,我意识到树梢的形状类似于一卷厕纸。多么适合 2020 年。

分享到