基于PIC16F726的电容感应触摸按键demo说明
PIC16F690单片机做电容触摸程序

TXREG=a3;//把接收到的数据送到发送缓存
while(!TRMT);//等待发送完成
TXREG=a4;//把接收到的数据送到发送缓存
while(!TRMT);//等待发送完成
TXREG=a5;//把接收到的数据送到发送缓存
uint trip[]={400,400,250,320};//按键振荡计数阀值
uchar ltmr1,htmr1;//计时器1的高8位和低8位暂存
uint raw;//16位传感器当前振荡计数值
uchar index=0; //按键标号
uchar keya,keyb,keyc,keyd; //按键状态
RA4=0;
RB4=1;
RB6=0;
RC5=0;
RC6=1;
RC7=0;
}
if(keyc==1)
{
RA2=0;
RA4=0;
RB4=0;
RB6=0;
RC5=1;
RC6=1;
RC7=0;
TMR0=100;
TMR1H=0;
TMR1L=0;
}
if((TMR1IF)&&(TMR1IE))
{
TMR1IF=0;
TMR1H=0;
TMR1L=0;
}
if((RCIE)&&(RCIF))
{
rbuff=RCREG;//读取接收缓存的数据
}
}
// 按钮判断并置位按钮状态滞后量选200
else if(raw>((long)average[index]-(long)trip[index]+150))
电容触摸按键原理及代码

电容触摸按键原理及代码一。
电容触摸按键原理1. RC 充放电电路原理Cx电压从0开始充电,一直到V1。
如果达到同样的电压值,如果电容越大,那么达到的时间越长。
手指按下后,电容值为Cs+Cx,电容变大,充电时间变长,通过判断充电时间长短来判断TPAD是否被按下。
2. 电容触摸按键在PCB板上怎么画首先,人体是具有一定电容的。
当我们把PCB上的铜画成如下形式的时候,就完成了一个最基本的触摸感应按键。
上图左边,是一个基本的触摸按键,中间圆形绿色的为铜(我们可以称之为“按键”),在这些按键中会引出一根导线与MCU相连,MCU通过这些导线来检测是否有按键“按下”(检测的方法多种多样,这将在后面章节中谈到);外围的绿色也是铜,不过外围的这些铜是与GND大地相连的。
在“按键”和外围的铜之间是空隙(我们可以称为空隙d)。
上图右边是左图的截面图,当没有手指接触时,只有一个电容Cp ,当有手指接触时,“按键”通过手指就形成了电容Cf 。
由于两个电容是并联的。
下图更简单的说明了上述原理材料:PCB铜箔形状:原则上可以做成任意形状,中间可留孔或镂空。
我们推荐做成边缘圆滑的形状,如圆形或六角形,可以避免尖端放电效应。
大小:最小4mmX4mm, 最大30mmX30mm,有的建议不要大于15mmX15mm,太大的话,外界的干扰相应的也会增加。
底板覆铜:在电路板底层覆铜是很有必要的,这些接地的覆铜能够最大限度的降低触摸按键的噪声以及外部环境对触摸按键的影响。
推荐采用50%--70%的网格覆铜。
灵敏度:一般的感应按键面积大小和灵敏度成正比。
一般来说,按键感应盘的直径要大于面板厚度的4倍,并且增大电极的尺寸,可以提高信噪比。
各个感应盘的形状、面积应该相同,以保证灵敏度一致。
灵敏度与外接CIN电容的大小成反比;与面板的厚度成反比;与按键感应盘的大小成正比。
外接 CIN电容的选择:CIN电容可在0PF~50PF选择。
电容越小,灵敏度越高,但是抗干扰能力越差。
电容触摸按键设计

在目前市场上可提供的PCB(印刷电路板)基材中,FR4是最常用的一种。
FR4是一种玻璃纤维增强型环氧树脂层压板,PCB可以是单层或多层。
在触摸模块的尺寸受限的情况下,使用单层PCB不是总能行得通的,通常使用四层或两层PCB。
在本文中,我们将以最常用的两层PCB为例来介绍PCB布局,意在为S-Touch TM电容触摸感应设计所用的各种PCB (如FR4、柔性PCB或ITO面板)的结构和布局提供设计布局指导。
PCB设计与布局在结构为两层的PCB中,S-Touch TM触摸控制器和其他部件被布设在PCB的底层,传感器电极被布设在PCB的顶层。
每个传感器通道所需的调谐匹配电容器可以直接布设在该传感器电极的底层。
需要指出的是,S-Touch TM触摸控制器布设在底层,应该保证其对应的顶层没有布设有任何传感器电极。
顶层和底层的空白区域可填充网状接地铜箔。
图 2.1 两层 PCB 板的顶层图 2.2 两层 PCB 板的底层设计规则第1 层(顶层)•传感器电极位于PCB的顶层(PCB的上端与覆层板固定在一起)。
为提高灵敏度,建议使用尺寸为10 x 10 毫米的感应电极。
可以使用更小尺寸的感应电极,但会降低灵敏度。
同时,建议感应电极的尺寸不超过15 x 15 毫米。
如果感应电极超过这一尺寸,不但会降低灵敏度,而且会增加对噪声的易感性。
•空白区域可填充接地铜箔(迹线宽度为6 密耳,网格尺寸为30 密耳)。
•顶层可用来布设普通信号迹线(不包括传感器信号迹线)。
应当尽可能多地把传感器信号迹线布设在底层。
•感应电极与接地铜箔的间距至少应为0.75 毫米。
第2 层(底层)•S -Touch TM控制器和其它无源部件应该设计布局在底层。
•传感器信号迹线将被布设在底层。
不要把一个通道的传感器信号迹线布设在其他传感通道的感应电极的下面。
•空白区域可填充接地铜箔(迹线宽度为6 密耳,网格尺寸为30密耳)。
•传感器信号迹线与接地铜箔的间距应当至少是传感器信号迹线宽度的两倍。
PIC16F690做电容式触摸按键

