• 正文
  • 相关推荐
申请入驻 产业图谱

开源:全球触感最佳的树莓派计算器!

04/28 15:44
509
加入交流群
扫码加入
获取工程师必备礼包
参与热点资讯讨论

来认识一下“形式重于功能”的计算器:Flapulator吧。计算时,你无需再默默等待。坐下来,尽情享受机械键盘的咔嗒声,并且可以同时看着显示屏轻巧地切换到下一位数字。虽然计算精度存疑、速度缓慢,但触感体验绝佳。

这是我利用几个晚上和周末在过去一个月里完成的一个小项目。这个概念是打造一款模拟感十足但拥有数字大脑的过度设计计算器。在探索了翻点显示等一些想法后,我最终选择了分页转盘作为显示屏。机场里,大轮子字符在空中转动的咔嗒声一直是我的感官享受,因此,我好奇能否从头开始制作一个体积更小、但功能齐全的3D打印版本。结果发现,这既有趣又颇具挑战性!

我还在设计中多处隐藏了π:最明显的是设置了一个专门的π按钮,可以显示π的实际值和马特最近计算的π近似值。三角函数也仅以弧度为单位工作,以使一切尽可能接近π,最后,在设计外壳、盖子和主体时使用的所有角度都是π的某种形式或π的派生形式。最明显的是,我当然使用了树莓派Pico微控制器来处理所有逻辑。

tip:对于刚接触树莓派的新手来说,面对英文文档、零散教程和复杂配置,很容易无从下手。pidoc.cn 就是为解决这些痛点而生的树莓派中文一站式学习平台,界面清晰、内容系统、更新及时,堪称新手入门的 “保姆级” 网站,让零基础用户也能轻松上手树莓派。

特点

6位分页转盘计算器显示屏(小数点或负号也各需1位)

通过霍尔传感器实现伺服电机的自动校准和归位

24键手工布线机械键盘(可自定义功能写入代码)

电池供电(满电情况下可计算约4小时)

树莓派Pico控制(提供完整的自定义代码供下载,作为本项目的一部分)

LED照明,跟踪当前数学运算

完全异步操作

那么,废话不多说,如果你想制作自己的Flapulator,你需要什么呢?

材料

本项目3D打印部件总共需要约350克PLA线材,Bambu Lab P1S的总打印时间约为13小时。还有一个可选的半透明观察窗,我用PETG半透明材料打印,仅需1克,所以如果你喜欢,也可以将其打印成实心件。

完整的3D打印配置文件和所有原始3D模型:

https://makerworld.com/en/models/2625039-flapulator-the-world-s-most-tactile-calculator#profileId-2897906

电子元件

1.1个树莓派Pico 2(W版可选)——主控制器

2.1个Adafruit Power Boost 1000 Basic——电池管理和5V升压

3.1个穿孔板(切割成31.5mm x 21mm)——电源分配

4.1个18650锂离子电池(带保护和JST连接器)——电源

5.1个两位单刀双掷微型滑动开关——电源开关

6.6个连续旋转伺服电机(FS90R)——分页转盘驱动器

7.6个数字输出霍尔传感器(KY-003)——分页转盘位置检测

8.24个Gateron KS-33低剖面机械开关——键盘按键

9.24个1N4148二极管——键盘N键无冲(可能可选)

10.4个5mm LED——操作标识(我使用了红色、黄色、绿色和蓝色)

11.4个220欧姆电阻——LED电阻(330欧姆电阻也可用)

12.1个肖特基二极管——电源保护(可能可选,但建议使用)

杂项

1.12个2mm机制螺丝(长度6mm至8mm)——霍尔传感器

2.6个2mm机制螺丝(长度4mm)——Pi Pico和电源开关

3.4个2.5mm机制螺丝(长度4mm)——Powerboost和穿孔板

4.27个2.5mm机制螺丝(长度5mm)——外壳和伺服电机

5.12个3mm自攻螺丝(长度6mm)——分页转盘数字

6.6个直径4mm、深度2mm的钕磁铁——归位检测

7.26号电线——霍尔传感器、LED、电源、键盘和开关连接

8.16号裸铜线——机械键盘连接

