查看: 4290|回复: 1

【香蕉派程序开发】增加12个按键(2) - 工作原理

[复制链接]
  • TA的每日心情
    奋斗
    2022-9-16 05:52
  • 签到天数: 1368 天

    连续签到: 1 天

    [LV.10]以坛为家III

    发表于 2014-9-24 09:27:58 | 显示全部楼层 |阅读模式
    分享到:
        其实原理很简单,就是电阻分压的方式来得到不同的电压,从而判断出不同按键的按下。先来看一下原理图:
    ADC_KEY.png

        这是借用别人的原理图,他的是16个按键,为了保证可用,我减去了4个,原因后面说明。

        在输入电压的两遍分别接了若干个电阻,每个电阻对应不同的按键。当有某个按键按下时,根据它前后电阻的阻值不同,来得到这个按键应该产生的电压,输入到LRADC口中检测,用程序来判断它的状态,并告诉系统按下抬起的事件。

        原理很简单,但是也有一些需要考虑到的地方:
        1.A20 的LRADC最大可检测的电压为2V,所以要保证分压后的电压不能超过2V;
        2.A20 的LRADC只有6位,即从0~63共64个数据。2V / 64 = 0.03125V,也就是说,LRADC最小能够检测到的电压变化为0.03V,每个按键按下后的电压差必须要大于0.03V,否则程序没有办法判断出是哪个按键了;
        3.香蕉派输出的电压最低的为3.3V,所以要基于3.3V来选择适配的电阻。

        为了保证这三点要求,我做了小小的修改:
    修改.png
        变化不大。而且我手中没有500欧的电阻,用了两个1K的并联来得到500欧。

    IMG_0210.JPG
        键盘的背面。由于是直接焊的,开始考虑需要双面走线,所以使用了单面的万能板。后来画了个图,发现单面走线也可以,也就是说单面或双面的万用板都可以。这个图没带着,稍后提供。

        下面就该自己动手焊接了。



    回复

    使用道具 举报

  • TA的每日心情
    奋斗
    2019-12-1 10:07
  • 签到天数: 1617 天

    连续签到: 1 天

    [LV.Master]伴坛终老

    发表于 2014-9-24 11:39:23 | 显示全部楼层
    学习了,收藏。
    回复 支持 反对

    使用道具 举报

    您需要登录后才可以回帖 注册/登录

    本版积分规则

    关闭

    站长推荐上一条 /5 下一条



    手机版|小黑屋|与非网

    GMT+8, 2024-12-19 19:17 , Processed in 0.142259 second(s), 18 queries , MemCache On.

    ICP经营许可证 苏B2-20140176  苏ICP备14012660号-2   苏州灵动帧格网络科技有限公司 版权所有.

    苏公网安备 32059002001037号

    Powered by Discuz! X3.4

    Copyright © 2001-2024, Tencent Cloud.