全球最实用的IT互联网信息网站!

AI人工智能P2P分享&下载搜索网页发布信息网站地图

当前位置:诺佳网 > 电子/半导体 > MEMS传感器 >

基于TTP223触摸传感器IC和与Arduino连接的门锁系统

时间:2020-12-25 17:12

人气:

作者:admin

标签:

导读:电容式触摸传感器模块基于专用TTP223触摸传感器IC。该模块提供了一个11 x 10.5mm的集成触摸感应区域,传感器范围约为5mm。...

在本篇文章中,我们将学习如何使用Arduino和触摸传感器TTP223设计基于触摸的门锁系统。该门锁系统是用于开关电路的简单项目,即借助简单的触摸即可打开/关闭伺服电机。只需触摸一下即可将门锁定或解锁。我们将触摸传感器TTP223用作开关,并使用LCD来显示门锁的状态,以及使用LED来指示开/关状态。

该项目的应用领域是家庭和办公室,只需触摸即可打开和关闭门。将触摸传感器TTP223与Arduino连接用作解锁门的开关。

TTP223电容式触摸传感器

电容式触摸传感器模块基于专用TTP223触摸传感器IC。该模块提供了一个11 x 10.5mm的集成触摸感应区域,传感器范围约为5mm。当触发传感器时,板载LED将点亮。触发后,模块输出将从其空闲的低电平切换到高电平。通过焊接跳线允许将其工作模式重新配置为低电平有效或触发输出。

TTP223是1键触摸板检测器IC,适用于检测电容性元件的变化。它功耗非常低,工作电压仅为2.0V〜5.5V。快速模式下的响应时间最大约为60mS,低功耗模式下@ VDD = 3V的响应时间为220mS。灵敏度可以通过外部电容(0〜50pF)来调节。

TTP223电容式触摸传感器的工作原理

电容式屏幕不使用手指的压力来改变电流。取而代之的是,它们可以与任何带有电荷的物质一起使用-包括人体皮肤。

当手指敲击屏幕时,微小的电荷会转移到手指上,从而形成电路,在屏幕的该点产生电压降。该软件处理该电压降的位置并命令随后的动作。

所需的组件

● Arduino Uno开发板

● TTP223电容式触摸传感器

● 1602 LCD显示屏

● SG90伺服电机

LED指示灯

● 面包板

● 连接线

连接电路图

将TTP223触摸传感器的信号引脚连接到Arduino数字引脚7。将伺服电机信号引脚连接到Arduino数字引脚3。通过330欧姆电阻将LED连接到Arduino数字引脚5。

如图所示,将LCD连接到Arduino的模拟引脚A0、A1、A2、A3、A4、A5。

项目工作过程

代码上传后,液晶显示屏将显示

Touch Based

Door Lock System

伺服电机将复位到原始位置。

如果触摸了触摸传感器,则液晶显示屏将显示:

Status: Unlocked

Touch to Lock

同时,伺服电机将旋转180度,LED点亮。

如果再次触摸触摸传感器,则液晶显示屏将显示:

Status: Locked

Touch to Unlock

同时,伺服电机将反向旋转180度,并且LED会熄灭。

源代码/程序

以下是使用Arduino和触摸传感器TTP223的基于触摸的门锁系统的代码。,编译并上传到Arduino UNO开发板。

#include

#include

LiquidCrystal lcd(A0,A1,A2,A3,A4,A5);

const int servoPin = 3; // Servo pin

const int touchPin = 7; // Pushtouch pin

int ledPin = 5;

int touchState = 0;

int directionState = 0;

Servo myservo;

int pos = 0;

void setup() {

lcd.begin(16,2);

lcd.print(" Touch Based");

lcd.setCursor(0, 1);

lcd.print("Door Lock System");

myservo.attach(3);

pinMode(touchPin, INPUT);

pinMode(ledPin, OUTPUT);

}

void loop(){

touchState = digitalRead(touchPin);

if (directionState == 0){

if (touchState == HIGH) {

directionState = 1;

for(pos = 0; pos < 180; pos += 1)

digitalWrite(ledPin,1);

lcd.clear();

lcd.print("Status: Unlocked");

lcd.setCursor(0, 1);

lcd.print("Touch to Lock");

{

myservo.write(pos);

delay(15); // waits 15ms to reach the position

}

}

} else if (directionState == 1) {

if (touchState == HIGH) {

directionState = 0;

for (pos = 180; pos>=1; pos -=1)

digitalWrite(ledPin,0);

lcd.clear();

lcd.print("Status: Locked");

lcd.setCursor(0, 1);

lcd.print("Touch to Unlock");

{

myservo.write(pos);

delay(15);

}

}

}

}


编辑:hfy

温馨提示:以上内容整理于网络,仅供参考,如果对您有帮助,留下您的阅读感言吧!
相关阅读
本类排行
相关标签
本类推荐

CPU | 内存 | 硬盘 | 显卡 | 显示器 | 主板 | 电源 | 键鼠 | 网站地图

Copyright © 2025-2035 诺佳网 版权所有 备案号:赣ICP备2025066733号
本站资料均来源互联网收集整理,作品版权归作者所有,如果侵犯了您的版权,请跟我们联系。

关注微信