9.热缩套管/绝缘胶带——一般绝缘和安全

10.超级胶水

步骤1:打印部件

首先打印Makerworld项目的所有板块,这些板块被分开以最大化质量,同时尽可能缩短打印时间。本项目需要一台多材料3D打印机来打印双色分页转盘和键盘键帽,因为这些部件太小,无法作为单独部件打印颜色。然而,此构建仅需要205mm x 150mm的构建板尺寸,所有部件均从零开始设计用于3D打印,因此本项目中没有任何部件需要支撑材料。

“伺服齿轮”应紧密贴合伺服电机,但如果太紧或太松,可能需要进行一些微调。此齿轮上的孔也应紧密贴合其中一个钕磁铁,并需要使用推入工具施加一点力才能插入。如果这些配合适合你,那么项目中的其余尺寸应该没有问题。

步骤2:构建一个数字位

每个数字位由以下部件组成:

1.数字位框架

2.线轴轴

3.线轴端

4.驱动齿轮轴

5.伺服齿轮

6.12个分页转盘

7.伺服电机

8.霍尔传感器

现在,我将逐步介绍构建其中一个数字位所需的各个子步骤。在操作过程中,请务必参考图片和部件名称。完成后,重复这些步骤,直到完成所有6个数字位。

步骤2.1

首先,取线轴的两个部分,并使用附带的键槽切口将它们用一点超级胶水粘在一起。施加一些压力,并留出时间让其干燥。

步骤2.2

将分页转盘插入线轴内对齐的孔中。从全空白转盘开始,然后是转盘一侧空白、另一侧为“0”的转盘。重复此过程,检查顺序,直到插入所有12个转盘。插入时需要施加一点压力,我发现对线轴的两端施加一点小压力有助于它们就位。插入后,所有转盘应能自由旋转,如果不能,请取出并根据需要进行打磨/锉削。

步骤2.3

将线轴放置在框架内,使线轴上的孔与框架上的开口对齐。现在取驱动齿轮轴,将其穿过框架上的孔并插入线轴。齿轮应几乎与框架齐平,齿轮轴的较厚圆形部分应填满孔。如果此配合有一些摩擦,对框架孔内部进行轻微打磨/锉削将使旋转更顺畅。

步骤2.4

取伺服电机,将其穿过框架,使轴最靠近框架前面。这应该是一个良好的推入配合,但也用2个2.5mm机制螺丝(最小长度5mm,最大长度8mm)固定。电线也可以用框架底部前面的电线固定器固定。

步骤2.5

将钕磁铁插入伺服齿轮上的孔中,确保其齐平。我建议使用一个强力的非金属物体均匀施加力。然后,将伺服齿轮推到伺服电机轴上,磁铁朝内。

步骤2.6

在安装霍尔传感器之前,你应首先将三根约20厘米长的28号电线连接到板上的5V、GND和信号孔。根据你获得的板,你可能需要先拆下接头才能访问这些引脚

最后,将霍尔传感器板放置在伺服电机下方,使传感器通过框架上的孔延伸向带有嵌入式磁铁的伺服齿轮。此板可以用两颗2mm螺丝从框架下方固定(长度6mm至8mm效果良好)。螺丝仅作为稍微偏移的支柱,不需要咬入传感器上方的任何东西即可工作。安装后,使用电线固定器也固定霍尔传感器电线。

现在,一个数字位已经构建完成,只需对剩余的5个数字位重复这些相同步骤即可。确保它们都能自由旋转(不安装伺服齿轮时检查最容易),并确保没有电线被拉紧或夹住。

步骤3:构建键盘

首先,按照上图所示方向将KS-33开关插入其插槽中。施加一点压力,它们应能卡入到位,但在推入这些开关时,请小心支撑打印的键盘插入部分。

我使用的键盘布线方法基于Joe Scotto的一个精彩视频,该视频通过视觉方式展示了整个过程,并更详细地解释了做出某些决定的原因。

https://youtu.be/hjml-K-pV4E?si=jiHugCPZzMa4ejjW

我强烈建议你观看该视频,将此步骤中包含的图片作为参考,然后按照提供的高级步骤进行操作。

