自学内容网 自学内容网

震动传感器介绍及实战

目录

前言

震动传感器

1.震动传感器配图

2.震动传感器原理图

3.震动传感器使用

1-震动传感器的意义

2-震动传感器的应用场景

3- SW-18010P震动传感器使用方法

震动传感器控制灯

操作

增加延时

使用SPC-ISP生成演示函数

总结


前言

        我们上节已经简单了解了LED的使用(不懂的直接去看:LED解析),本节来了解一下震动传感器的原理及使用

震动传感器

1.震动传感器配图

2.震动传感器原理图

        本教程使用的是 SW-18010P 型号的震动传感器:

3.震动传感器使用

1-震动传感器的意义

        振动传感器是一种目前广泛应用的报警检测传感器,它通过内部的压电陶瓷片加弹簧重锤结构感受机械运动振动的参量(如振动速度、频率、加速度等)并转换成可用输出信号,然后经过LM358等运放放大并输出控制信号。

2-震动传感器的应用场景

        振动传感器可用于机械中的振动和位移、转子与机壳的热膨胀量的长期监测;生产线的在线自动检测和自动控制;科学研究中的多种微小距离和微小运动的测量等。

振动传感器在测试技术中是关键部件之一,它具有成本低、灵敏度高、工作稳定可靠,振动检测可调节范围大的优点,广泛应用于能源、化工、医学、汽车、冶金,机器制造,军工,科研教学等诸多领域

3- SW-18010P震动传感器使用方法

        单片机供电VCC GND接单片机产品不震动,输出高电平,传感器检测到震动,DO口输出低电平,绿色指示灯亮,AO口不需要连接。

通过杜邦线进行连接,将vcc接线到开发板5v的位置,GND接线到GND的位置,DO接线到随便的一个IO口上(本节示例接线到P3.3); 

震动传感器控制灯

         通过我们已经掌握的LED来了解下振动传感器是怎么回事

  1. 如何知道是否发生振动?
  2. 振动后的信号表现又是什么?
  3. 振动传感器控制灯

操作

        我们的震动传感器检测到震动的时候,Do会输出一个低电平,并且Do引脚连接在开发板的P3.3,所以我们只需要不断地检测“P3^3”的电平高低就可以,如果是低电平表示发生了震动,给P3^7一个低电平导通二极管,二极管发光

#include <reg52.h>

sbit led1 = P3^7;
sbit virbrate = P3^3;//因为Do接到了P3.3口

void main()
{
while(1)
{
if(virbrate == 0)
{
led1 = 0;
}else{
led1 = 1;
}
}
}

增加延时

        我们只需要让灯亮状态延长两秒。

使用SPC-ISP生成演示函数

        生成延时函数比较简单,在这里就不再过多赘述了(生成延时函数

        我们上述代码中现象很短暂,所以我们增加一个延时函数来来使现象更加明显。

#include <reg52.h>
#include <intrins.h>

sbit led1 = P3^7;
sbit virbrate = P3^3;//因为Do接到了P3.3口

void Delay2000ms()//@11.0592MHz
{
unsigned char i, j, k;

_nop_();
i = 15;
j = 2;
k = 235;
do
{
do
{
while (--k);
} while (--j);
} while (--i);
}


void main()
{
while(1)
{
if(virbrate == 0)
{
led1 = 0;
Delay2000ms();
}else{
led1 = 1;
}
}
}

因为在延时函数中有“_nop_()” ,所以我们要包含头文件“#include <intrins.h>即可。”

总结

        我们本节主要了解了震动传感器的原理以及工作方式——检测到震动时Do针脚会输出低电平,没检测到震动Do针脚输出高电平,并且简单的实现出震动亮灯的操作。


原文地址:https://blog.csdn.net/2303_79502195/article/details/142713350

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!