MAKER: Makertronics/译:趣无尽(转载请注明出处)
大家好!今天是 2022 年的 Pi Day。那我们就来介绍一款 Pi 计算器吧!
这是一款用 Pico 制作的计算器,我把它简称为 PiCalc。这款微小计算器虽然体格不大,但是该有的功能一个也没有少。它支持十进制数和带括号优先级算式计算。需要时从口袋里掏出来就好啦!
特性
1、默认情况下,执行的优先级类似于 BODMAS 规则。
2、右侧键包含双重用途,左下角带有一个 shift 键,用来切换右侧按键的功能。例如:要使用左括号【(】,首先单击左下角的【S】键,然后单击最后一列顶部的第二个键。最后一列的左侧键可以直接使用,无需任何 shift 键切换,但如需使用右边的键,需要先按 shift 键切换。
3、【C】表示清除单个数字,【CE】表示清除所有历史记录。如果编写的方程式无法处理,屏幕上将显示“ERROR”,单击清除键,可以重新计算。
材料清单
树莓派 Pico x 1
SSD1306 OLED 显示器 x 1
30mmx30mmx4mm 锂电池 x 1
TP4056 锂电池充电电路 x 1
6×3.5mm SMD 瞬时开关 x 20
滑动开关 x 1
键盘矩阵原理
在制作计算器之前,我们需要了解计算器的输入机制。它是基于键盘的输入时的多路复用。如图所示,按键的网格被设置为终端并按行和按列连接。
所有键的右侧端子连接到所在的行,所有左侧的端子连接到所在的列,共有八个连接处,分别为:R1、R2、R3、R4 和 C1、C2、C3、C4。
当使用者按下键时,我们需要找出键对应的列和行。因此,微控制器会逐行读取数据,然后逐行打开或关闭每列的电源。
例如,当输入将所有输入线拉高时,微控制器读取输入线数据。现在我们假设行是输入,我们将从 R1 开始读取,输出的读取逻辑为从 C1、C2、C3 到 C4。如果 R1 处比其他的电量要低,它将会被认为按下该按键。
电路和PCB设计
这台微型计算器的主要电路是由 20 个按键组成,以 4X5 键盘矩阵的方式排列、然后连接到 SSD1306 OLED 显示屏和底部的 Pico。
PCB 板是一个单层的设计,键盘的列线将通过焊桥线直接从外部连接,顶层的键盘矩阵与底部的 Pico 的相接,其中 PCB 的键盘排列在 Pico 的左侧。
如果你需要双层 PCB 板,可点击以下链接 https://drive.google.com/file/d/1Mwu2Uq_MpFbF08HvItbTJjrXX-PQ7kn6/view?usp=sharing,就可以省掉下面几个步骤。
打造 PCB 板
我们采用色调剂图像转印法制作 PCB 板,PCB 采用尺寸为 30mm x 78mm 的镀铜板。
1、使用高粒度砂纸对其进行清洁,去除氧化层。
2、将 PCB 板设计图打印在一张白纸上并将图案与铜板对齐。使用热压机或熨斗加热 5 分钟,将纸上的墨粉转移到铜板上。
3、将 PCB 和纸浸泡在温水中,这样有助于取下纸张。
4、如果在过程中出现损坏,可使用永久性记号笔重新补绘电路。
蚀刻 PCB 板
1、现在将 PCB 板放入专用溶液 5 分钟,然后蚀刻掉不需要的铜。
2、使用一些丙酮从蚀刻的 PCB 板上去除多余的墨粉,PCB 板就会非常的光滑。
3、给 OLED 显示器钻一些直径为 0.8mm 的孔,方便将键盘矩阵连接到 Pico 上。
焊接组件
1、使用焊桥接线连接键盘矩阵的列。
2、你只需要焊接三行,最后一行已经与铜板相连。
3、焊接按钮。
将 PCB 板连接到 Pico
1、如图所示,使用双面胶将 Pico 粘贴在 PCB 板的背面,然后将 Pico 的电线焊接到右侧的孔中。
2、连接 OLED 显示器,将其焊接到电线的孔上,并将这些孔给遮住。
连接电池和充电电路
1、连接电池和 LiPo 保护。
2、连接充电电路 TP4056 和开关。
3、注意需要对线头继续绝缘处理,再将它们装到外壳中。
安装 Thonny IDE
我使用 Micropython SDK 对 Pico 进行编程,通过 Raspberry Pi Linux 计算机中的 Thonny IDE 完成。
1、请点 https://thonny.org/ 可获得 IDE。
2、下载并安装 IDE 后,将 Pico 连接到计算机,同时按住 Pico 上的启动选择按钮,在编程模式下启动它。
3、屏幕上会弹出一个文件夹,点击链接 https://www.raspberrypi.com/documentation/microcontrollers/#getting-started-with-micropython 获得 micropython 固件,并将其安装到这个文件夹中。
4、你也可以通过 Thonny IDE 执行,从 Run->Select Interpreter,找到 RasberryPi Pico 的 micropython,在窗口底部,你将看到一个蓝色文本按钮“安装或更新固件”。
烧录 Pico
在对 Pico 进行编程之前,需要安装 OLED 显示库。
1、选择工具菜单至管理包,搜索 SSD1306 并安装第一个,直接保存到 Pico 中。
2、使用项目文件夹中的代码来刷新 PiCalc 固件。
PiCalc 固件文件可在本项目文件库中下载:
https://make.quwj.com/project/419
现在计算器的功能就完成了,剩下的就是 3D 打印外壳。
3D 打印外壳
我使用 Eagle CAD 的 Fusion 360 同步功能,将 PCB 的 3D 文件传输到 Fusion 360,然后建模。
外壳主要需要打印三个部分:键盘矩阵,顶盖和底盖。
3D 打印采用 PLA,20% 填充完成,无需支撑。
3D 打印文件可在本项目文件库中下载:
https://make.quwj.com/project/419
装饰键盘
我将键盘上的符号用纸打印出来再逐个裁剪后粘贴到键盘上,要注意符号的尺寸。
键盘符号文件可在本项目文件库中下载:
https://make.quwj.com/project/419
组装
如图所示,这款计算机带有开关和 TP4056(充电/保护电路)的凹口、 USB 插槽和滑动开关。
使用双面胶带粘贴电池,不推荐使用热熔胶粘贴电池。将键盘插入网格并将 PCB 安装至顶部,最后将外壳的卡扣扣上。
所有的组件组合在一起,这台微型计算器就完成了。
via