1.测量并切割6段16号铜线,用于连接每列按键。这些线将连接到每个开关的右上角引脚。

2.将这些线焊接到每行的4个开关上,将它们连接到右上角引脚。

3.将一个1N4148二极管焊接到每个开关的剩余引脚上。确保阳极侧是连接到引脚的一侧,而阴   极侧(带有黑线的一侧)在此阶段保持未连接。

4.测量并切割4段16号铜线,用于连接按键行(电线将直接穿过观察窗部分)。

5.将这些线放置到位(如上图所示),并在每个标记处标记它们与列线的交叉点。在这些交叉点上应用热缩套管或绝缘胶带,以防止短路。

6.将每行中每个二极管的阴极尾绕在该行的铜线上,然后将二极管焊接到行线上。

7.修剪掉二极管上剩余的尾巴,如果需要,也修剪铜线,使它们不再比上图所示的更突出开关。

8.将一段足够长的(约30厘米)26号电线焊接到每行线和每列线上。这些线连接的确切位置除了电缆管理外并不重要。

我还建议在此阶段试装键帽,如果它们看起来有点紧,请使用一个未焊接的KS-33开关施加一点额外的压力。一旦键帽成功添加一次,在最终构建结束时再装上键帽就容易多了。

步骤4:预焊接准备

接下来需要进行相当多的焊接工作,我发现最容易的方法是首先将大部分组件安装到外壳中,以便更好地布线并确保电缆长度合适。此时,我还通过将穿孔板切割成所需的31.5mm x 21mm尺寸,并沿中心钻两个2.5mm的孔,偏移量为17.7mm,来准备穿孔板作为我的电源分配板(使用穿孔板上的孔作为导向,要钻的两个穿孔板孔应相隔8个)。

穿孔板钻孔后,我们将使用一侧作为我们的+5V轨,另一侧作为我们的地。将一段短电线(10mm至15mm)从Power Boost 1000的正输出焊接到穿孔板的+5V侧,对负侧也进行同样的操作。

这也是将滑动开关连接到Power Boost 1000的好时机,作为我们的开/关开关。将两根电线焊接到开关上,一根连接到中心引脚,另一根连接到任一侧。将这些电线的另一侧焊接到Power Boost 1000上的“EN”引脚和“GND”引脚。

现在,将Powerboost和穿孔板拧入电池仓附近外壳上的安装孔中,然后将树莓派Pico拧到外壳前面的孔上。Powerboost和穿孔板各需要两颗2.5mm x 4mm的螺丝,而Pico需要四颗2mm x 4mm的螺丝。

使用标准流程设置你的Pico,并在开始焊接任何电线到它之前,使用你选择的IDE测试它是否能正常工作。

https://projects.raspberrypi.org/en/projects/getting-started-with-the-pico/3

为了确保连接清晰,值得使用附带的Pico引脚图来检查在我们的构建中哪些引脚焊接到了哪些电线上。

完成所有准备工作后,我们现在可以开始焊接所有部件了!

步骤5:电子元件与焊接

Pico电源

首先,通过从穿孔板的5V侧取一根馈线并焊接到肖特基二极管上,为Pi Pico焊接主电源连接,然后连接到Pico上的VSYS 5V(二极管的阴极侧应连接到Pico,这样Pico的USB电源就不会泄漏回我们的电池供电系统中)。同时,从穿孔板的地侧取一根馈线焊接到Pico上的一个地连接上(我使用了引脚38,但任何地引脚都可以)。

分页转盘数字位

从Flapulator的右侧数字位开始看(这是数字位1、伺服电机1和霍尔传感器1)。对于每个数字位,执行以下过程:

1.将数字位放入外壳内,并使用两颗3mm x 6mm的自攻螺丝从下方固定。确保没有电线被夹住,并且伺服电机和霍尔传感器的电线通过每个数字位框架底部前面的电缆导向器引导。

2.使用引脚图检查伺服电机和霍尔传感器需要连接到Pico的哪些引脚,然后修剪所有电线到适当的长度,使它们不紧绷,但也没有太多多余。

3.将橙色伺服电机电缆焊接到适当的Pico引脚上。