设计参考了应用笔记AN1101-1104;使用串口通信来读取振荡频率,通过读取没有按下和按下按键的不同频率来确定阀值。
程序运行中也可读取每个按键通道的没有触摸时的1/16平均值,通道的扫描时间为10ms 循环。
配置字是,__CONFIG (0x3BC4);#include<pic.h>#define uchar unsigned char#define uint unsigned intuchar COMP1[]={0x94,0x95,0x96,0x97};//按键通道切换uchar COMP2[]={0xa0,0xa1,0xa2,0xa3};//按键通道切换uint average[]={0,0,0,0};//按键振荡计数平均值uint trip[]={400,400,250,320};//按键振荡计数阀值uchar ltmr1,htmr1;//计时器1的高8位和低8位暂存uint raw;//16位传感器当前振荡计数值uchar index=0; //按键标号uchar keya,keyb,keyc,keyd; //按键状态//-----------------------------uchar usdata=0;//串口发送数据端口号uchar rbuff; //接收缓存uchar a1,a2,a3,a4,a5;void init();//初始化配置void usart();//串口通信void touchkey();//按键判断void main(){init();//初始化配置while(1){usart();//串口通信touchkey();//按键判断}}void interrupt intcon(){if((T0IF)&&(T0IE)){T0IF=0;//进入中断时,10ms读取tmr1的计数值htmr1=TMR1H; //读取计数器高8位ltmr1=TMR1L;//读取计数器低8位raw=raw|htmr1;raw=(raw<<8)|ltmr1;// 按钮判断并置位按钮状态if(raw<((long)average[index]-(long)trip[index])){switch(index){case 0: keya=1; break;case 1: keyb=1; break;case 2: keyc=1; break;case 3: keyd=1; break;default: break;}}// 按钮判断并置位按钮状态滞后量选200else if(raw>((long)average[index]-(long)trip[index]+150)){switch(index){case 0: keya=0; break;case 1: keyb=0; break;case 2: keyc=0; break;case 3: keyd=0; break;default: break;}//求平均值average[index]=average[index]+((long)raw-(long)average[index])/16; }//按键通道切换每10ms切换index=(++index)&0x03;CM1CON0=COMP1[index];CM2CON0=COMP2[index];//清零寄存器为扫描下一通道准备raw=0;ltmr1=0;htmr1=0;TMR0=100;TMR1H=0;TMR1L=0;}if((TMR1IF)&&(TMR1IE)){TMR1IF=0;TMR1H=0;TMR1L=0;}if((RCIE)&&(RCIF)){rbuff=RCREG;//读取接收缓存的数据if(OERR==1){CREN=0;asm("nop");CREN=1;}/* TXEN=1; //打开发送使能TXREG=rbuff;//把接收到的数据送到发送缓存while(!TRMT);//等待发送完成TXEN=0; //关闭发送使能*/}}//*********初始化配置****************void init(){OSCCON=0x70; //振荡器控制寄存器GIE=1;//总中断开PEIE=1;//------定时器0的配置----OPTION=0x86; //选项寄存器配置T0IF=0;//请定时器零中断标志位T0IE=1;//开定时器零中断TMR0=100;//----------------------//------计数器1的配置--------T1CON=0x07;TMR1IF=0;TMR1IE=1;TMR1H=0;TMR1L=0;//---------------------------//-------比较器的配置--------CM1CON0=0x94;CM2CON0=0xa0;VRCON=0xcd;SRCON=0xf0;CM2CON1=0x02;//---------------------------//---------USART的配置-------TXSTA=0x0c;//发送状态寄存器设置(暂时关闭要发时再开) RCSTA=0x90;//接收状态寄存器控制BAUDCTL=0x80;//波特率控制SPBRG=51;//波特率9600SPBRGH=0x00;//波特率9600RCIE=1; //接收中断打开TXIE=0; //发送中断关闭//---------------------------//-----IO口的配置-------ANSEL=0xf2;// |设为数字IO口ANSELH=0x00;//|TRISA=0x22;PORTA=0x00;TRISB=0x20;PORTB=0x00;TRISC=0x0f;PORTC=0x00;RA0=1;}//**********USART************** void usart(){if(rbuff==0x74){//------------------------a1=usdata/10000;a2=usdata%10000/1000;a3=usdata%1000/100;a4=usdata%100/10;a5=usdata%10;a1=a1|0x30;a2=a2|0x30;a3=a3|0x30;a4=a4|0x30;a5=a5|0x30;//------------------------TXEN=1; //打开发送使能TXREG=a1;//把接收到的数据送到发送缓存 while(!TRMT);//等待发送完成TXREG=a2;//把接收到的数据送到发送缓存 while(!TRMT);//等待发送完成TXREG=a3;//把接收到的数据送到发送缓存 while(!TRMT);//等待发送完成TXREG=a4;//把接收到的数据送到发送缓存 while(!TRMT);//等待发送完成TXREG=a5;//把接收到的数据送到发送缓存 while(!TRMT);//等待发送完成TXEN=0; //关闭发送使能rbuff=0;}if(rbuff==0x72){//------------------------a1=average[usdata]/10000;a2=average[usdata]%10000/1000;a3=average[usdata]%1000/100;a4=average[usdata]%100/10;a5=average[usdata]%10;a1=a1|0x30;a2=a2|0x30;a3=a3|0x30;a4=a4|0x30;a5=a5|0x30;//------------------------TXEN=1; //打开发送使能TXREG=a1;//把接收到的数据送到发送缓存 while(!TRMT);//等待发送完成TXREG=a2;//把接收到的数据送到发送缓存 while(!TRMT);//等待发送完成TXREG=a3;//把接收到的数据送到发送缓存 while(!TRMT);//等待发送完成TXREG=a4;//把接收到的数据送到发送缓存 while(!TRMT);//等待发送完成TXREG=a5;//把接收到的数据送到发送缓存 while(!TRMT);//等待发送完成TXEN=0; //关闭发送使能rbuff=0;}if(rbuff==0x30){usdata=0;rbuff=0;}if(rbuff==0x31){usdata=1;rbuff=0;}if(rbuff==0x32){usdata=2;}if(rbuff==0x33){usdata=3;rbuff=0;}}//*************************** //------按键判断void touchkey(){if(keya==1){RA2=1;RA4=0;RB4=0;RB6=1;RC5=1;RC6=1;RC7=1;}if(keyb==1){RA2=0;RA4=0;RB4=1;RB6=0;RC5=0;RC6=1;RC7=0;}if(keyc==1){RA2=0;RA4=0;RB4=0;RB6=0;RC5=1;RC6=1;RC7=0;}if(keyd==1){RA4=0; RB4=0; RB6=1; RC5=1; RC6=0; RC7=0; }}。
Mtouch16f72x实现流程AN1171

