查看: 5015|回复: 13

[分享] 【YL-KL26Z试用】触摸按键的使用

[复制链接]

该用户从未签到

24

主题

410

帖子

0

金牌会员

Rank: 6Rank: 6

积分
1203
最后登录
2018-6-27
发表于 2015-3-13 23:27:38 | 显示全部楼层 |阅读模式
触摸按键是第一次接触,觉得蛮有意思的,所以最先尝试下
1.png
就电路图而言,触摸式按键真没啥,也确实,其实板子上貌似也就层塑料,看起来很普通,但实现效果还是蛮炫的。
原理呢是利用人手接触改变电容大小来实现的,通俗点,你手触摸到哪个位置,那里的电容就会发生变化,检测电路就会检测到,并将由于电容改变而带来的模拟信号的改变转化为数字信号的变化,进行处理!
详细点说PCB材料构成基本电容,PCB上大面积的焊盘(触摸按键)与附近的地构成的分布电容,由于人体电容的存在,当手指按上按键后,改变了分布电容的容量(原来的电容并上了人体电容),通过对PAD构成的分布电容充放电或构成振荡电路,再检测充放电的时间,或者振荡频率,脉冲宽度等方式可以检测电容容量的变化,继而可判断按键是否被按下。
电容式感应触摸按键实际只是PCB上的一小块覆铜焊盘,当没有手指触摸时,焊盘和低型号产生约5—10PF的电容值,我们称之为“基准电容”故为了PCB设计尽量达到这值,PCB需要进行更好设计!
2.png
这是网上找的,呵呵,借鉴借鉴,就这回事。
详情感兴趣的可以求下度娘。各家都有特色,我就不推荐了

看看程序。要实现触摸按键功能
首先得初始化
  1. void TSI_Init (void)
  2. {
  3.   SIM_SCGC5 |= SIM_SCGC5_TSI_MASK;  // Enable clock gating for TSI
  4.   /* Enable proper GPIO as TSI channels */
  5.   PORTB_PCR16 = PORT_PCR_MUX(0);   // PTB16 as TSI channel 9
  6.   PORTB_PCR17 =  PORT_PCR_MUX(0);   // PTB17 as TSI channel 10
  7.   PORTC_PCR0 =  PORT_PCR_MUX(0);   // PTB17 as TSI channel 13
  8.   NVIC_DisableIRQ((IRQn_Type)TSI0_IRQn);

  9.   TSI0_GENCS |= (TSI_GENCS_ESOR_MASK
  10.                    | TSI_GENCS_MODE(0)
  11.                    | TSI_GENCS_REFCHRG(4)
  12.                    | TSI_GENCS_DVOLT(0)
  13.                    | TSI_GENCS_EXTCHRG(7)  
  14.                    | TSI_GENCS_PS(4)
  15.                    | TSI_GENCS_NSCN(11)
  16.                    | TSI_GENCS_TSIIEN_MASK
  17.                    | TSI_GENCS_STPE_MASK
  18.                    //| TSI_GENCS_STM_MASK     //Trigger for the module 0=Sofware
  19.                    );
  20.   
  21.   TSI0_GENCS |= TSI_GENCS_TSIEN_MASK;
  22.   
  23.   TSI_SelfCalibration();
  24. }
复制代码
仔细看下程序,可以看出与其他厂家芯片接触摸屏原理是不同的。此处采用TSI的方式。什么叫TSI channels?具体的GPIO定义就得研究手册了。
板子的mcu是MKL26Z128VLH4,查看其对应datasheet
3.png
居然还真有TSI channels的介绍,由此不得不感慨freescale的强大,居然还有这功能
4.png
关于TSI详细的可以看datasheet的43章,关于怎么使用TSI讲的算很详细了,本人就不在此献丑了。
这个功能其实很有用,可以用于许多场合,像汽车电子方面,智能家居,可穿戴设备上,用来检测电压电流还是很棒的。
这块芯片可支持16个通道,即可支持16种设备的检测,想想就可以做很多事情。

最后程序编译下载
5.gif

其实从原理图可以看见触摸按键其实和led之前的电路没有任何关系,完全独立的,但放在一起,实现的效果确实蛮有意思的。