4.将霍尔传感器的信号线焊接到对应的Pico引脚上。

5.将伺服电机和霍尔传感器的电源和地连接焊接到穿孔板的相应侧。

键盘

将键盘放在外壳前面,按键朝上,然后将其前后翻转,使电线现在朝上。这应确保在连接电线后,键盘方向正确,可以连接到外壳上。有关方向,请参见上图。

接下来,将键盘行和列的电线焊接到它们适当的引脚上。附带的图表将键盘的每一行和每一列链接到它们适当的GPIO编号,如红色所示。

LED灯

准备LED灯时,应在正极引脚上焊接一个约220欧姆至330欧姆的电阻,尽可能靠近引脚顶部。同时,将电线连接到两个引脚上,并尽可能修剪引脚。我还在这里使用了一些额外的热缩套管来覆盖任何裸露的金属。

参考:LED 1是“加”灯,LED 2是“减”灯,LED 3是“乘”灯,LED 4是“除”灯。

最后,每个LED可以连接到适当的引脚上,正极引脚连接到引脚图上的Pico引脚,所有负极引脚连接到穿孔板的地侧(使用LED主体的扁平侧来找到负极引脚)。

这是最后一步接线工作了,现在,你只能祈祷接线之神保佑没有出错,并且所有电线都能装进外壳里。接下来是最后一步!

步骤6:外壳构建

1. 将电池安装到电池仓中,并将JST连接器插入Power Bank 1000电池输入的JST端口。

2. 花些时间将电线推入外壳内合理的空间中,确保它们避开数字位的齿轮、支撑键盘的柱子顶部以及键盘所坐的边缘架子。

3. 翻转键盘,并慢慢开始将其按入到位,一次做一点,检查电线没有被夹住(特别是在柱子顶部或齿轮附近)。

4. 一旦键盘齐平,就可以用七颗2.5mm x 5mm的机制螺丝沿着边缘和两个支撑柱固定。

5. 将每个LED灯穿过顶部插入件上的适当孔,它们应该是一个良好的推入配合,但根据需要可以在这里添加一些胶水。

6. 将顶部插入件放在键盘上方,它应由电池仓的背面支撑,并用四颗2.5mm x 5mm的螺丝从外壳侧面拧入。

7. 将盖子取下,使“Flapulator”文字朝前,然后将其插入外壳的顶部后部,它应该是一个紧密的配合。然后,用四颗2.5mm x 5mm的螺丝在每个角落固定。

8. 最后,将(或重新放置)所有键帽到键盘上。只是要小心,不要在这里施加过大的力,特别是对于顶部角落的按键(“7”和“tan”),因为它们下面的支撑最少。

这样,你就有了自己的Flapulator了!现在,你只需要上传代码即可。

步骤7:代码设置

该项目的代码由附加到此步骤的四个文件组成:

1.main.py——包含计算器状态和运行时代码

https://content.instructables.com/F0F/XOUF/MNGJSJDX/F0FXOUFMNGJSJDX.py

2.split_flap.py——包含数字位控制函数

https://content.instructables.com/F7Z/WVR3/MNGJSJEH/F7ZWVR3MNGJSJEH.py

3.led.py——包含照明效果和逻辑

https://content.instructables.com/FXX/QTLB/MNGJSJFY/FXXQTLBMNGJSJFY.py

4.keypad.py——此项目的MicroPython键盘包变体

https://content.instructables.com/FME/08NW/MNGJSJGX/FME08NWMNGJSJGX.py

通过USB将你的Pico连接到计算机,并将这三个文件全部上传到Pi的根目录。然后,安全地从计算机上断开Pico连接,并翻转开关以激活你的Flapulator。

代码有很大的改进空间,但对于本项目的目的来说已经足够好了,所以你可以随意修改、添加你自己的函数,甚至如果你想的话,可以更换一些按键。

整个代码库都是使用Micro Python编写的,所有函数都是异步的,以便可以一致地读取键盘输入,并且多个数字位可以同时移动/归位。

 

官方网站:https://edatec.cn/zh/cm0

淘宝店铺:https://edatec.taobao.com/

相关推荐