STM32的电容触摸按键实验

简介

这个实验参考的是原子哥的电容触摸按键实验,用到的是芯片内部之外的外设,使用的原理是RC的充放电。

RC充放电电路原理

1、RC电路充放电公式:
Vt=V0+V1V0(1et/RC) Vt = V0+(V1-V0)* (1-e^{-t/RC})
V0 为电容上的初始电压值;
V1 为电容最终可充到或放到的电压值;
Vt 为t时刻电容上的电压值。

2、电容充电时间与电容大小关系
STM32的电容触摸按键实验

3、结论:同样的条件下,电容值C跟时间值t成正比关系,
电容越大,充电到达某个临界值的时间越长。

电容触摸按键原理

STM32的电容触摸按键实验
1、R:外接电容充放电电阻。
2、Cs:TPAD和PCB间的杂散电容。
3、Cx:手指按下时,手指和TPAD之间的电容。
4、开关:电容放电开关,由STM32 IO口代替。

检测电容触摸按键过程

没有按下的时候,充电时间为T1。按下TPAD,电容变大,所以充电时间为T2。我们可以通过检测两次的充放电时间,来判断是否按下。

STM32的电容触摸按键实验

硬件连接

STM32的电容触摸按键实验

程序的几个重要函数

STM32的电容触摸按键实验
STM32的电容触摸按键实验

程序

主程序
STM32的电容触摸按键实验
子程序
STM32的电容触摸按键实验

STM32的电容触摸按键实验
STM32的电容触摸按键实验
STM32的电容触摸按键实验