课程_26 硬币分类机
Contents
27. 课程_26 硬币分类机#
罐子里硬币太多,种类太多,数不清楚,感到很烦恼?不希望这样?那我们来做一个硬币分类机把!添加一个超声波装置,就能知道硬币有多少啦。由莱佛士书院的Hannah设计编辑。
27.1. 目标#
做一个简单的硬币分类机
学会电源接通及使用超声波HC SR04
享受自己动手的乐趣!
27.2. 使用材料#
35x25cm 硬纸板 x 1
225x2.5cm 硬纸板 x 1
219x26cm 硬纸板 x 1
25x19cm 硬纸板 x 1
65x5cm 硬纸板 x 1
12x5cm 硬纸板 x 1
跳线 x 1 & 鳄鱼夹头 x 3
接头
5V 电池 x 1 或者 2A电池 x 1 & 电池盒
micro:bit x 1
micro USB cable x 1
超声波 HC SR04 x 1
超强力胶水
27.3. 硬件 步棸 1 – 制作外箱体#
拿一个5x25cm的纸板,在长边画一个0.5cm的线。
在硬纸板的短边留一个5cm的间隙并标注基准线。
放一个5cm的硬币在两条基准线的交界,沿着边缘放在角落。
画一个矩形,矩形宽和硬币直径一样长为0.2cm。画上阴影方便一会裁剪。
预留2cm,再画一条基准线。
再用20分,50分和1美元的硬币继续前面步棸。
用小刀将阴影部分裁剪下来。
由于板子上面有一些被切割了,所以可能会导致切割部位的边缘凹陷。因此需要将整块纸板压平。
由于纸板非常粗糙,因此硬币可能会因为较大摩擦力滑落。 通过用光滑的透明胶带粘贴纸板来纠正这一点(p.s.透明胶带也可能会导致摩擦)。
在每个裁剪方块的中间量取2cm的间隙,并画上基准线。然后在另一块5x25cm的纸板上沿着画出基准线。
如图将三块纸板黏贴起来。
(结合示例图可以帮助你更好的操作哦)
27.4. 步棸 2 – 正面完工#
在19x26cm纸板,沿边边留5.5cm的距离,标注基准线。
如图示继续描绘基准线。
沿线裁剪。
如图再画一个5x18cm的矩形。
如图沿线裁剪做成一个门。
利用直尺作为工具,方便沿线折叠。
(结合示例图可以帮助你更好的操作哦)
27.5. 步棸 3 – 完成侧面#
拿一个5x19cm的纸板(D)。
在距离纸板底部16cm的地方,用虚线描一个0.3x3cm的投币口。(如上图示)
在距离投币口10cm,纸板下方描一个1x2cm的矩形,用来穿过电线。
(结合示例图可以帮助你更好的操作哦)
27.6. 步棸 4 – 电路连接#
如上图,将跳线和鳄鱼夹焊接,裸露电线部分用胶带缠起来。
重复步棸1两次,最后得到2根信号连接线和1根地线。
将2根信号线连接至超声波传感器,另一端夹到micro:bit上的金手指pins 0 和 pins 1。
用地线连接超声波传感器上的地线至micro:bit的GND金手指。
如上图,将超声波传感器粘贴在2x5cm的纸板上。
将micro USB线连接在micro:bit上。
将跳线分别连接在超声波传感器的5V及GND上。
27.7. 步棸 5 – 组装#
根据基准线,将6个5x5cm黏贴在画有虚线的板子上。
将有投币口的板子按如上图所示连接。
将超声波传感器按上图所示粘贴。
用胶带将micro:bit按图贴上,led灯那一面朝外。
将线从孔中穿过。
如图所示黏贴另外一块纸板。
如图所示黏贴纸板整体组装(可滑动上下文观看所有图片演示)。
27.8. 步棸 6 – 为micro:bit和超声波传感器通电#
将超声波传感器上的GND和5V线连接至电源的4.5V~5V。
用相同电源对应连接micro:bit。
如果不是用的相同电源,连接GND用同等5V电源即可。
27.9. 软件 步棸 1 – 校准超声波传感器#
每一个超声波都是独特的,会根据环境情况变化,显示数据也会有所不同。校准会帮你确认显示数据。
–
下载一个sonar(声纳)安装包,便于使用超声波功能。
如图设置一个超声波的距离代码。
设置一个代码,使得屏幕上显示超声波的感应距离。
连续调用(复制)此代码。
向硬币分类机中投入不同种类的硬币,记录最远和最近的距离。
注意超声波垂直水平放置,不会受到其他信号的干扰.
27.10. 步棸 2 – 硬币总值#
在变量中输入上述最大值及最小值。
将硬币值初始化为0。
从逻辑上来说,一个特定值硬币正在分选那么这个硬币的超声波读数会介于最大值与最小值之间。因此,如果读数大于或等于最小值,小于或等于最大值,那么它就是5美分硬币。将正在分选的当前硬币的值存储在一个变量中。
如果已经确定了硬币的面额,我们需要把它的值增加到总金额当中。创建一个检查并执行此操作的函数。
重复此操作。
如果把硬币拿出来重新计数,就需要编写新的代码。所以把程序归零,然后设置可以用A,B按钮控制的代码吧。
27.11. 干的漂亮!!!#
相信你一定觉得很有趣吧!你也可以扩展思维,想想新案例~ 比如说检测硬币机是否装满? ^ ^