在现代电子世界中,触摸输入几乎可以在任何地方使用,无论它是手机还是LCD监视器开关。电容触摸在触摸传感器领域得到了广泛的应用,我们之前在Raspberry Pi中使用了电容触摸。在此项目中,我们将把触摸传感器与8051微控制器AT89S52连接。如果您不熟悉8051微控制器,则可以从8051的LED闪烁开始。
什么是电容式触摸传感器?
电容式触摸作用于人体上可用的静电荷。屏幕已充满电场。当我们触摸屏幕时,由于流过人体的静电电荷会形成闭合电路。此外,软件确定位置和要执行的动作。电容式触摸屏无法与手套配合使用,因为手指与屏幕之间不会有任何传导。
该项目中使用的触摸传感器
该项目中使用的触摸传感器是电容式触摸传感器模块,传感器驱动器基于驱动器IC TTP223。IC TTP23的工作电压为2.0V至5.5V,并且触摸传感器的电流消耗非常低。由于价格便宜,电流消耗低并且易于集成支持,因此带有TTP223的触摸传感器在其细分市场中受到广泛欢迎。
在上图中,显示了传感器的两侧,其中引脚图清晰可见。它还具有一个焊接跳线,可用于根据输出重新配置传感器。跳线为A和B。默认配置或在焊料跳线的默认状态下,触摸传感器时,输出从低变为高。但是,如果设置了跳线并重新配置了传感器,则当触摸传感器检测到触摸时,输出会更改其状态。触摸传感器的灵敏度也可以通过更换电容器来配置。有关详细信息,TTP 223的数据表非常有用。
下图显示了不同跳线设置下的不同输出-
跳线A | 跳线B |
输出锁定状态 |
输出TTL电平 |
打开 | 打开 |
无锁 |
高 |
打开 | 关 |
自锁 |
高 |
关 | 打开 |
无锁 |
低 |
关 | 关 |
自锁 |
低 |
对于该项目,传感器将以默认配置使用,该配置在出厂状态下可用。在该项目中,触摸传感器将用于通过AT89S52微控制器控制交流电灯泡。
继电器与8051微控制器连接。继电器的引脚排列可以在下图中看到-
常开常开,常闭连接。L1和L2是继电器线圈的两个端子。不施加电压时,继电器关闭,POLE与NC引脚连接。在线圈端子之间施加电压时,继电器的L1和L2变为ON,POLE与NO连接。因此,可以通过更改继电器的操作状态来打开或关闭POLE和NO之间的连接。
所需材料
- AT89S52 8051单片机
- 标准立方继电器-5V
- 11.592 MHz晶振
- 33pF电容器-2个
- 2k电阻-1 pc
- 4.7k电阻-1个
- 10uF电容器
- BC549B晶体管
- TTP223传感器
- 1N4007二极管
- 灯泡与灯泡持有人
- 面包板
- 5V电源,一个手机充电器可以工作。
- 许多跳线或冰山电线。
- 带有编程器套件的AT89S52编程环境和带编译器的IDE
电路原理图
下图给出了使用触摸传感器和8051控制光的示意图,
晶体管用于打开或关闭继电器。触摸传感器与AT89S52微控制器单元连接。该电路使用面包板构建。
编程Atmega AT89S52单片机
最后给出了完整的8051代码。在这里,我们解释了代码的几个部分。如果您是8051微控制器的新手,请先学习 如何对8051微控制器进行编程。以下代码行用于将继电器和触摸传感器与8051单片机集成在一起。REGX52是AT89S52微控制器单元的头文件。还声明了一个延迟函数。
#包括
触摸和继电器被初始化为0。触摸传感器将逻辑0更改为1。如果在激活触摸传感器时该语句为true,则继电器的状态将更改。但是,为了准确检测触摸,使用了防抖动延迟。
//主函数 void main(void) { RELAY = 0; 触摸= 0; while(1){ 如果(Touch == 1){ delay(15); // 如果(Touch == 1){ RELAY =!RELAY; //切换RELAY引脚 延迟(30); } } } }
下面,编写了延迟函数。该函数以毫秒格式输入,并使用两个 for 循环生成延迟。此延迟不太准确,但是可以接受,并且主要取决于时钟周期时序。
/ *与延迟相关的功能* // void delay(char ms){int a,b; 对于(a = 0; a <1295; a ++){对于(b = 0; b
此触摸控制光电路在面包板上连接了低功率灯泡的情况下进行了测试。下面是带有演示视频的完整草图。您可以在此处检查更多家庭自动化项目。