From b9f4dff71a6b8aafd815d71ed068c4beb7103141 Mon Sep 17 00:00:00 2001 From: Songling Gu <1563156662@qq.com> Date: Fri, 16 Dec 2022 00:41:49 +0800 Subject: [PATCH] =?UTF-8?q?Create=2020221126.2=20=E2=AD=90=EF=B8=8F?= =?UTF-8?q?=E2=AD=90=EF=B8=8F=20Create=20a=20holiday=20light=20display=20w?= =?UTF-8?q?ith=20your=20Raspberry=20Pi=20and=20ping=20pong=20balls.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...play with your Raspberry Pi and ping pong balls.md | 129 ++++++++++++++++++ 1 file changed, 129 insertions(+) create mode 100644 translated/tech/20221126.2 ⭐️⭐️ Create a holiday light display with your Raspberry Pi and ping pong balls.md diff --git a/translated/tech/20221126.2 ⭐️⭐️ Create a holiday light display with your Raspberry Pi and ping pong balls.md b/translated/tech/20221126.2 ⭐️⭐️ Create a holiday light display with your Raspberry Pi and ping pong balls.md new file mode 100644 index 0000000000..303c5388ae --- /dev/null +++ b/translated/tech/20221126.2 ⭐️⭐️ Create a holiday light display with your Raspberry Pi and ping pong balls.md @@ -0,0 +1,129 @@ +[#]: subject: "Create a holiday light display with your Raspberry Pi and ping pong balls" +[#]: via: "https://opensource.com/article/22/11/raspberry-pi-holiday-light-display" +[#]: author: "Brian McCafferty https://opensource.com/users/bdm" +[#]: collector: "lkxed" +[#]: translator: "Return7g" +[#]: reviewer: " " +[#]: publisher: " " +[#]: url: " " + +利用树莓派和乒乓球制作一个假日彩灯 +====== + +我喜欢圣诞装饰品和灯饰,因此很长一段时间以来我一直想做一个可编程的 LED 项目。最近,我制作了一个由 LED 灯、乒乓球和树莓派 Zero 组成的灯阵列。这个项目相对简单并且具有教学价值,因此我认为它非常值得分享。 + +整个彩灯由我设计,但其中一些灵感也来自 YouTube。你可以在我的 [Git 存储库][1] 中找到源代码和构建说明。 + +### 购物清单 + +- [树莓派 Zero][2] +- [树莓派保护壳][3] +- 5V 2A 的电源线 +- 展架 +- 255 个乒乓球 +- 热熔胶枪和若干热熔胶棒 +- 烙铁 +- 焊锡丝 +- 22 AWG 0.35mm 实芯线 +- 10 米 WS2812(B) LED灯带(每米 30 像素) +- 万用表 +- 钢丝钳 +- 剥线钳 + + +### 设计树莓派的灯光效果 + +这个设计是由我展框的大小决定的。我在全球速卖通买到了每米 30 像素的灯带,它可以轻松地切成 0.5m 的长度,这样我就有了 15 个 LED。 乒乓球的直径是 40 毫米,所以我测量并放置了 40 毫米的线,每 40 毫米部分的中间都有 LED 灯条,这就产生了 17 行。 因此我的灯光阵列是 15×17。你可以根据实际情况来调整尺寸。 + +为了给灯带和树莓派供电,我在电路板底部设置了数据线和电源线。我的 LED 灯不需要很多电,所以我使用树莓派 Zero 的 5V 输出 GPIO 为它们供电。当我以 50% 的亮度运行时,这个亮度已经足以在白天和晚上透过我的窗户看到。 + +### 布线 + +我从电路板的底部以之字形开始布线,这使得焊接非常容易,因为每行的末尾不必返回到每行的开头。 + +我的线路大致像这样(为清楚起见,这里进行了简化,实际上它一共有 17 行): + +``` +<---------------\ +                | +/---------------/ +| +\---------------< # 这里连接树莓派 +``` + +### 使用树莓派搭建显示屏 + +当设计和布线的工作完成后就可以开始搭建显示屏了。 + +我在展板上测量并绘制了线路。我的灯带背面有胶带,所以我只需要取下背衬并将其贴在展板上。我检查了每个灯带的位置和数据线的方向以确保灯带可以按照树莓派的指令正确运作。 + +连接好所有灯带后,我剪下三段长度相同的电线,并将每个灯带末端的电源线、数据线和接地线连接到其上方。 + +![Connect each light strip at the end of each line.][4] + +在线路连接完成后,我检查了每条灯带之间的电源线和地线之间的连续性,以确保其连通性。我还检查了是否存在错误的桥接,所以我验证了电源线和地线之间的连续性。我还进行了一些测试以确保所有灯都正常点亮(参阅[测试代码][5]。) + +完成上述工作后,我开始在乒乓球上剪洞,用剪刀刺入乒乓球的底部,然后剪一个小洞让 LED 灯穿进去。我每米使用 30 个像素的 LED 灯,所以每个 LED 之间有大约 30 毫米的空隙。 + +在 LED 灯上滴上热熔胶,然后在 LED 上放了一个乒乓球并按住大约五秒钟,就粘好了一个乒乓球。粘贴下一个乒乓球时我只需要挨着上一个乒乓球就能让所有乒乓球都变得整齐了 + +![It's a tight fit, but the 40mm ping pong balls fit in a 30mm space just fine.][6] + +我继续为余下的乒乓球进行焊接。尽管这个过程中有几个乒乓球被压碎了,但最终还是顺利完成了制作。 + +![255 LEDs and 255 ping pong balls in an array.][7] + +### 测试代码 + +测试代码需要确保所有部件都能正常工作,为此我使用了[Adafruit 指南][8],它以红、绿和蓝点亮每个 LED,然后依次进行循环。我在测试时使用它来确保我连接无误并且焊接正常。 + +在此之后,我在电子表格中设计了一个网格,将每个像素映射到一个网格位置。由于我的像素编号呈之字形排列,因此很难跟踪每个 LED(例如 A1 为 256,B1 为 226)。重新映射网格位置能使得我在构建图像时更容易。 + +在所有准备工作完成之后,我就可以在纸上和电子表格中设计图像,然后编码。于是我开始添加一些动画(使用循环并将像素变为一种颜色,然后变为另一种颜色)。 + +最终的结果还算顺利。 + +![A Christmas gift in LED.][9] + +![Reindeer painted with light.][10] + +![An LED snowflake.][11] + +### 全年可用的树莓派彩灯 + +我不确定这是否已经完全完成了。自从把它摆放到橱窗里,几乎每个晚上我都会添加一些新的图像和动画。我已经在考虑除夕夜的时候要做成什么样了。它不会像圣诞装饰品一起在圣诞节后被放进储藏室。 我只需要在上面显示其它图案,就能使它成为一个全年可用的彩灯! 我的一个朋友推荐了像素马里奥,这听起来是个好主意! + +我的代码仍然需要完善。 例如,我做了一些滚动文本,但当我为文本的每个位置重新绘制时却花了很多时间。我想我可以用循环做一些事情,或者图像库可以帮助更轻松地滚动字母,并使添加文本更容易,而不是在每一步打开和关闭每个像素。 + +这里有一张照片记录了我制作的全过程[LED 乒乓墙][12]。 + +可以在此处观看它的运行视频:[XMas 灯光展示][13]。 + +这个彩灯最终的效果我非常满意。以后我也会尝试更多利用 LED 彩灯完成的项目。我也鼓励大家亲自动手制作一个这样的彩灯,它会比你想象中更简单。 + +-------------------------------------------------------------------------------- + +via: https://opensource.com/article/22/11/raspberry-pi-holiday-light-display + +作者:[Brian McCafferty][a] +选题:[lkxed][b] +译者:[Return7g](https://github.com/Return7g) +校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 + +[a]: https://opensource.com/users/bdm +[b]: https://github.com/lkxed +[1]: https://github.com/bmccafferty/ping-pong-led-wall +[2]: https://shop.pimoroni.com/products/raspberry-pi-zero-wh-with-pre-soldered-header +[3]: https://shop.pimoroni.com/products/pibow-zero-w +[4]: https://opensource.com/sites/default/files/2022-11/IMG_20201126_115520.jpeg +[5]: https://opensource.com#the-code +[6]: https://opensource.com/sites/default/files/2022-11/IMG_20201127_101409.webp +[7]: https://opensource.com/sites/default/files/2022-11/IMG_20201127_160500.webp +[8]: https://learn.adafruit.com/neopixels-on-raspberry-pi/python-usage +[9]: https://opensource.com/sites/default/files/2022-11/IMG_20201127_181931.webp +[10]: https://opensource.com/sites/default/files/2022-11/IMG_20201202_215902.webp +[11]: https://opensource.com/sites/default/files/2022-11/IMG_20201127_215314.webp +[12]: https://projects.bdm.scot/Xmas%20LED%20Wall%202020/ +[13]: https://youtu.be/zc0501GzpMw