前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >C51 单片机开发震动传感器介绍

C51 单片机开发震动传感器介绍

作者头像
码农UP2U
发布2024-04-18 16:15:46
1060
发布2024-04-18 16:15:46
举报
文章被收录于专栏:码农UP2U码农UP2U

本文开始介绍新的内容,开始涉及一些外设,本次整理的是关于震动传感器的东西。传感器的使用并不复杂,只是多了接线的步骤。

0x01:传感器是什么

传感器是能感受到外界被测量的信息,并能将感受到的信息,按一定规律变换成为电信号或其他所需形式的信息输出,以满足信息的传输、处理、存储、显示、记录和控制等要求的检测装置 。

传感器的存在和发展,让物体有了触觉、味觉和嗅觉等感官,让物体变得活了起来,传感器是人类五官的延长。传感器具有微型化、数字化、智能化、多功能化、系统化、网络化等特点,它是实现自动检测和自动控制的首要环节。

0x02:震动传感器是什么

震动传感器是一种测量和检测机械设备或结构物振动的装置,它可以将振动信号转换成电信号进行处理和分析。震动传感器通常由敏感元件、信号放大器和滤波器等组成,常用于监测工业设备、建筑结构、车辆和飞行器等的振动情况,并帮助诊断问题和预测故障。

从能量观点来看,震动传感器实现了将机械能到电能的转换,实质上,可以把它看作一个换能器。

0x03:震动传感器使用介绍

震动传感器的实物图如下:

在震动传感器上有四个针脚,分别是 AO、DO、GND、VCC,各个口的介绍如下:

  • AO:模拟信号输出口;
  • DO:数字信号输出口;
  • GND:负极
  • VCC:正极

在上面的四个针脚中,我们使用三个,分别是:DO、GND 和 VCC,这三个针脚需要和开发板上的针脚进行连接。其中把 OD 口连接到一个指定的 P 口,开发板就可以得到振动传感器送来的输入;在振动传感器没有感知到震动时,输出的是高电平,在感知到震动时会输出低电平。

0x04:代码实现

在具体完成代码之前,需要先将震动传感器和开发板使用杜邦线进行连接,我们将震动传感器连接到开发板的 P3.3 口上,其他的两个针脚分别接到开发板的 VCC 和 GND 口即可。

为了更好的观察震动传感器给开发板送来的输入,我们让 LED 灯的亮与灭来配合震动传感器。

具体代码如下:

代码语言:javascript
复制
#include <intrins.h>
#include "reg52.h"

sbit led1 = P3 ^ 7;
sbit vibrate = 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 (vibrate == 0)
        {
            led1 = 0;
            Delay2000ms();
            led1 = 1;
        }
        else
        {
            led1 = 1;
        }
    }
}

在代码中可以看到,当震动传感器感知到震动以后会送来低电平,然后相应的我们给 LED1 也送去低电平,这样感知到震动时 LED1 会亮起。如果没有震动传感器没有感知到震动,我们则让 LED1 保持高电平,使其在灭的状态下。

下面进行一个简单的演示,把相应的线连接好,然后将代码编译生成的 hex 文件写入单片机,让它们都处于加电的状态。然后最关键的步骤来了,我拍动桌子,注意观察,在我拍动桌子的同时,开发板上的 LED1 灯亮了,并且按照代码的功能,LED1 亮了大约有 2 秒的时间。

视频地址:https://mpvideo.qpic.cn/0b2eqqac6aaaoyac4nhtcjsvbbgdf6caalya.f10002.mp4?

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2024-04-14,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 码农UP2U 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 0x01:传感器是什么
  • 0x02:震动传感器是什么
  • 0x03:震动传感器使用介绍
  • 0x04:代码实现
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档