步骤1:设计和激光切割文件
主要设计参数是所用材料的厚度。在这个版本中,使用了1.5毫米的纸板,因为它易于切割且非常便宜。 3D设计(例如Fusion360)有助于避免组装过程中的问题。对于激光切割,零件必须以适合机器激光切割区域的方式排列,在这种情况下为790x384 mm。 Inkscape是一个处理这项工作的简单而强大的工具。附加的SVG文件包含用于1.5 mm材料的圆柱形显示的所有零件。
更新:我使用用户参数厚度修改了Fusion360型号,因此您可以更改矩阵的材料厚度并生成您自己的激光切割文件。 LED条纹的切口插槽将很快添加。
第2步:激光 - 切割和预组装
激光切割后,您将获得以下部件:
- 12个C形水平段
- 18个梳子像垂直段
- 2个垂直连接段
- 20个led载体段
8个C形,9个梳子和1个连接组合到显示器的一半。在此步骤中,仅将部件插在一起以检查是否一切都很合适。不要使用胶水。
步骤3:LED接线
LED条纹被切割成5个LED段,并用背面胶带粘合到载体段上。首先,条带的DI(数据输入)和DO(数据输出)引脚以Z字形方式连接在一起,将第一条带的DO与下一条纹的DI连接,依此类推。这是针对包括10个条纹的每个圆柱体的一半完成的。 5V和GND仅在条带与条带的一侧连接。导线的长度应与阵列的条带距离相匹配。
在将LED安装到矩阵中之前,矩阵的各个部分必须粘合在一起,用于圆柱的每一半。
最后,将10个条纹放在基质的每一半中,并用热胶固定。从一半的DO连接到下半部分的DI。上半部分的DI将是Raspberry Pi或Arduino的输入。
第4步:第一次测试
为确保一切正常,应对LED进行首次测试。使用Arduino和Neopixel库应该是最简单的方法。
步骤5:木质单板扩散器
在测量基质的直径和高度后,可以切割木质单板并在基质周围滚动。对于固定,透明胶条就足够了。
步骤6:Raspberry Pi,Arduino和电源
为了便于在Python中编写漂亮的矩阵效果,可以使用Raspberry Pi。在这种情况下,使用了Raspberry Pi Zero,它通过74HCT245电平转换器通过GPIO引脚18连接到矩阵,以使3.3V从Pi适应WS2812的5V。当使用更大的Neopixel/WS2812 LED数量时,也会使用大电容(2200 uF)和串联电阻(470欧姆)。
电源
100个WS2812b LED的最大功率为100x60mA = 6A。当然,通过降低亮度,可以大大降低功耗。请确保您的5V电源能够驱动电流达到所需的亮度。
Arduino
此矩阵可直接用于Arduino设备上Adafruit的NeoPixel和NeoMatrix库。如果要使用示例,则必须更改PIN和初始化:
Neomatrix:
Adafruit_NeoMatrix矩阵= Adafruit_NeoMatrix(20,5 ,PIN,NEO_MATRIX_TOP + NEO_MATRIX_LEFT + NEO_MATRIX_COLUMNS + NEO_MATRIX_ZIGZAG,NEO_GRB + NEO_KHZ800);
您还必须包含Adafruit GFX库并加载高度为5像素的其他字体。请使用附带的Arduino草图作为起点(使用PIN 4作为矩阵)。它是Neomatrix示例草图的改编版本。
NeoPixel:
Adafruit_NeoPixel strip = Adafruit_NeoPixel(100,PIN,NEO_GRB + NEO_KHZ800) ;
第7步:模拟
Python源代码在Github上可用
编码有两种模式。如果在cylinder.py开头定义了 PI = False ,则代码处于模拟模式。您可以在任何能够运行python的平台上测试所有动画。请先安装程序使用的所有库(如pygame,numpy等)。在模拟模式下,圆柱体显示为5x20像素矩阵。
步骤8:编程
第二种软件模式是 PI = True (在cylinder.py中定义)并在Pi上启动。这将驱动Raspberry Pi的GPIO引脚18。您可以自由添加其他效果并使用参数。
文本以3x5字体显示,因此由于显示高度有限,并非所有字母都完美。
-
LED矩阵
+关注
关注
0文章
71浏览量
17621
发布评论请先 登录
相关推荐
评论