早就想改下我办公室的自动茶台了。早年用数字电路4017搭的控制器一直不稳定,后来索性改成遥控工作了,可这不符合我追求完美的习惯。
说说初衷:经过声控、磁控、触摸、遥控、金属按钮等多种方案理性评估后,还是感性的认为,敲击控制的开关在这种场合比较有感觉。于是我又胡乱的搜了一圈,证明大脑短路的还是自己——没有发现有人设计过这种开关,可能是大家觉得这个设计不够炫,很白痴吧。。。但是,我喜欢
一接触Arduino,我就罗列了一堆想做的东西,敲击开关的应用是首当其冲的。不过Arduino成品板做这么简单的应用,有些大材小用了。自从上一次我的乞丐版ATmega8L烧制成功,觉得这个价位和功能特别适合这种应用。不是简单的成本问题,只是觉得用这个价位实现这个功能更有乐趣。
电路部分也无需多说,在上次的ATmega8L最小系统板子上直接焊接了两路三极管结构驱动的继电器输出,用来驱动茶台的开合;常规供电是12V的,加了
个7805的电源电路用来对MCU供电;传感器是几年前从电子市场上买的报警器用的震动传感器,拆开后发现实质是压电陶瓷片配合运放电路的模块,灵敏度可
调。
传感器,买了很久了。当时价格好像是¥15
另外需要说明的是,以前有一路扩展功能(茶台隔板的水平移动,使用储物空间)因为机械部分材料不可靠被拆掉了,程序中已经预留了接口,以后再改结构恢复。
在上期做的乞丐版8L洞洞板上直接焊接的三极管,继电器,稳压IC。裁掉周边多余的,刚好装入以前的遥控接收外壳。
背面看惨不忍睹...
控制部分总共花费< ¥25
完整的功能实现:
1.系统接电启动,蜂鸣器发出三声蛐蛐低音叫声,然后停顿后发出两声高音叫声,表示系统已经启动。
关于声音部分,有个花絮:我一直接受不了有源蜂鸣器产生的单一”嘀“的噪声,本来打算用音符体现,结果调用一个音符库就要6k左右空间,对于8k的容量来说,是不可能完成的任务。如果没有音符,我能接受的就是高级轿车安全带提示的咚咚声,但我一直不知是怎么实现的,据说用了和弦芯片。希望有了解的同学给扫下盲。经过无意间的实践,居然歪打正着的把铃音调成了蛐蛐叫声。
而且音色还算正点。但最理想的状态是不接有源蜂鸣器的保护贴纸,就会产生蛐蛐叫的效果,揭了以后像是另一种虫子,本地叫“油葫芦”,不过声音太大,不实
用。细节决定成败,在提示音的问题上,用最简单的几行代码做了个蛐蛐效果,而且重要的是在这个场合比较合适,超过了我最喜欢的“咚咚”声(用在仪器上会更
好)。
言归正传,此时系统已经启动成功开始待命了。
2.茶台展开:用手有节奏的拍击桌面三次,表示茶台展开指令,蜂鸣器发出两声高音蛐蛐叫声,继电器工作,驱动推杆电机将茶台展开。如果敲击一次,或者二次,四次、五次。。。茶台会认为是干扰信号,发出三声低音蛐蛐叫声,重新等待指令。
3.茶台隔板平移,展开储物空间。(这个功能目前因为机械原因暂时没有加入,但程序中已经体现)这是下一个逻辑,茶台展开时才会启用。用手有节奏的拍击桌
面两次,蜂鸣器发出两声高音蛐蛐叫声,继电器工作,驱动电机工作,将茶台隔板平移,展开储物空间,这时,可以把藏在储物空间里的好茶拿出来了。!-
_- 这里的电机,以前是上学时花3块钱买的处理110v步进电机,以后准备换成同步电机。舵机其实可以直接用,但速度太快,不优雅。。。(从没用过舵
机,不知能不能加入pwm调速功能)
然后,再拍两次,隔板平移归位,此时就可以泡茶了。
如果在隔板移开的情况下,拍了三次,或者别的次数,茶台都会忽略,发出三声低音叫声,表示抗议。
4.茶台恢复。茶喝完了,在隔板归位的前提下,或者你只是无聊试试,根本没有拍出隔板,再拍三次,继电器工作,推杆电机换相,茶台关闭,得瑟结束。中间设计了一个友善的停顿,防止夹手。
照片在相机里没导出,回头补上。
当年的视频,比较完整,后来把隔板功能去掉了,换成了能储水的小茶台,最近准备恢复。
视频需要头部左倾90度观赏。
video url http://player.youku.com/player.php/sid/XMTIxMDIwNzk2/v.swf
代码是在深夜在神志不清前,写了两个多小时。很乱,逻辑更乱,期待达人给优化一下。
输出后hex是5103字节,还算满意。我把编译后的hex附上,有8L的可以直接用USBISP线烧进去。
|