回复

使用道具 举报

  • TA的每日心情
    开心
    2020-5-24 10:39
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]初来乍到

    140

    主题

    2087

    帖子

    0

    金牌会员

    Rank: 6Rank: 6

    积分
    3913
    最后登录
    2020-5-24
    发表于 2015-5-16 19:23:20 | 显示全部楼层
    谢谢分享学习一下
    该会员没有填写今日想说内容.
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2018-7-23 21:04
  • 签到天数: 103 天

    连续签到: 1 天

    [LV.6]常住居民II

    228

    主题

    5379

    帖子

    0

    金牌会员

    Rank: 6Rank: 6

    积分
    16711
    最后登录
    1970-1-1
    发表于 2015-5-16 20:16:22 来自手机 | 显示全部楼层
    楼主辛苦啦,学习了
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    奋斗
    2017-5-3 11:19
  • 签到天数: 10 天

    连续签到: 1 天

    [LV.3]偶尔看看II

    50

    主题

    1万

    帖子

    0

    金牌会员

    Rank: 6Rank: 6

    积分
    14090
    最后登录
    2024-4-19
    发表于 2015-5-17 08:49:06 | 显示全部楼层
    学习了。。。 nothing.png nothing.png nothing.png nothing.png nothing.png nothing.png nothing.png nothing.png nothing.png nothing.png
    该会员没有填写今日想说内容.
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    奋斗
    2025-5-7 09:07
  • 签到天数: 353 天

    连续签到: 1 天

    [LV.8]以坛为家I

    141

    主题

    8056

    帖子

    0

    金牌会员

    Rank: 6Rank: 6

    积分
    5785
    最后登录
    2025-5-7
    发表于 2015-5-17 13:52:14 | 显示全部楼层
    通过触摸可以控制16路,很不错的模块,值得学习下
    该会员没有填写今日想说内容.
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    24

    主题

    410

    帖子

    0

    金牌会员

    Rank: 6Rank: 6

    积分
    1203
    最后登录
    2018-6-27
    发表于 2015-5-30 21:29:24 | 显示全部楼层
    suoma 发表于 2015-5-16 19:23
    谢谢分享学习一下

    互相学习
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    24

    主题

    410

    帖子

    0

    金牌会员

    Rank: 6Rank: 6

    积分
    1203
    最后登录
    2018-6-27
    发表于 2015-5-30 21:29:42 | 显示全部楼层
    lkl0305 发表于 2015-5-16 20:16
    楼主辛苦啦,学习了

    互相学习
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    24

    主题

    410

    帖子

    0

    金牌会员

    Rank: 6Rank: 6

    积分
    1203
    最后登录
    2018-6-27
    发表于 2015-5-30 21:30:01 | 显示全部楼层

    互相学习
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    24

    主题

    410

    帖子

    0

    金牌会员

    Rank: 6Rank: 6

    积分
    1203
    最后登录
    2018-6-27
    发表于 2015-5-30 21:30:19 | 显示全部楼层
    wambob 发表于 2015-5-17 13:52
    通过触摸可以控制16路,很不错的模块,值得学习下

    恩,很不错的东西
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2020-5-24 10:39
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]初来乍到

    140

    主题

    2087

    帖子

    0

    金牌会员

    Rank: 6Rank: 6

    积分
    3913
    最后登录
    2020-5-24
    发表于 2015-5-31 10:12:42 | 显示全部楼层
    我也做出来了
    【YL-KL26Z试用】触摸按键控制LED - 第2页 - 飞思卡尔FAE线上技术支持 - 飞思卡尔技术社区 https://www.nxpic.org.cn/module/ ... p;page=2#pid2120064
    该会员没有填写今日想说内容.
    回复 支持 反对

    使用道具 举报

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

    本版积分规则

    关闭

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

    Archiver|手机版|小黑屋|恩智浦技术社区

    GMT+8, 2025-7-26 22:39 , Processed in 0.105563 second(s), 27 queries , MemCache On.

    Powered by Discuz! X3.4

    Copyright © 2001-2024, Tencent Cloud.

    快速回复 返回顶部 返回列表