AN1171简介本应用笔记将介绍如何使用所有PIC16F72X 器件中的电容触摸传感模块(Capacitive Sensing Module,CSM)。
CSM简化了电容触摸传感应用中所需的硬件和软件设计。
只需在 PCB 上增加触摸传感焊盘。
推荐阅读应用笔记AN1101《电容触摸传感简介》,了解有关电容触摸传感的概念。
电容触摸传感模块CSM允许用户在无外部振荡电路的情况下设计电容触摸传感系统。
CSM具有其内部软件控制的振荡器。
它也可用来检测最多达16路的输入。
在典型应用中,CSM直接连接到PCB上被绝缘材料覆盖的焊盘。
当用户的手指接触焊盘上的绝缘材料时,焊盘的电容增加,从而导致 CSM中的频率偏移。
有关 CSM 硬件的更多信息,请参考器件的数据手册。
CSM简化了电容触摸传感的软件设计,它只需对一些寄存器进行初始化,然后设置测量频率变化的相应方法。
模块初始化初始化 CSM时,相应的电容检测输入必须初始化成模拟输入。
然后设置CSM 寄存器,如例1所示。
例 1:设置电容触摸传感模块频率测量一旦这些寄存器被置位,模块开始振荡。
现在就需要确定相应的频率测量方法。
可以使用的测量方法有:•使用Timer0 作为 CSM的定时器信号源。
•使用 Timer2 作为定时器信号源。
Timer2 使用PR2 来设置所需的时基,从而使Timer2在定义时基方面具有更大的灵活性。
•使用 WDT 从休眠事件中唤醒作为时基。
频率测量: TIMER1门控所有这些方法都使用 Timer1门控输入。
Timer1将作为一个计数器,它在电容触摸传感模块输出频率的每个上升沿递增计数。
选定的时基将启动和停止计数器。
用户通过读取Timer1的值,从而得到振荡器频率的测量值。
推荐使用 Timer1门控工作于单次模式,以便测量选定时基的整个周期长度。
作者:Enrique AlemanMicrochip Technology Inc.TRISA= 0x30;ANSELA= 0x30;//CPS7,CPS6初始化为模拟输入TRISB= 0x3F;ANSELB= 0x3F;//CPS0-CPS5初始化为模拟输入TRISD= 0xFF;ANSELD= 0xFF;//CPS8-CPS15初始化为模拟输入CPSCON0= 0x8C;// 打开电容触摸检测,高频率振荡器,CPSCON1= 0x00;//选择电容触摸通道输入0使用 PIC16F72X中的电容触摸传感模块2009 Microchip Technology Inc.DS01171B_CN第 1页AN1171DS01171B_CN 第 2页 2009 Microchip Technology Inc.选定时基溢出会触发Timer1门控事件结束,从而产生Timer1门控中断。
触摸感应按键介绍课件

