查看: 3787|回复: 5

【PSoC3心得】电容触摸条实验

[复制链接]
  • TA的每日心情
    无聊
    2016-12-20 15:08
  • 签到天数: 510 天

    连续签到: 1 天

    [LV.9]以坛为家II

    发表于 2013-7-31 22:16:17 | 显示全部楼层 |阅读模式
    分享到:
      第一次玩电容触摸技术,原理还没吃透,不过总算建立了自己的第一个工程。实验还是基于论坛的PSoC3开发板,虽然说板子自带的例程中就有电容触摸的,但是因为原来例程中使用的Capsense模块已经被Cypress遗弃了,所以这次我使用了标准模块Capsense CSD来建立工程,配置是不一样的,代码也不一样。闲话少说,直接开始吧。
      首先在原理图中加入Capsense CSD模块,并进行相应的配置:
      通用配置:
       QQ图片20130731213212.jpg
      校准方法(turning method)选择自动校准(SmartSense),这当然是最方便的。你还可以选择不校准或人工校准,本来我是想人工校准的,因为Cypress提供了相应的校准PC GUI,想尝试下。不过试了半天没成功,因为需要USB到I2C的桥接器。
      number of channels选择传感器扫描通道数,选2的话就是双通道同时扫描,速度快,当然需要的资源也多。
      raw data noise filter用来选择对原始数据的数字滤波方法。
      scan clock设置扫描频率,最快24MHz。
      打开第二个选项卡,鼠标点击Linner Sliders,在左上角出现add linner slider,点击就可以加入一个线性滑条。
       QQ图片20130731215033.jpg
      在右边我们可以进行滑条的参数设置,number of senseor elements设置滑条是由几个按键块组成的,我的开发板是5个,API resolution设置滑条的分辨率。虽说滑条只由5部分组成,但是通过插值算法,可以将其分辨率提高,这里我们设置为64,因为刚好是8(LED数)的倍数,比较好处理。
      这样设置就差不多了,其他的配置可以默认。
      CapSense CSD配置好之后,我们在加入LED模块,主要是由控制寄存器和数字输出引脚组成,整体结构如下图
    QQ图片20130731215843.jpg
      再按下面配置引脚
    QQ图片20130731215956.jpg
      注意这里的Cmod_CH0是电容Cmod的测量端(接比较器),是根据开发板原理图设置的。
      编译下工程,再在主函数加入如下代码就OK了(都注释了,我就不罗嗦了)
    1. void main()
    2. {
    3. uint8 pos = 0xff;

    4. CYGlobalIntEnable; //开启全局中断

    5. CapSense_1_Start(); //开启并初始化Capsense CSD
    6. CapSense_1_InitializeAllBaselines(); //初始化所有的基准线
    7. CapSense_1_ScanEnabledWidgets(); //扫描所有的按键

    8. while(1)
    9. {
    10. CapSense_1_UpdateEnabledBaselines(); //更新基准线
    11. CapSense_1_ScanEnabledWidgets(); //扫描所有的按键
    12. while(CapSense_1_IsBusy() != 0){} //等待扫描完成
    13. //读取扫描值,因为分辨率为64,LED灯有8个,所以将扫描值除以8
    14. pos = (uint8)(CapSense_1_GetCentroidPos(CapSense_1_LINEARSLIDER0__LS) >> 3);

    15. LED_Reg_Write(~(1 << pos)); //点亮对应的LED灯

    16. }

    17. }
    复制代码
    效果大家应该都猜得到,我就不用再拍个视频了(太懒了)。最后,再把完整工程和Capsense CSD的中文数据手册一起上传吧,我主要还是看数据手册学的,不过要想搞清楚原理,主要还是要看其他资料才行,等再有收获了再来讨论吧。
    CapSense_CSD.zip (1.42 MB, 下载次数: 32)
    回复

    使用道具 举报

  • TA的每日心情
    奋斗
    2020-9-28 10:10
  • 签到天数: 1018 天

    连续签到: 1 天

    [LV.10]以坛为家III

    发表于 2013-7-31 22:18:53 | 显示全部楼层
    哇哦,小明这么晚还这么用功,必须顶!!!给力
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    无聊
    2016-12-20 15:08
  • 签到天数: 510 天

    连续签到: 1 天

    [LV.9]以坛为家II

     楼主| 发表于 2013-7-31 22:23:26 | 显示全部楼层
    xinxincaijq 发表于 2013-7-31 22:18
    哇哦,小明这么晚还这么用功,必须顶!!!给力

    呵呵,哪里哪里
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    无聊
    2016-12-20 15:08
  • 签到天数: 510 天

    连续签到: 1 天

    [LV.9]以坛为家II

     楼主| 发表于 2013-7-31 22:25:53 | 显示全部楼层
    wyzamazon 发表于 2013-7-31 22:23
    给力啊

    为什么要偷笑
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    无聊
    2016-12-20 15:08
  • 签到天数: 510 天

    连续签到: 1 天

    [LV.9]以坛为家II

     楼主| 发表于 2013-7-31 23:02:54 | 显示全部楼层
    wyzamazon 发表于 2013-7-31 22:43
    随便的一个表情啊

    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    擦汗
    2021-6-1 08:44
  • 签到天数: 398 天

    连续签到: 2 天

    [LV.9]以坛为家II

    发表于 2013-7-31 23:56:26 | 显示全部楼层
    我也来顶~~~~~~~~~~~~~
    回复 支持 反对

    使用道具 举报

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

    本版积分规则

    关闭

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



    手机版|小黑屋|与非网

    GMT+8, 2025-1-11 19:46 , Processed in 0.160247 second(s), 25 queries , MemCache On.

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

    苏公网安备 32059002001037号

    Powered by Discuz! X3.4

    Copyright © 2001-2024, Tencent Cloud.