使用TTP223触摸传感器和Arduino UNO开发板实现触摸控制灯泡

您所在的位置:网站首页 触摸灯 使用TTP223触摸传感器和Arduino UNO开发板实现触摸控制灯泡

使用TTP223触摸传感器和Arduino UNO开发板实现触摸控制灯泡

2023-09-19 16:29| 来源: 网络整理| 查看: 265

在某些应用中,需要用户输入来控制设备的功能。嵌入式和数字电子设备中使用了不同种类的用户输入方法。触摸传感器就是其中之一。触摸传感器是一种重要且广泛使用的输入设备,可与微控制器连接,使输入数据更加简单。使用触摸传感器的设备很多,如手机、液晶显示器面板。但市场上的触摸传感器种类繁多,电容式触摸传感器是触摸传感器领域中广泛使用的类型。

在本篇文章中,我们将使用TTP223触摸传感器将与Arduino UNO进行连接。 Arduino是一个广受欢迎且易于使用的开发板。

触摸传感器

用于此项目的触摸传感器是电容式触摸传感器模块,传感器驱动器基于驱动器芯片TTP223。 TTP223芯片的工作电压为2 V至5.5 V,触摸传感器的电流消耗非常低。由于价格低、电流消耗小和易于集成,带有TTP223的触摸传感器在电容式触摸传感器领域变得流行。

TTP223-Touch-Sensor.png (88.13 KB, 下载次数: 36)

下载附件  保存到相册

2019-4-29 15:38 上传

在上图中,传感器的两侧都显示了引脚图清晰可见的位置。它还有一个焊接跳线,可用于根据输出重新配置传感器。跳线为A和B。默认配置或焊接跳线的默认状态,触摸传感器时输出从低电平变为高电平。但是,当设置跳线并重新配置传感器时,输出会在触摸传感器检测到触摸时改变其状态。也可以通过改变电容器来配置触摸传感器的灵敏度。有关详细信息,请查看TTP 223的数据表,这将非常有用。

可以通过使用触摸传感器并通过将其与微控制器连接来控制器具。在本篇文章中,通过使用Arduino UNO和继电器,触摸传感器实现灯泡控制。

了解继电器

要接通继电器,重要的是要对继电器的引脚描述有一个公平的想法。继电器的引出线可以在下面的图像中看到 -

KT-603-5V-relay-pinout.jpg (36.45 KB, 下载次数: 40)

下载附件  保存到相册

2019-4-29 15:38 上传

NO代表常开,NC代表常闭。 L1和L2是继电器线圈的两个端子。未施加电压时,继电器关闭,POLE与NC引脚连接。当在线圈端子上施加电压时,继电器的L1和L2接通,POLE与NO连接。因此,通过改变继电器的操作状态,可以打开或关闭POLE和NO之间的连接。在应用之前检查继电器规格是非常明智的。继电器在L1和L2上具有工作电压。一些继电器使用12V,一些使用6V,一些使用5V。不仅如此,NO、NC和POLE还具有额定电压和电流。对于我们的应用,我们在开关侧使用具有250V/6A额定值的5V继电器。

需要的组件

●    Arduino UNO

●    5V继电器

●    电阻

●    BC549B晶体管

●    TTP223传感器模块

●    1N4007二极管

●    电灯泡

●    面包板

电路原理图

将触摸传感器与Arduino连接的原理图很简单,如下所示,

Circuit-Diagram-for-TTP223-Touch-Sensor-Interfacing-with-Arduino-UNO.png (14.29 KB, 下载次数: 40)

下载附件  保存到相册

2019-4-29 15:38 上传

晶体管用于接通或断开继电器。这是由于Arduino GPIO引脚无法提供足够的电流来驱动继电器。继电器开启或关闭期间,EMI阻断需要1N4007。二极管充当续流二极管。触摸传感器与Arduino UNO开发板连接。

该电路和Arduino开发板一起在面包板上制作,如下所示。

Circuit-Hardware-for-TTP223-Touch-Sensor-Interfacing-with-Arduino-UNO.jpg (68.45 KB, 下载次数: 36)

下载附件  保存到相册

2019-4-29 15:38 上传

在下面的示意图中可以看到正确的面包板连接。

Breadboard-Connection-for-TTP223-Touch-Sensor-Interfacing-with-Arduino-UNO.png (37.2 KB, 下载次数: 37)

下载附件  保存到相册

2019-4-29 15:38 上传

编程Arduino UNO使用触摸传感器控制灯泡

在文章末尾处给出了本文的完整代码。这里我们解释代码的一些重要部分。 Arduino UNO将使用Arduino IDE进行编程。

首先,包含Arduino库以访问Arduino的所有默认功能。

#include 复制代码

定义继电器和触摸传感器连接的引脚编号。这里,触摸传感器连接到引脚A5。还使用内置LED,其在板中直接连接到引脚13。继电器连接到引脚A4。

/* * Pin Description */ int Touch_Sensor = A5; int LED = 13; int Relay = A4;复制代码

定义引脚模式,即引脚功能应该是输入还是输出。这里触摸传感器是输入。继电器和LED引脚是输出。

/* * Pin mode setup */ void setup() {             pinMode(Touch_Sensor, INPUT);             pinMode(LED, OUTPUT);             pinMode(Relay, OUTPUT); }复制代码

声明了两个整型变量,其中'condition'用于记录传感器的状态,标识它是否被触摸。 “state”用于记录LED和继电器的状态,开启或关闭。

/* * Programme flow Description */ int condition = 0; int state = 0; //To hold the switch state.复制代码

触摸传感器在触摸时将逻辑0更改为1。digitalRead()函数读取该值,并且将值存储在变量condition中。条件为1时,LED和继电器的状态发生变化。然而,为了准确地检测触摸,使用去抖动延迟。去抖延迟delay(250); 用于确认单点触摸。

void loop() {             condition = digitalRead(A5); // Reading digital data from the A5 Pin of the Arduino.             if(condition == 1){                         delay(250); // de-bounce delay.                         if(condition == 1){                                     state = ~state; // Changing the state of the switch.                                     digitalWrite(LED, state);                                     digitalWrite(Relay, state);                         }             } }复制代码

测试触摸传感器TTP223的实际工作情况

该电路在面包板上进行测试,并连接一个小功率灯泡。

TTP223-Touch-Sensor-Interfacing-with-Arduino-UNO.jpg (111.21 KB, 下载次数: 41)

下载附件  保存到相册

2019-4-29 15:38 上传

请注意,此项目使用230-240V交流电压,因此建议在使用灯泡时要小心。如果您有任何疑问或建议,请在本帖下面进行回复。

代码

以下是本文使用的完整代码: main.rar (433 Bytes, 下载次数: 27) 2019-4-29 15:55 上传 点击文件名下载附件



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3