减少材料浪费
由于不需要物理接触,可 以减少对实体按键材料的 需求,从而降低对环境的 影响。
便于维护和更新
触摸感应按键通常采用模 块化设计,方便进行维护 和更新,延长了产品的使 用寿命。
03 触摸感应按键的技术发展
技术原理的演变
电阻式触摸感应技术
利用触摸产生的压力改变电阻值,从而检测 触摸位置。
红外线触摸感应技术
触摸感应按键介绍课 件
目录
CONTENTS
• 触摸感应按键概述 • 触摸感应按键的优势与特点 • 触摸感应按键的技术发展 • 触摸感应按键的设计与实现 • 触摸感应按键的未来展望 • 实际应用案例分析
01 触摸感应按键概述
定义与工作原理
定义
触摸感应按键是一种基于触摸感 应技术的控制装置,通过感知手 指或触摸物体的接触来触发相应 的操作或信号。
功能测试
01
对按键的各项功能进行测试,确保满足设计要求。
环境适应性测试
02
在不同温度、湿度等环境下进行测试,验证其可靠性。
优化改进
03
根据测试结果进行优化改进,提高性能和稳定性。
05 触摸感应按键的未来展望
技术创新与突破
新型材料
采用更轻、更耐用、更环保的材料,提高按键的耐用性和环保性。
人工智能集成
详细描述
触摸屏不仅提供了直观、便捷的操作方式,还集成了多种交互功能,如滑动、 缩放、多点触控等,使手机操作更加高效。
案例二:智能家居控制面板
总结词
智能家居控制的关键组件
详细描述
触摸感应按键被广泛应用于智能家居控制面板,如智能灯光、智能音响等,提供 简单、直观的控制方式,提升居住体验。
案例三:公共设施导向标识系统
电容式感应触摸芯片功能说明

触控焊盘自身存在一个分布电容。当手指或者其它物体接近触控焊盘时,触 控焊盘周围的环境(地)改变,导致其分布电容发生变化。这种变化由触控芯片 内部的专用电路转换成频率信号后,交给芯片内部软件处理,而后作出相应的控 制动作。
3、特征
1> 最多支持 8 通道触摸按键 2> 输出可选择为 IIC 或者一对一接口(1 脚选择) 3> 一对一接口下灵敏度端口电容细调,外部电阻 6 级粗调 , IIC 下内部寄存器设置, 4> 端口内部集成电阻,可省略串入电阻 5> 单多按键模式,长短按时间内部寄存器可设置 6> 上电 0.5S 快速初始化 7> 可过电流注入 10V、电子群脉冲 4KV、静电 15KV(非接触)测试 8> 防尘、防水、环境改变自动校准
7 IIC 通信
7.1 开始与停止
7.2 从机地址
7.3 写数据
7.4 读数据
7.5 数据传输注意事项 1,发送数据必须一次全部写入共 17 字节数据。16 字节(0xD0~0xDF)+1 字节校验和,单字节写入和校验码错误写入数据都会被丢弃; 2,传输速率<100K; 3,SDA/SCL 线均需要设置为开漏接口,输出高为外部电阻上拉产生。 输出低,芯片直接拉低。 4,从机(YS8XX)忙碌时 SCL 为低电平,此期间主机不可传输数据。 主机传输数据前,检查 SCL 为高,才能传输下一个数据。
读
按键数量
1-24Key
读
EEPROM 状态 Bit7=1 资料错误 Bit2=1 忙碌
保留
读
按键输出
Bit7 Bit6 Bit5 Bit4 Bit3 Bit2 Bit1 Bit0
08H K8 K7 K6 K5 K4 K3 K2 K1
基于单片机的电容感应式触摸按键原理与程序

基于单片机的电容感应式触摸按键原理与程序——原理近年来,电容感应式触摸按键技术已日臻成熟,在家电领域中,对于各种玻璃面板的家电产品,电容感应式触摸按键,以其高灵敏度、面板免钻孔、安装方便、使用寿命长等优点得以广泛的应用;尤其在许多小家上电诸如电磁炉、音视频设备、电茶壶等等,其应用更是随处可见,但是,毕竟目前这一技术并未完全普及,另外各种专用芯片也尚未统一标准大量上市,出现故障后往往需要更换原厂配件,这就使得业余维修无从下手,目前常见的电容感应式触摸按键的实现方法有两种,一种是专用芯片,有几种键位可选,使用方便,另一种是以单片机为基础通过编程实现,这种方式是将按键功能及其它控制功能综合设计,大大的简化了整个系统的设计,减少了原件降低了成本,应用较多;为此,本文将就玻璃面板式家电上的电容感应式按键的原理进行简单的分析,并且将用STC单片机编程实现电容感式应按键的C源程序及调试方法分享给大家。
图1:如图1所示,是电路原理图,它由两只二极管D1/D2、两只电阻R1/R2、一只充放电电容C0构成,弹簧将Φ12mm的金属片压紧到厚度为5mm的玻璃板的下方,玻璃板的另一面对应金属片的位置就是手指触摸区。
工作原理为:玻璃板接触金属片的附近,有电荷的集聚与其另一表面形成电容结构,无动作时电荷是很微量的电容值也极小,当有手指接触另一侧玻璃表面是,由于人体皮肤所带电荷的参与,使得电荷的运动发生了改变,电容值也会产生很多的变化,这就是感应电容的形成与变化过程,而感应电容的变化,又直接改变了充放电电容的充电电压值,这就给状态的检测提供了依据。
在PWM_IN的高电平段,电源电压经R2、D1给C0充电,在PWM_IN的低电平段,C0经R1、D2对地放电,充放电状态稳定后,ADC0端可以检测到一个稳定的电压值,本系统实测为2.7V左右,当有指触动作时由于感应电容相当于与C0并联了一个电容,其ADC0端检测到的电压将下降,本系统实测为2.3V左右,这个的400mV 的模拟电压量,对于8位ADC而言,是可以准确判别的。
基于PIC16F630的学习型无线遥控开关

