STM32——电容触摸按键实验

电容触摸按键实验——物联网创新实验室 2021.3.30
Dashai’s products must be excellent

实验目标:
用 TIM5 的通道 2(PA1)来做输入捕获,并实现一个简单的电容触摸按键,通过该按键控制 DS1 的亮灭。

电容触摸按键简介:
在这里插入图片描述

TPAD为模块上一小块覆铜区域,
Cs 是没有触摸按下时 TPAD 与 PCB板之间的杂散电容,
Cx 则是有手指按下的时手指与TPAD之间形成的电容。
注意:最前要先给电容放电……
用检测电容充放电时间的方法来判断是否有触摸
曲线A表示无手指触摸时Vc达到Vth时曲线,用时Tcs
曲线B表示有手指触摸时Vc达到Vth时曲线,用时Tcs+Tcx

所以只要能够区分 Tcs 和 Tcs+Tcx,就已经可以实现触摸检测了,当充电
时间在 Tcs 附近,就可以认为没有触摸,而当充电时间大于 Tcs+Tx 时,就认为有触摸按下(Tx为检测阀值)。

程序思想:
1.使用PA1(TIM5_CH2)来检测 TPAD 是否有触摸,
2.检测前,先配置PA1 为推挽输出,目的是给电容放电;
3.配置PA1 为浮空输入,利用外部上拉电阻给电容充电,同时开启 TIM5_CH2 的输入捕获,检测上升沿,当检测到上升沿的时候,就认为电容充电完成了,完成一次捕获检测。
4. MCU 每次复位重启,就执行一次捕获检测(可以认为没触摸),记录此时的值,记为 tpad_default_val,作为判断的依据,后续的捕获检测,我们就通过与 tpad_default_val 的
对比,来判断是不是有触摸发生。

具体程序:
tpad.c 和 tpad.h存放触摸按键驱动代码
tpad.c---------------------------------

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

一地乱码

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值