大数跨境
0
0

自制一个基于树莓派Pico的口袋计算器

自制一个基于树莓派Pico的口袋计算器 DF创客社区
2023-03-02
2
导读:支持十进制数和带括号优先级算式计算,需要时从口袋里掏出来就好啦!
【点击上方「蓝字」关注DF创客社区,一起成为技术颜控】

这是一款用 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 固件文件可在文末下载。

现在计算器的功能就完成了,剩下的就是 3D 打印外壳。

3D 打印外壳

使用 Eagle CAD 的 Fusion 360 同步功能,将 PCB 的 3D 文件传输到 Fusion 360,然后建模。

外壳主要需要打印三个部分:键盘矩阵,顶盖和底盖。

3D 打印采用 PLA,20% 填充完成,无需支撑。

3D 打印文件可在文末下载。

装饰键盘

可以将键盘上的符号用纸打印出来再逐个裁剪后粘贴到键盘上,要注意符号的尺寸。

键盘符号文件可在文末下载。

组装

如图所示,这款计算机带有开关和 TP4056(充电/保护电路)的凹口、 USB 插槽和滑动开关。

使用双面胶带粘贴电池,不推荐使用热熔胶粘贴电池。将键盘插入网格并将 PCB 安装至顶部,最后将外壳的卡扣扣上。

所有的组件组合在一起,这台微型计算器就完成了。

项目所用的代码可以在公众号后台回复"树莓派计算器"下载。

原文作者:Makertronics

原文链接:https://www.instructables.com/PiCalc-Raspberry-Pi-Pico-Based-Pocked-Calculator/

译文首发于:趣无尽

转载请注明来源信息


硬件军火库

DF硬件军火库

点击了解详情👆

大家有什么想说的,欢迎在下方留言


 往期项目回顾 


【基础系列教程】初识Arduino

用Arduino做一个神奇的悬浮灯!

“现在玩Arduino的人是越来越少了!”

自制一个带触摸屏控制的Arduino机械臂

Arduino IDE 2.0来了!看看有哪些新功能!

用Arduino自制一个只有表针,没有表盘的“空心时钟”

2022第一弹——用Arduino和电磁继电器做一个“电磁炮”


点击阅读👆

【声明】内容源于网络
0
0
DF创客社区
我们是专注于创新和开源硬件开发的公司——DFRobot成立的创客社区,无论你是资深创客还是小白,这里都有你的一席之地。一个人玩自己的项目,你只是寂寞宅;一群人看你玩项目,你就是技术牛!快来分享你的项目吧!
内容 1282
粉丝 0
DF创客社区 我们是专注于创新和开源硬件开发的公司——DFRobot成立的创客社区,无论你是资深创客还是小白,这里都有你的一席之地。一个人玩自己的项目,你只是寂寞宅;一群人看你玩项目,你就是技术牛!快来分享你的项目吧!
总阅读2.1k
粉丝0
内容1.3k