电子开发对我的影响
- 爱好作为工作,既能养家,又开心,不用上班像上坟。
- 动手实现自己的想法,成就感满满。
- 思维方式的影响:把如何解决问题放在第一位。
- 什么都能修,自带省钱属性
然而,我发现,很多学生畏惧电子开发,认为太难。如此有意思的一件事情,却被现行教育方式整的这么无聊。
有鉴于此,我打算做一个好玩的、简单的单片机项目,来让大家充分体验电子设计的乐趣。这个项目需要一点动手能力,需要一点C语言基础。没有单片机基础也凑合能做。
这个项目就是:
开源掌机
想法很简单,就是玩。我玩过支持NES模拟器的掌机,能玩红白机游戏。这个项目对于初学者来说可能太难了,所以我决定做一个更简单的。我想起来以前玩过的一个小玩具:
打地鼠掌机,为何不自己做一个玩玩?
于是我买来掌机并做了“拆解”:
这成本控制也太NB了吧?
里边采用了bondding设计,也就是,器件和PCB是集成在一起的。可以说,省成本到了极致了,怪不得能9块6还包邮。这个技能反正我是不会。向老工程师们致敬吧。
黑色的一坨就是个单片机,可能比8051还要古老。按钮是两片裸露的铜皮,且没有直接连接,是个断路,而按键的橡胶是导电的,按下去以后,把两篇铜皮短路掉,单片机就可以检测到变化了。至于LED,哪有LED?也就是一小截灯丝而已。
所以说,橡胶也可以导电,路飞要注意啊
这种方案我当然用不了了,所以用一片我熟悉的,大家可能也用得到的芯片——STM32F103的单片机。来作为主控吧。只是这个成本。。。。一个单片机就比人家整个玩具都要贵了。
我的思路
思路介绍:STM32单片机控制,基本功能为打地鼠,使用带灯的按键,如果灯亮,在一定的时间内,需要按下对应按键,代表击中地鼠。
扩展功能:简易电子琴,简易点唱机,追赶时光
硬件构思:STM32F103单片机主控,8个带灯按键,2个普通按键用于复位和模式切换,无源蜂鸣器用于播放音效,OLED屏幕用于显示分数等信息。
包含知识点:硬件电路设计,PCB设计,单片机编程。
我打算做成开源的项目,把所有的资料都无偿奉献给别人。并且这也不是商业项目,用这个的方案做游戏机的话要赔的内裤都要当掉。
完整的项目要包含电路设计、PCB设计、投板与物料采购、焊接与调试、代码编写等环节。由于精力限制,我先把代码编写的过程写成一系列的简单教程。把PCB源文件分享给大家。感兴趣的话可以可以自己去投板,买料焊接调试——这个过程是很重要的,相信很多学生没有自己焊接调试的经验,最多只在开发板上写过代码。而实际工作中,调试工作非常重要。在不确定硬件好坏的情况下写代码,与在开发板上写代码,体验截然不同。脱离硬件写程序,不是电子工程师的作风。
我听过一个段子:有个人写了个服务器的程序,服务器是嵌入式的,放在一台机柜中。不知道,每到晚上10点。服务器就自动关机了。他分析可能是因为夏天,天气太热了。于是他采购了风扇,准备装到机柜上。知道准备去装风扇,他才发现:原来是管楼道的大妈闲天气太热了,每到晚上十点,轮她值班时,就把机柜拔了,插个电风扇,第二天再把机柜插上。
硬件上的一个小问题,可能导致系统的功能都实现不了。因此建议自己焊接调试。这是源文件。如果你不具备这项能力,或者懒得管硬件,也可以评论,我可以把板子卖给您。定价就200吧,成本都超过100了,我还得抽时间焊接——其实我也懒得焊接。
上个预览图
心形PCB,自我感觉还不错。按键的位置都试验过,配上有机玻璃,也比较顺手。实际上买了蓝色的OLED,颜值也不错 。
PCB的源文件
预览图里的按键的3D模型也是我自己做的,可能网上暂时还没有,STEP文件链接也放在这里。
按键的3D模型
完成项目,你将得到:
1、一个由你自己设计的不知道能不能用但一定丑的要命的打地鼠掌机,虽然没什么卵用但是表白一定能感动你的对象。
2、开源,分享,解决问题,做了一件很酷的事情,兴许顺带可以解决毕设问题。
3、学到一些电子开发的知识,会画简单的电路板会写简单的程序,最好能培养一点对电子设计的热爱。