基于PIC16F630的学习型无线遥控开关
最近做个遥控开关,家里电灯想改装成无线遥控的,做成稳定性能可靠性能高一点的。
顺便用下PIC 单片机,所以选了手头上有的PIC16F630 单片机,花了我差不多陆续一周的空余时间,一直在改进和改版。
程序一直在完善,电路板子也不断的完善。
从V1.0 版本到V1.2 版本,换了3 版了,都是一步步修改。
日后计划修改成V1.3 版本,加上触摸按键的。
先上个图看看
V1.0 版本调试时候用,有外部晶振,按键缺少上拉电阻,后来补上去了。
V1.1 版本去掉了外部晶振,3 个按键都加了贴片的上拉电阻
V1.2 版本,去买了一个盒子,按照盒子的尺寸来布局,添加了蜂鸣器,开机鸣叫。
学习到正确的遥控编码时也鸣叫。
在制作过程开关中,我发现一个问题:如果不接负载,遥控正常,但是接了一个白帜灯后,有时候遥控期间会突然复位,找了很久都没找到原因,以为是电路布局问题,但是一直测试,发现是继电器吸合后断开时候会引起复位。
我用万一表测量7805 输出,5V 比较稳定的。
但是后来用示波器测试7805 输出,结果发现有100us 的脉冲干扰,峰峰值有10 几V,这样已经能让单片机复位了。
所以问题找到了,应该就是继电器闭合时候引起的,如图所示:
改进办法:就是把7805 输入端电容加大到1000uF,输出用了470uF。
结果测试,干扰脉冲没了,多次测试也没问出现复位了。
现在我就一直测试着,。
电容式触摸按键解决方案

电容式触摸按键解决方案一、方案简介在便携式媒体播放器和移动手持终端等大容量、高可视性产品旳应用中,触摸按键已被广泛采用。
由于其具有以便易用,潮流和低成本旳优势,越来越多旳电子产品开始从老式机械按键转向触摸式按键。
触摸按键方案长处:1、没有任何机械部件,不会磨损,无限寿命,减少后期维护成本。
2、其感测部分可以放置到任何绝缘层(一般为玻璃或塑料材料)旳背面,很容易制成与周边环境相密封旳键盘。
以起到防潮防水旳作用。
3、面板图案随心所欲,按键大小、形状任意设计,字符、商标、透视窗等任意搭配,外型美观、潮流,不褪色、不变形、经久耐用。
从主线上解决了多种金属面板以及多种机械面板无法达到旳效果。
其可靠性和美观设计随意性,可以直接取代既有一般面板(金属键盘、薄膜键盘、导电胶键盘),并且给您旳产品倍增活力!4、触摸按键板可提供UART、IIC、SPI等多种接口,满足多种产品接口需求。
二、原理概述如图1所示在PCB上构建旳电容器,电容式触摸感应按键事实上只是PCB上旳一小块“覆铜焊盘”,触摸按键与周边旳“地信号”构成一种感应电容,当手指接近电容上方区域时,它会干扰电场,从而引起电容相应变化。
根据这个电容量旳变化,可以检测与否有人体接近或接触该触摸按键。
接地板一般放置在按键板旳下方,用于屏蔽其他电子产品产生旳干扰。
此类设计受PCB上旳寄生电容和温度以及湿度等环境因素旳影响,检测系统需持续监控和跟踪此变化并作出基准值调节。
基准电容值由特定构造旳PCB产生,介质变化时,电容大小亦发生变化。
图1 PCB上构建开放式电容器示意图三、方案实现该系列电容式触摸按键方案,充足运用触摸按键芯片内旳比较器特性,结合外部一种电容传感器,构造一种简朴旳振荡器,针对传感器上电容旳变化,频率相应发生变化,然后运用内部旳计时器来测量出该变化,从而达到响应触摸功能旳实现。
该芯片内部自身集成了电容式触摸传感模块,可以做到一种I/O口相应一种按键,外围电路简洁、无需外部组件旳状况下即可通过片上振荡器和电容式触摸感应IO实现触摸按键接口;1.8-3.6V宽电压工作范畴,支持电池供电。
单片机模拟电容触摸按键

单片机模拟电容触摸按键这里我们使用的是检测电容充放电时间的方法来判断是否有触摸,图中R是外接的电容充电电阻,Cs是没有触摸按下时TPAD与PCB之间的杂散电容。
而Cx则是有手指按下的时候,手指与TPAD之间形成的电容。
图中的开关是电容放电开关(由实际使用时,由STM32的IO代替)。
先用开关将Cs(或Cs+Cx)上的电放尽,然后断开开关,让R给Cs(或Cs+Cx)充电,当没有手指触摸的时候,Cs的充电曲线如图中的A曲线。
而当有手指触摸的时候,手指和TPAD之间引入了新的电容Cx,此时Cs+Cx 的充电曲线如图中的B曲线。
从上图可以看出,A、B两种情况下,Vc达到Vth的时间分别为Tcs和Tcs+Tcx。
其中,除了Cs和Cx我们需要计算,其他都是已知的,根据电容充放电公式:Vc=V0*(1-e^(-t/RC))其中Vc为电容电压,V0为充电电压,R为充电电阻,C为电容容值,e为自然底数,t为充电时间。
根据这个公式,我们就可以计算出Cs和Cx。
利用这个公式,我们还可以把战舰开发板作为一个简单的电容计,直接可以测电容容量了,有兴趣的朋友可以捣鼓下。
在本章中,其实我们只要能够区分Tcs和Tcs+Tcx,就已经可以实现触摸检测了,当充电时间在Tcs附近,就可以认为没有触摸,而当充电时间大于Tcs+Tx时,就认为有触摸按下(Tx为检测阀值)。
本章,我们使用PA1(TIM5_CH2)来检测TPAD是否有触摸,在每次检测之前,我们先配置PA1为推挽输出,将电容Cs(或Cs+Cx)放电,然后配置PA1为浮空输入,利用外部上拉电阻给电容Cs(Cs+Cx)充电,同时开启TIM5_CH2的输入捕获,检测上升沿,当检测到上升沿的时候,就认为电容充电完成了,完成一次捕获检测。
在MCU每次复位重启的时候,我们执行一次捕获检测(可以认为没触摸),记录此时的值,记为tpad_default_val,作为判断的依据。
在后续的捕获检测,我们就通过与tpad_default_val的对比,来判断是不是有触摸发生。
金属电容式触摸按键介绍 PPT

