使用TTP223和Arduino UNO通过触摸控制家庭灯

发布时间:2023-06-20  

在某些应用程序中,需要用户输入来控制设备的功能。嵌入式和数字电子产品中使用了不同种类的用户输入方法。触摸传感器就是其中之一。触摸传感器是与微控制器接口的重要且广泛使用的输入设备,它使输入数据更简单。触摸传感器有个别地方可以使用,无论是手机还是液晶显示器开关。然而,市场上有许多类型的传感器可用,但电容式触摸传感器是触摸传感器领域中广泛使用的类型。

在这个项目中,相同的触摸传感器将与 Arduino UNO 接口。Arduino 是一种广受欢迎且易于使用的开发板。

触摸传感器

将用于本项目的触摸传感器是电容式触摸传感器模块,传感器驱动器基于驱动器IC TTP223。TTP223 IC 的工作电压为 2 V 至 5.5 V,触摸传感器的电流消耗非常低。由于价格低廉、电流消耗低且易于集成支持,采用 TTP223 的触摸传感器在电容式触摸传感器领域很受欢迎。

pYYBAGMW-nCAOqvsAAMfh9W1nH0791.png

在上图中,传感器的两侧都显示了引脚图清晰可见的位置。它还有一个焊接跳线,可用于根据输出重新配置传感器。跳线为 A 和 B。默认配置或在焊锡跳线的默认状态下,触摸传感器时输出从 LOW 变为 HIGH。但是,当设置跳线并重新配置传感器时,当触摸传感器检测到触摸时,输出会改变其状态。触摸传感器的灵敏度也可以通过改变电容来配置。

下图显示了不同跳线设置下的不同输出 -

pYYBAGMW-m2AQE9iAAAP3-eiOvs115.png

对于本项目,传感器将用作出厂发布条件下可用的默认配置。

设备可以通过使用触摸传感器以及与微控制器连接来控制。在这个项目中,触摸传感器将用于使用 Arduino UNO 和 Relay 来控制灯泡的开或关。

了解继电器

要连接继电器,重要的是要对继电器的引脚描述有一个清晰的认识。继电器的引脚排列如下图所示 -

poYBAGMW-mmAE8qEAAI3QFEVUDg296.png

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

所需组件

Arduino UNO

用于编程和供电的 USB 电缆

标准立方继电器 - 5V

2k电阻-1个

4.7k 电阻器 - 1 个

BC549B晶体管

TTP223 传感器模块

1N4007 二极管

带灯座的灯泡

面包板

通过 USB 电缆连接 Arduino 的手机充电器。

很多连接线或 berg 线。

Arduino 编程平台。

2k电阻,BC549B,1N4007,继电器可以用继电器模块代替。

电路原理图

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

poYBAGMW-mSAFsG6AABhVWtqlLM783.png

晶体管用于打开或关闭继电器。这是因为 Arduino GPIO 引脚无法提供足够的电流来驱动继电器。在继电器开启或关闭的情况下,需要 1N4007 来阻断 EMI。该二极管用作续流二极管。触摸传感器与 Arduino UNO 板连接。

该电路构建在带有 Arduino 的面包板上,如下所示。

pYYBAGMW-mCAH1P0AAgMNuf99_w145.png

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

poYBAGMW-l2AYoMRAAFYNYMdoAA986.png

使用触摸传感器对 Arduino UNO 进行编程以控制灯泡

最后给出了带有工作视频的完整程序。在这里,我们将解释代码的几个重要部分。Arduino UNO 将使用 Arduino IDE 进行编程。首先,包含 Arduino 库以访问 Arduino 的所有默认功能。


#include 

定义将连接继电器和触摸传感器的所有引脚号。这里,触摸传感器连接到引脚 A5。内置的 LED 也被使用,它直接连接到板上的引脚 13。继电器连接到引脚 A4。


/* 

* 引脚说明

*/ 

int Touch_Sensor = A5; 

整数 LED = 13;

诠释继电器 = A4;

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


/* 

* 引脚模式设置

*/ 

void setup() { 

            pinMode(Touch_Sensor, INPUT); 

            pinMode(LED,输出);

            pinMode(继电器,输出);

}

声明了两个整数,其中“条件”用于保存传感器的条件,无论它是否被触摸。“状态”用于保持 LED 和继电器的状态,开或关。


/* 

* 程序流程描述

*/ 

int condition = 0; 

整数状态 = 0;//保持开关状态。

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


无效循环(){

            条件=数字读取(A5);// 从 Arduino 的 A5 引脚读取数字数据。

            如果(条件 == 1){

                        延迟(250);// 去抖动延迟。

                        如果(条件 == 1){

                                    状态 = ~state; // 改变开关的状态。

                                    数字写入(LED,状态);

                                    数字写入(继电器,状态);

                        } 

            } 

}

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


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

5d63b1a7c032a9310dad1a6b96726db1_pYYBAGMW-leAACtFAAf0ukrpbPM897.png


#include 

定义将连接继电器和触摸传感器的所有引脚号。这里,触摸传感器连接到引脚 A5。内置的 LED 也被使用,它直接连接到板上的引脚 13。继电器连接到引脚 A4。


/* 

* 引脚说明

*/ 

int Touch_Sensor = A5; 

整数 LED = 13;

诠释继电器 = A4;

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


/* 

* 引脚模式设置

*/ 

