主要产品系列 |
方案中描述了使用LPC11XX微控制器的ADC(模数转换)输入来实现一个简单的电容式触摸传感器的方法。
方案中使用的电容式触摸传感器位于PCF8883评估板的PCB板上的镀铜区域(见图1)。4个传感器中有一个通过阻容网络(RC)与LPC11XX微控制器ADC输入端连接(见图2)。
图1 | 图2 |
传感只需要一个PIN脚,ADC输入端或者通用输出端。读的过程只有几个简单的步骤(见图3)。
首先,把I/0 pin脚置高输出状态(high output),向外部的10pF电容和电容板(capactive plate)充电。
然后,I/O pin 脚重置为ADC输入状态(ADC input),这将引发外部电容和电容板通过两个电阻放电(de-charge)。例子中使用的电阻为5K-50K。当手指触摸传感器时,总电容增加,因此放电弧度变小。
之后,ADC转换器启动。手指触摸导致ADC读取量增加。在示例代码中,在无触摸时有一个稳定的平均值,触摸后产生一个能被检测到的误差值。
最后,I/O pin 重新置为“高”输出状态(”high” output),回到第一步。
图3 |
LPC1100演示代码使用ADC输入端(PIO1_0)作为传感输入。此外,有两个输出连接到LED上,可以方便的观察到传感器的转换过程。
一个输出(PIO3_2)指示触摸状态(触摸,无触摸)
另一个输出(PIO3_3)指示瞬时转换模式。只要触摸事件持续,输出就会激活,LED点亮。
这个软件示例是用 C语言编写,并使用Keil’s uVision (MDKARM,V4.14)编译器编译。LPC11XX使用标准CMSIS启动代码(startup_LPC11xx.s and system_LPC11xx.c),并设置CCLK = IRC = 12 MHz。