效果图
1.材料准备
- 母头杜邦线若干
- 测速传感器模块(槽型光耦)一个
- 四位数码管模块(x1)
- arduino R3主板(x1)
- 电池盒(x1)
- USB 方口打印数据连接线(x1)
- 硬纸板一张,厚度自定(尺寸:45x35)
- 热胶枪(x1)
- 热熔胶若干
- 美工刀
虽然材料看起来很多,但是请别害怕。其实上诉的电子元件是能在淘宝上买到的,而且价格也不高。至于大纸板,从不要的纸箱上裁下来就好。
2.接线教程
测速传感器:
VCC——>接5V
GND——>接GND
DO——>接arduino信号端口
四位数码管模块:
VCC——>接5V
GND——>接GND
CLK(时钟线)——>接信号端口
DIO(数据线)——>接信号端口
这是作者接的:
3.开始编程
因为作者本人的学习重点是python,而不是c语言,另外为了照顾一些编程基础薄弱的读者,所以本项目使用mixly进行演示(结尾有c语言代码)
安装驱动以及如何打开就不用说了吧,直接跳到原理讲解部分。
首先创建一个变量,用于存储硬币的数量值(变量命名规则应该都懂,不懂的请自行百度)
其次是四位数码管模块的初始化,把CLK和DIO的管脚填一下就行(填你接的对应的信号端口)
然后直接写一个if结构,如果DO引脚检测到高电平,就将变量值加一,并在数码管上显示。
最核心的部分来了,这里涉及一个叫"权位"的概念,他也是让多位数码管显示不固定量的关键技术。
如果要具体去讲它的概念的话,会抽象得很难说清楚。所以,在这个项目里,你只需要知道它的计算方式就好了。
权位的计算方法,大概可以总结成六个字:
先整除,后取余
数值/1,或往后面添0组成的数%10
这样就能得到一个数值里每一位数的权位。
举个例子:
1111
(1/1)%10
(1/10)%10
(1/100)%10
(1/1000)%10
最后将权位其运用到代码中,就可以显示变量值了。
参考代码(图形化版):
参考代码(C语言版):
4.硬件封装
把你准备好的硬纸板拿出来,按照图例用美工刀进行裁剪:
左右比上下低仅仅只是为了美观,你也可以对尺寸进行适当地修改。
这里需要补充的是,记得切割一个小口用来引出电池盒的线,不然一会没法封装。
然后用热胶枪把电子元件粘在纸板上:
为了增加储币空间,进行完这一步之后,最好用胶带或者热熔胶把杜邦线也固定到纸板上:
最后再用热胶枪把每个部分都连接上,并把电池盒放置在适当位置,这个作品就算是完成了:
选做步骤:
如果你嫌它实在是太单调的话,那么可以给储蓄罐加上你自己喜欢的图案,或是装饰。
譬如说文章开头的那张效果图,也许它可以给你一些参考。
那么接下来,就要靠你自己无穷的创作力和想象力了。
感谢你观看我的教程。
by:苍悬(tulius)
2022.10.12
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)