应用
MOC结构 薄膜开关(FPC)
PMMA结构 MOC产品
应用
盲人友好界面
领域
▪ 白色家电 — 咖啡机、油烟机、洗碗机、微波炉等等 ▪ 特殊设备 — 电梯等
MOC设计
MOC设计
MOC相邻按键的间距至少为按键直径的1/3~1/2的大小
MOC设计
选择厚度适合的垫片层,建议确保电容的最小偏移量大于6%
MOC与普通电容式按键的区别
电容式触摸的场效应特性会带来一些局限性: 1、标准电容式触摸系统通常无法透过金属表面实现触摸感应。 2、需要特殊软件才能在具有辐射噪声和/或传导噪声的环境下工作。 3、在有水或其他污染物的情况下很难读取按钮。 4、依赖于盲文的视障用户会遇到问题。 5、难以检测到透过手套的触摸。
金属电容式触摸按键介绍
金属表面电容的原理
工作原理
金属表面电容的原理:
金属表面电容触摸系统(即metal over cap):使用悬空放置在电容式触摸传感 器上方的导电目标层作为电容的第二个极板。当用户对目标施加向下压力时,目 标会产生形变,使目标层与感应sensor更接近,间距变小,电容增加。控制器 对感应电极不断地进行充放电,检测触摸前后感应电极上的电压变化,识别触摸 状态。 。(如图1A,图1B)
机电特性
MOC产品结构
MOC产品结构
微芯金属面板电容式触摸DEMO
金属面板结构的 MOC DEMO
PET结构的 MOC DEMO
MOC DEMO结构图
金属面板结构的MOC DEMOMOC DEMO结构图
PET结构的MOC DEMO
MOC特性
MOC 产品特性:
·易于清洁 ·密封性好
防尘,防潮,化学品 ·耐磨、可靠 ·需要按压感应
29. 电容触摸按键实验

容充放电公式:Vc=V0*(1-e^(-t/RC))
普中STM32开发板带您进入ARM世界
我们使用TIM5的通道2(PA1)来检测触摸按键是否按下,每次检测前 ,我们需要先将电容Cs(或 Cs+Cx)放电,即配置PA1引脚为推挽输出模 式,输出一个低电平,才能使电容放电。然后配置PA1 为浮空输入模式 ,利用外部上拉电阻给电容 Cs(Cs+Cx)充电,同时开启TIM5_CH2的输入 捕获,配置极性为上升沿,当检测到上升沿的时候,就认为电容充电完 成了,完成一次捕获检测。
普中STM32开发板带您进入ARM世界
电容触摸按键实验
普中STM32开发板带您进入ARM世界
本讲主要内容
1.电容触摸按键介绍 2.硬件电路 3.编写电容触摸按键控制程序
普中STM32开发板带您进入ARM世界
1.电容触摸按键介绍
触摸按键与传统的机械按键相比,不仅美观而且耐用、寿命长,它颠 覆了传统意义上的机械按键控制,只要轻轻触摸,就可以实现按键开关 的控制、量化调节甚至方向控制。触摸按键已广泛应用于手机、DVD、洗 衣机等消费类电子产品中。本章我们就介绍一种简单的触摸按键:电容 式触摸按键。
我们PZ6806D开发板上的电容触摸按键其实就是一小块覆铜区域,也 称之为触摸感应区。
通常我们会将四周的铜片与电路板地信号连通,触摸感应区设计成方 便手指触摸大小,并将其连接在输入捕获通道上。
普中STM32开发板带您进入ARM世界
触摸感应区与四周的铜片区域就形成了一个电容,通过检测电容充放 电时间即可判断是否有触摸。实现原理:
普中STM32开发板带您进入ቤተ መጻሕፍቲ ባይዱRM世界
普中STM32开发板带您进入ARM世界
3.编写电容触摸按键控制程序
基于PIC16F726的电容感应触摸按键demo说明

28 PGD 27 PGC 26 K6 25 K5 24 K4 23 K3 22 K2 21 K1 20 19 18 RX 17 TX 16 SDO 15 SDI/SDA
R27 4.7K
+5V C7 104
R35 4.7K
R29 4.7K
Q3 LED4
R30 4.7K
R39 Q6 15K
LED3 R37 4.7K
K3
K2
K1
* 按键
LED2 LED1
LED4
LED3
LED8
LED7
LED6
LED5
R9
R10
R11
R12
R13 R14
R15
R16
1K
1K
*
1K
1K
1K
1K
1K
R19
LED8
Q1 82K
D R18 4.7K
LED7 R17 4.7K
R20 Q2 47K
L ED 5
L ED 6
L ED 7 L ED 8
page 6
EV19019
© 2008Burnon International Inc.
基于PIC16F726的电容触摸按键Demo板说明 V1.0 2008.08
5.抗干扰能力测试操作: 抗干扰能力范围主要包括: ① 防水、油误触发
防水、油:当触摸按键面板上有水滴或油滴,按键不会被误触发;当按键与按键之间有一大滴水或油, 触摸其中一个按键的时候,相连的另一个按键不会被误触发。 ② 防高频辐射
基于 PIC16F726 的电容感应触摸按键 Demo 板说明
V1.0 2008.09
○C 2008Burnon International Inc.
01101a_cn1

