查看: 6700|回复: 4

【PSOC4】入门学习笔记6——电容触摸滑条控制LED灯

[复制链接]
  • TA的每日心情
    开心
    2019-7-11 11:26
  • 签到天数: 1982 天

    连续签到: 1 天

    [LV.Master]伴坛终老

    发表于 2013-10-26 22:02:25 | 显示全部楼层 |阅读模式
    分享到:
    本帖最后由 feiante 于 2013-10-26 23:22 编辑

    今天主要是学习电容式感应组件,通过滑动板子上的触摸滑条来改变LED灯的亮度。
    试验步骤:
    1、在原理图界面中放置一个CapSense CSD组件,一个时钟组件,一个PWM组件以及一个数字量输出引脚组件。如图1.JPG所示。
    2、配置CapSense CSD组件:双击CapSense CSD组件,General选项按照默认,不用改动。Widgets Config选项中,由于我们的电路板使用的是滑条触摸方式,所以选择Linear sliders,点击Add linear slider加入一条触摸滑条。在右边Number of Sensor Elements处写入5,因为我们的滑条有5个传感器。API Resoution处写入255,此处后面会继续解释。剩下的选项都是按照默认的,点击OK配置好CapSense CSD组件。
    3、配置PWM组件:如图2.jpg所示,设置Compare为32767,这样在PWM初始化时,输出的占空比为50%,LED灯的亮度为中等亮度,当然如果设置为65533或1时,初始化后LED灯分别为最暗(基本上看不到亮度)或最亮状态。
    4、配置数字引脚为输出状态。
    5、编写程序:按照图3.JPG和4.JPG编写程序。
    6、打开CapSense_LED.cydwr,按照原理图分配芯片管脚。
    7、编译并下载程序。

    程序分析:
    1、首先是初始化PWM和CapSense CSD组件:PWM_1_Start(); CapSense_1_Start();        
    2、扫描所选的传感器:CapSense_1_InitializeAllBaselines();这个函数就是对每个传感器执行CapSense_1_InitializeSensorBaseline()函数。
    CapSense_1_InitializeSensorBaseline()函数包括以下几个功能:扫描每个或一组传感器;初始化每个传感器的基准线的数据。
    3、更新基准线:CapSense_1_UpdateEnabledBaselines();
    4、扫描所有的传感器,如果扫描结束,就执行相应的操作。(此处是获得手指触摸的位置并根据位置改变PWM的比较值,从而改变LED灯的亮度。)

    需要说明的:
    1、if (curPos == 0xFFFF),为什么是FFFF呢?组件手册上写到如果没有任何传感器处于活动状态,则返回值是0xFFFF。
    2、PWM_1_WriteCompare((uint32)curPos *255); 255是什么意思?在配置CapSense CSD组件时,API Resoution处写入255表示把整个滑条分为255等分,假设滑条最左边为0,那么手指滑到最右边时,CapSense_1_GetCentroidPos(CapSense_1_LINEARSLIDER0__LS);函数返回值就是255。(如图5.JPG和6.JPG所示,分别为点击滑条最左边和最右边时候的状态)
    由于PWM的周期为65535,所以65535除以255等于257。所以PWM的比较值设置为255.





    1.JPG
    2.JPG
    3.JPG
    4.JPG
    5.JPG
    6.JPG
    回复

    使用道具 举报

    该用户从未签到

    发表于 2013-11-20 13:48:58 | 显示全部楼层
    xiexie!!












    超级P57官网 P57 泰尔维亭超级p57 超级P57官方网站 超级p57  
    回复 支持 反对

    使用道具 举报

  • TA的每日心情

    2023-7-25 22:49
  • 签到天数: 385 天

    连续签到: 1 天

    [LV.9]以坛为家II

    发表于 2016-11-23 10:56:43 | 显示全部楼层
    Thread t1(thread1);
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    难过
    2021-2-27 22:16
  • 签到天数: 1568 天

    连续签到: 1 天

    [LV.Master]伴坛终老

    发表于 2017-12-17 18:48:03 | 显示全部楼层
    做个标记,有空学下
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2018-4-4 09:28
  • 签到天数: 12 天

    连续签到: 1 天

    [LV.3]偶尔看看II

    发表于 2018-2-26 23:20:42 | 显示全部楼层
    谢谢!比英文的好懂多了
    回复 支持 反对

    使用道具 举报

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

    本版积分规则

    关闭

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



    手机版|小黑屋|与非网

    GMT+8, 2024-4-16 23:07 , Processed in 0.166189 second(s), 25 queries , MemCache On.

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

    苏公网安备 32059002001037号

    Powered by Discuz! X3.4

    Copyright © 2001-2020, Tencent Cloud.