Bitcoin Bar,一个有些复古的点阵盒子,摆在桌面来显示重要的比特币信息,如实时价格、剩余量、区块奖励减半等。当然你也完全可以自定义任何其他数据显示在上面,下面将分解每个步骤,介绍如何来制造它。
制作和效果视频如下:
https://v.qq.com/x/page/o0876jh6ww6.html
Bitcoin-Bar-master.zip
[1534519 Bytes at 2019-07-18, 2 次下载]
树莓派 3B×1
LED 显示器×若干
白色LED 二极管 10mm×1
电阻 100 欧姆×1
5V USB 电源适配器×1
烙铁×1
焊锡丝×若干
5mm 中密度纤维板×若干
5mm 亚克力板×若干
胶水×1
涂料×若干
这里采用了 SPI 接口,它是一种接口总线,通常用于微控制器和小型外围设备之间发送数据,如显示器和传感器等。可以使用单独的时钟、数据线和芯片与设备连接。
LED 点阵连接到树莓派的 SPI 引脚。
树莓派 3B 与 LED 点阵的连线方式如下
5V > VCC
GND > GND
GPIO 10(MOSI)> DIN
GPIO 8(SPI CE0)> CS
GPIO 11(SPI CLK)> CLK
依赖关系如下
网络抓取
1、Requests是一个很简单的 Python HTTP 库。
http://docs.python-requests.org/en/master/user/install/
2、Beautiful Soup 4 Python 库,用于从 HTML 和 XML 文件中提取数据。
https://www.crummy.com/software/BeautifulSoup/bs4/doc/
Max7219 LED 点阵的 Python 库
Python 库接口是 LED 点阵与树莓派上的 MAX7219 驱动器(使用 SPI)连接。
https://luma-led-matrix.readthedocs.io/en/latest/install.html
https://github.com/rm-hull/luma.led_matrix
设置和配置
所有前期准备完成后就可以在 GitHub 仓库下载完整代码。
https://github.com/jonathanrjpereira/Bitcoin-Bar
如原理图所示,将显示器连接到树莓派。运行主程序 bcbar.py
比特币显示栏可以显示 19 种不同的实时数据参数。这些数据可以以任意的顺序显示或者固定顺序显示。主程序按顺序显示所有 19 个数据参数。
数据参数可以单独显示也可以设定顺序,在主程序中设置以下行:
show_message(device, disp[i], fill="white", font=proportional(LCD_FONT),scroll_delay = 0.02)
其中 i 的值将表示显示的数据参数。比特币显示栏可以显示以下实时数据参数:
1、插入参数表格。
2、滚动的速度和静态的文本。
通过调整 scroll_delay 的值,改变滚动速度。
通过 led_test.py 示例,使用文本函数显示静态文本。
3、限速
数据参数从 bitcoinblockhalf.com 获取。访问次数限制为每小时一次,这样就不会产生不必要的流量。站点从其他各种 API 收集数据参数并汇总。获取更多信息可访问:
https://github.com/thrasher-/bitcoinblockhalf.com
4、运行程序
按照树莓派官方文档指导,修改 rc.local 文件以便在启动时运行 Python 脚本。
1、切割出各部件
比特币跟踪器是由 5mm 厚中密度纤维板激光切割而成,形成一个可以带锁扣的外壳。
前板有两个卡槽:一个用于 LED 显示屏,另一个用于丙烯酸扩散器。
后板有一个孔用于连接树莓派电源 USB 线。
底板有四个孔用于将树莓派固定到位。
图纸获取(适用于中密度纤维板和丙烯酸板):
https://github.com/jonathanrjpereira/Bitcoin-Bar/tree/master/Laser%20Cutting
2、给外壳上色
使用丙烯酸涂料给组装好的外壳上色。
我选择自己喜欢的颜色。
3、粘贴丙烯酸扩散器
外壳涂料干燥后,开始组装部件。将圆形的丙烯酸扩散器粘在中密度纤维外壳前板的卡槽中。
4、粘贴 LED 点阵
将 LED 点阵固定到中密度纤维外壳前板的卡槽中并确保它与面板的表面齐平。
如果使用其他显示模块,则需要对激光切割文件中的卡槽尺寸进行修改。
5、粘贴比特币贴纸
在透明的不干胶纸上打印出比特币标志。剪下圆形徽标并将其粘贴到中密度纤维外壳前板上的丙烯酸扩散器中。
6、焊接 LED
使用一个 10mm 白色的 LED 灯来点亮扩散器的比特币 Logo。
将两个母头连接器焊接到 LED 上,以便连接到树莓派上。如电路原理图所示,在 LED 的阳极(+)和树莓派 +3.3V 之间添加一个电阻。电线接头处用热缩管处理。
使用螺母和螺栓将树莓派安装到中密度纤维外壳的底板上。面板上有四个激光切割的孔,树莓派的micro-USB 端口与中密度纤维外壳背面板上的卡槽完全匹配,用于安装 USB 电源适配器的电缆。
如图所示,将 10mm LED 连接到树莓派,再将 LED 点阵连接到树莓派的 SPI 引脚上。
如图所示,将所有电子元件连接好后。固定 10mm LED,通电后确保灯光的亮度能够均匀照亮扩散器。
我在 LED 下方贴了一小块纸板,使其一某种角度倾斜,让灯光能够均匀打在扩散器上。
将所有电子部件连接并固定到位后,将 USB 电源适配器线穿过背面板上的孔并将其连接到树莓派。
打开电源,比特币显示栏就会自动显示最新的比特币涨势和信息了!