2008 Microchip Technology Inc.DS01101A_CN 第1页AN1101介绍电容触摸传感应用越来越流行,并在消费应用中也深受欢迎。
本应用笔记将介绍一种使用若干Microchip 器件的电容触摸传感解决方案。
应用笔记针对PIC16F616系列、PIC16F690系列以及PIC16F887系列器件,它们代表了引脚数从低至高的8位单片机。
目前业内已有好几种电容触摸传感技术存在。
多数技术是基于测量由于人手指触摸产生额外电容而改变的频率或占空比。
有些其他的方法则使用电荷平衡或是充电上升及下降时间的测量。
本解决方案使用自激RC 振荡器来测量频率。
历史简介电容触摸传感大约在50多年前就已经出现,现在已经变得越来越易于实现且应用更为广泛。
触摸灯是电容触摸开关的一个经典示例。
触摸灯的出现已有很长一段时间,它由一个简单的电容式开关来开启、关闭灯泡及调节灯的亮度。
新技术使得可以对触摸按钮实现更为复杂的控制。
其关键是要有具有混合信号外设的单片机。
单片机提供了完成电容触摸传感、决策、响应以及其他系统相关任务的能力。
构建良好的传感器现在简要地介绍一下背景知识,包括PCB 焊盘的自然电容和当手指触压焊盘时将发生的情况,这将有助于阐明如何构建良好传感器。
图1:电容图解图2:简单的RC 电路公式1:电容公式表1:术语表作者:Tom PermeMicrochip Technology Inc.标称电容C p玻璃Cu FR4手指触摸C pC f等效电容C p C fR OSCC sτ = R OSC C s ≡ 充电/放电常数τ = R OSC (C p + C f )C =εo εrA d缩写说明εo 真空的介电常数εr 相对介电常数d 电容极板之间的距离A 极板面积C电容电容触摸传感简介AN1101DS01101A_CN 第2页 2008 Microchip Technology Inc.由于玻璃-手指-地之间产生电容,我们才能够检测到触压,该电容与电路对地的自然寄生电容并联。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
2
R40 4.7K
3
1
R38 Q8 6.8K
KEY_VOLT
Q9 R41 2.5k
R42
10K
+5V
1
KEY2
2AB 3AB 1AB
Title
Size
Number
A4
A Revision
Date:
16-Sep-2008
Sheet of
File:
F:\工作项目\M-touch\PIC16F726PCB\F726MT~1.DrDaBwn By:
(5)串口软件的操作界面
该测试软件的正确设置如下:
① 串口号
根据你的串口驱动安装从 COM1 到 COM15 之间选择,若安装到 COM1 就直接填入 COM1;
② 波特率
单击下拉菜单,选择 19200;
③ 数据位
8 位;
④ 停止位
1;
⑤ 校验位
选择 None;
⑥ 流控制
选择 None;
⑦ 按键
可以选择 1~8 按键进行测试其中的增量的大小,若填入 0 则测试所有的按键键值;
发送信号 键编号
MB1
0
MB2
0
MB3
0
MB4
0
按键模拟
低
四
位
电压输出
0
0
1
1.0V
0
1
0
2.0V
0
1
1
3.0V
1
0
0
4.0V
(6)发送的按键数据格式以及相对应的按键模拟输出电压
发送信号 键编号
MB5
0
MB6
0
MB7
0
MB8
0
高
四
位
0
0
1
第一级
0
1
0
第二级
0
1
1
第三级
1
0
0
第四级
(7)发送的滑条数据格式
面板说明
面板介质:3mm有机玻璃; 电源:DC9V 直流输入或 9V 电池输入; 按键分布: 4个操作按键,1个四级滑条; 输出/输入接口:UART,I²C,SPI多种串行通讯接口; 按键指示:按键对应LED指示与蜂鸣器提示或电脑上位机软件显示.
page 2
EV19019
© 2008Burnon International Inc.
LED1 LED2 LED3 LED4 LED5 LED6 LED7 LED8
蜂鸣器
电容触摸感应处理芯片 PIC16F726
模拟电压输出接口 UART 输出接口 ICD2 编程接口 SPI 输出接口 I2C 输出接口
4 个按键+1 个 4 级滑条
功能特点
(1)EV-mTouch-8-1 DEMO 框图
每滑动一次便有相应的级数指示灯显示和蜂鸣器响提醒。
4.通讯操作:
(一). 键值的测试:
page 4
EV19019
© 2008Burnon International Inc.
基于PIC16F726的电容触摸按键Demo板说明 V1.0 2008.08
键值的测试操作是通过串口与 PC 通讯,用配套的测试软件在 PC 上进行测试。 下图是该软件的操作界面:
相对应的 按键键值
(6)串口调试软件正常工作界面 (二). SPI 和 IIC 通讯
通讯的原理主要是通过 SPI 或者 IIC 与主机通讯,当主机发送一个请求信号过来的,从机便发送信号给 主机,通讯内容是用来确定哪个按键被按下。发送的数据是以八位发送分别为高四位+低四位发送,高四位 是发送滑条级数数据,低四位是发送按键数据。Key_Data_value = 高四位 + 低四位,相应的格式如下:
是用跟主机通讯,两个方式可以用跳线选择,跳线帽短接的时候选择 SPI 通讯,断开的时候选择 I²C 通讯。
3.按键操作:
该触摸按键 MB1~MB4 对应的 PAD 与手指之间有一层 3mm 的有机玻璃作为介质,也可以选择其他绝缘介质,
按键操作简易。当用手指轻轻触摸感应按键时,伴有相应的指示灯亮和蜂鸣器响提醒,若松开手指时,相应
防高频辐射可以采用手机进行测试,当演示板正常工作时,通过拨打手机进行高频辐射干扰,按键 仍可以正常操作。 ③ 按键锁定功能
按键锁定功能就是,当有一个按键被按下时,其他按键不能被触发,只有手指松开时其他按键才能 被触发。 ④ 3000V 群脉冲测试,按键仍可正常操作。
© 2008 Burnon International Inc.
9V 干电 池接口
电源指 示灯
按键指 示灯
四个触 摸按键
基于PIC16F726的电容触摸按键Demo板说明 V1.0 2008.08
SPI 和 I²C 通 讯选择跳线
串口通 讯接口
SPI+ I²C 通讯接口
ICD2 编 程口
按键模拟 电压输出
四级滑 条指示灯
四级滑条
(2)EV-mTouch-8-1 DEMO 实物图操作界面
R33 Q7 40K
B
CON2
104
B
C4 0.1uF C8 0.1uF
A
* 键值电压输出
IC2
1 C1+
VCC
3 C1-
GND
4 C2+
V+
5 C2-
V-
7 T2out T1out
8 R2in
R1in
9 R2out R1out
10 T2in
T1in
MAX232
+5V
16
C6
0.1uF
15
C9
2 0.1uF +5V
28 PGD 27 PGC 26 K6 25 K5 24 K4 23 K3 22 K2 21 K1 20 19 18 RX 17 TX 16 SDO 15 SDI/SDA
R27 4.7K
+5V C7 104
R35 4.7K
R29 4.7K
Q3 LED4
R30 4.7K
R39 Q6 15K
LED3 R37 4.7K
(4)通讯接口的引线说明图
1.电源要求:
首先确保电源是直流的 9V~12V 稳压电源,或者直流的 9V 干电池,按照各自接口接好电源,接好电源
蜂鸣器响一声提醒已经正常工作。
2.通讯要求:
程序烧录器 ICD 2、与 PC 机通讯的串口线,SPI 和 I²C 的通讯排线。串口通讯是常开的,测试软件是用
配套的 mTouch 电容式触摸按键调试软件,测试的数据是每个按键的键值,方便程序调试。SPI 和 I²C 的通讯
K3
K2
K1
* 按键
LED2 LED1
LED4
LED3
LED8
LED7
LED6
LED5
R9
R10
R11
R12
R13 R14
R15
R16
1K
1K
*
1K
1K
1K
1K
1K
R19
LED8
Q1 82K
D R18 4.7K
LED7 R17 4.7K
R20 Q2 47K
L ED 5
L ED 6
L ED 7 L ED 8
典型应用
采用 PIC16F726,直接利用其片内的 电容触摸感应模块
单芯片方案,小体积,低成本,易于系 统集成
频率测量法结合高效的软件算法,有 更强的自适应功能和更好的稳定性
实现 8 路按键输入 设计人员可免费获得算法源代码和
相关软件 不需任何版权费
由于电容感应触摸按键的隔离板可以是 任何非导体的物质,达到一些普通按键不能到 达的效果如防水和使用寿命等。因此广泛用于 MP3(如苹果的一款有触摸功能的 MP3),手机, 家用电器(如电视机、空调、洗衣机、电磁炉 等),P-DVD、PDP 上。
page 6
EV19019
© 2008Burnon International Inc.
基于PIC16F726的电容触摸按键Demo板说明 V1.0 2008.08
5.抗干扰能力测试操作: 抗干扰能力范围主要包括: ① 防水、油误触发
防水、油:当触摸按键面板上有水滴或油滴,按键不会被误触发;当按键与按键之间有一大滴水或油, 触摸其中一个按键的时候,相连的另一个按键不会被误触发。 ② 防高频辐射
的指示灯熄灭和蜂鸣器静音。
滑条的操作和触摸按键的操作有所不同,该滑条分四级,每级都是 W 型 PAD,相应的级别是 MB5~MB8。
具体操作如下:若手指是从左到右滑动的时候,每滑动一次滑条加一级,直到加到四级满便重新跳到第一级
继续循环;若手指是从右向左滑动,每滑动一次滑条减少一级,直到减至第一级便重新跳到第四级继续循环。
⑧ 参数
单击下拉菜单,选择 A;
正确设置该软件便可以很方便的检测到键值的增量,该增量不需要自己计算,直接显示出界面,方便按
照介质厚度大小进行单片机程序调试。
© 2008 Burnon International Inc.
EV19019
page 5
EV19019
下图是该软件正常工作的界面图:
计算出的增量是 按键下拉菜单下 选择的按键增量
Q5 12K
C
CN2
6 5 4 3 2 1
SDO SDI/SDA SCK/SCL RX TX GND
SERIAL * 通讯接口
CN3
2 1
KEY_VOLT GND
C5
R21 R22 4.7K 4.7K
10K 104
PIC16F726-I/SS