本帖最后由 皈依 于 2016-7-28 21:44 编辑
数电完结暂定篇
上一篇帖子中做了4个很简单的小功能,也遗留了一些问题。
不过大家看标题!既然是完结篇,那么一定是解决了遗留问题!完善并拓展了功能!最后再来个大招!妥妥的~
第一:解决遗留问题
上一篇的触摸按键问题未解决,今天用示波器测量后发现原来是简单的逻辑错误。
ufun的触摸芯片电平翻转和我之前用过的触摸芯片刚好相反,ufun板子上:未按下触摸按键时,输入引脚为低电平,当按下触摸按键后,输入引脚的电平为高电平。所以我在程序中做了修改,将浮空输入改成了下拉输入。。。感觉抗干扰性能好一丢丢。。。纯粹个人感觉~~嘿嘿~
第二:完善并拓展功能
在上一篇的4个简单的功能基础上,我进行了一定的修改,做了新的功能。
第一个功能保持不变,依旧是七彩呼吸灯。
第二个功能保持不变,依旧是根据ufun板子摆放的方向,RGB灯亮的颜色进行切换。
第三个功能是蜂鸣器间隔鸣响。
第四个功能就是大招了
第三:不算大招的大招
用蜂鸣器自制了一个两只老虎的音乐,并配合LED3和RGB灯进行闪烁。
(有4个调调哦~一直听下去,一遍结束后会切换调调再来一遍~)
最后:就是加入了触摸按键可以切换功能的能力,通过触摸4个不同的按键切换4种不同的功能。
在写代码的过程中对ufun有一个小小的建议:触摸按键对应的4个引脚分别是PB3,PB4,PC4,PC5。
对于我这种喜欢用外部中断做按键的家伙来说简直就是恶梦啊。。。PB4和PC4无法共用第四个外部中断。。。
而用按键扫描的话就无法通过按键打断正在播放的音乐。。。。。。
思前想后。。。最后的最后。。。我选择了goto。。。
虽然实现了功能,不过我没做现场保护,因为功能少,程序也比较简单,
建议大家还是别像我一样,能不用goto就别用。。。
所以如果4个引脚可以对应到不同序号的引脚的话,问题处理起来就要更简单一些。
言归正传,我要着重讲一下两只老虎。。。
该程序写了两版,第一版是万能版,就是说大家只要把随便一个音乐的简谱替换掉程序里面的两只老虎的简谱,就可以播放你喜欢的音乐了,但是该版本有一个问题,就是音乐是有节奏感的,节奏的变化即间隔和音符长度的变化。。。所以该版本程序播放出来的音乐比较生硬。
然后我就做了第二版程序,舒适版,也就是加入了间隔时间,让两只老虎听起来更加舒适,和原版接近。
但是缺点也很明显,就是代码繁琐,拓展性能差,要做新的歌曲的话还要重新进行节奏调试。
为了演示效果,我就注释掉了第一版程序,用第二版程序进行掩饰。
不过截至发帖之前,我已经想到了更好的方法解决音乐舒适性和拓展兼容性的问题。
暂时卖个关子,把问题留给大家,希望大家积极讨论,毕竟人多力量大么~说不定有更好的思路。
而我在最后的最后
一定会把我的解决思路也写成代码发新的帖子和大家分享的~
最后,由于手边没有拓展板和SD卡,数电功能就暂时告一段落把~我这个懒家伙要去学习模电部分啦,老样子,有心得后来和大家分享~ 另外如果对我发布的东西有疑问,建议或者意见的,希望大家积极讨论~
在结尾部分有我录制的视频和代码分享~希望大家玩个痛快,不要辜负ufun这么帅的板子!!!