void setup() { 

            pinMode(Touch_Sensor, INPUT); 

            pinMode(LED,输出);

            pinMode(继电器,输出);

}

声明了两个整数,其中“条件”用于保存传感器的条件,无论它是否被触摸。“状态”用于保持 LED 和继电器的状态,开或关。


/* 

* 程序流程描述

*/ 

int condition = 0; 

整数状态 = 0;//保持开关状态。

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


无效循环(){

            条件=数字读取(A5);// 从 Arduino 的 A5 引脚读取数字数据。

            如果(条件 == 1){

                        延迟(250);// 去抖动延迟。

                        如果(条件 == 1){

                                    状态 = ~state; // 改变开关的状态。

                                    数字写入(LED,状态);

                                    数字写入(继电器,状态);

                        } 

            } 

}

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


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


文章来源于:电子工程世界    原文链接
本站所有转载文章系出于传递更多信息之目的,且明确注明来源,不希望被转载的媒体或个人可与我们联系,我们将立即进行删除处理。

相关文章

    感应芯片原理控制镜灯,具有操作安全方便、更加智能及美观等传统开关不可比拟的优势。目前镜面触摸开关已被广泛应用于智能家居、高档宾馆、展厅等,起到很好的装饰作用。 触摸开关......
    车载触摸屏点不动怎么办 触摸屏失灵修复小技巧;  车载触摸屏点不动怎么办   当车载触摸屏无法响应或无法移动时,您可以尝试以下一些解决方法:   1. 重启车载系统:类似于电脑和手机,重启......
    电动车电机轴承坏了怎么办;在一辆电动车上,最重要的部分除了控制器,另一个就是电机了,如果电机出现故障问题,一般是轴承有损坏,应及时进行维修,这里就分析下电动车电机轴承坏了怎么办的问题,一起......
    会出现故障。频谱分析仪坏了怎么办呢?安泰测试维修中心专业维修频谱分析仪、网络分析仪、示波器、源表、信号源等电测仪器,专业的,值得信赖! 近期,一客户送来一台罗德与施瓦茨频谱仪FSV 30需要维修,说是......
    LED化妆镜触控方案;随着社会经济的发展,镜子的作用不再局限于整理仪表,同时还兼具照明补光等功能。较之外观功能相对简单的传统镜子,镜前灯以其丰富的功能和科技感满满的颜值,成为大众追捧的对象。 镜前灯触摸开关......
    多东西全靠人工肯定是不行的,要有个完备的过滤机制。 最后就是风险控制,关于交易方面还有个人信息和信用认证来做保障。 但是在线下任务中,两个人碰头之后万一一言不合打起来了怎么办? 如果两个人一起合伙跑去做坏事了怎么办,这个......
    PLC输出点坏了怎么办?;众所周知,不管是PLC还是继电器,再或者是其他的电气设备,他们的使用寿命都是有限的,一般用了几年以后就会坏掉。因此,为了解决这类问题,今天咱们就来说说PLC输出点坏了,该怎么办......
    图逻辑测试启动”图标即是开启/关闭仿真。 【48】登录关键字忘记了怎么办? 答:若有备份程序,可先执行清除PLC内存后,再重新写入参数和程序即可。 【49】中文版GX-DEVELOPER软元件列表中,有......
    要握手这样简单的肢体接触动作就能够完成人与人之间的数据传输。 此外,该技术还能够实现物体与人之间的触摸数据传递。比如“情绪照明”,当人手触摸开关或者门把手的时候,情绪数据即可传递到灯具的智能芯片当中,于是......
    器、触摸屏、触摸开关和按钮控制面板,具有高脉冲和振动能力,可提供清晰的高分辨(HD)触觉反馈。 器件节省成本和空间,力度达120 N,额定工作电压低至12 V(8 V至......

我们与500+贴片厂合作,完美满足客户的定制需求。为品牌提供定制化的推广方案、专属产品特色页,多渠道推广,SEM/SEO精准营销以及与公众号的联合推广...详细>>

利用葫芦芯平台的卓越技术服务和新产品推广能力,原厂代理能轻松打入消费物联网(IOT)、信息与通信(ICT)、汽车及新能源汽车、工业自动化及工业物联网、装备及功率电子...详细>>

充分利用其强大的电子元器件采购流量,创新性地为这些物料提供了一个全新的窗口。我们的高效数字营销技术,不仅可以助你轻松识别与连接到需求方,更能够极大地提高“闲置物料”的处理能力,通过葫芦芯平台...详细>>

我们的目标很明确:构建一个全方位的半导体产业生态系统。成为一家全球领先的半导体互联网生态公司。目前,我们已成功打造了智能汽车、智能家居、大健康医疗、机器人和材料等五大生态领域。更为重要的是...详细>>

我们深知加工与定制类服务商的价值和重要性,因此,我们倾力为您提供最顶尖的营销资源。在我们的平台上,您可以直接接触到100万的研发工程师和采购工程师,以及10万的活跃客户群体...详细>>

凭借我们强大的专业流量和尖端的互联网数字营销技术,我们承诺为原厂提供免费的产品资料推广服务。无论是最新的资讯、技术动态还是创新产品,都可以通过我们的平台迅速传达给目标客户...详细>>

我们不止于将线索转化为潜在客户。葫芦芯平台致力于形成业务闭环,从引流、宣传到最终销售,全程跟进,确保每一个potential lead都得到妥善处理,从而大幅提高转化率。不仅如此...详细>>