Arduino使用金属触摸传感器

    本文介绍我买的37款传感器套件中的金属触摸传感器。实物图如下:

     它和上一篇文章中介绍的火焰传感器类似,也有四个相同的引脚。中间两个引脚是电源引脚,上面是D0引脚,下面是A0引脚。卖家给的资料很少,在百度上搜索金属触摸,也只找到淘宝上的连接,资料比较少。于是照着火焰传感器的使用套路,死马当活马医,进行使用测试。
首先是测试A0引脚的输出。照搬火焰传感器的测试代码。
int metal = A0; //定义金属触摸传感器接口
void setup()
{
    pinMode(metal,INPUT);//定义flame为输入接口
    Serial.begin(9600);//设定波特率为9600
}
void loop()
{
    Serial.println(analogRead(metal));//输出模拟值,并将其打印出来
}

    测试的时候,使用手指触碰、攥住金属触摸传感器前面的黑色圆柱体,触摸方式如下图所示:

      然后将串口监视器中的输出数据导入到matlab中绘制图形,图形如下图所示:
 
      不同于火焰传感器A0引脚那种平滑的上升或者下降,金属触摸传感器的A0引脚输出比较直上直下。从左到右依次介绍一下曲线的意义。Arduino通电之后,手指还没有接触金属触摸传感器,这时A0引脚的输入值基本上在680-700左右,近似一条直线。然后手指触摸金属触摸传感器前面黑色圆柱体上面的金属丝,此时A0引脚输出近乎直线下降到200以下,只要手指一直接触金属丝,则A0的输出稳定在200以下。接着松开手指,此时A0引脚输出以直线方式恢复到680-700之间。后面的线条意义类似,就不再重复说明。
由此可以看出,当手指与金属触摸传感器不接触时,A0引脚输出值较大,等到手指触摸金属触摸传感器前面黑色圆柱体上面的金属丝后,A0引脚的输出值急剧下降。最后设计了一个简单的LED灯电路检验金属触摸传感器的使用方式。代码如下:
int Led = 2; //定义LED 接口
int metal = A0; //定义金属触摸传感器接口

void setup()
{
    pinMode(Led, OUTPUT); //定义LED 为输出接口
    pinMode(metal,INPUT);//定义metal为输入接口
}

void loop()
{
    if( analogRead(metal)<300)//300是随意给的值
    {
        digitalWrite(Led, HIGH);
    }
    else
    {
        digitalWrite(Led, LOW);
    }
}

 

    实物连接图如下:
 
 
PS:1)手指如果不碰触金属触摸传感器前面黑色圆柱体上面的金属丝,就算手指碰到黑色圆柱体,A0引脚的输出也不会变低;2)D0引脚输出开关量,通过调节蓝色模块上的旋钮改变阈值。视频中可以看出手指碰到金属丝后,金属触摸传感器上有一个绿色的小led灯也会同时发生变化。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值