震动传感器介绍及实战

news2024/11/25 2:50:54

目录

前言

震动传感器

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针脚输出高电平,并且简单的实现出震动亮灯的操作。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2190732.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【GC日志和OOM日志分析】JVM GC日志和OOM Dump文件分析

1 缘起 充电、充电、充电。 增加一些必备的知识&#xff0c;帮助后续使用。 2 配置JVM参数 为分析GC日志以及OOM相关信息&#xff0c;配置JVM参数&#xff0c;分为三个部分&#xff1a; &#xff08;1&#xff09;堆内存&#xff0c;包括年轻代、最大堆内存&#xff1b; &a…

2024CSP-J复赛易错点

低级错误 不开long long见祖宗写代码要有输入&#xff0c;别没写输入就交写完代码要在本地测试&#xff0c;多想写极端测试数据&#xff0c;或对拍注意考官说文件夹怎么建&#xff0c;别文件夹建错&#xff0c;爆0别忘写freopen或忘给freopen去注释记着把.exe文件删掉考试时不…

海龟绘图画小汽车

1、效果图&#xff1a; 2、完整代码 import turtlet turtle.Turtle() #创建一个新的画布对象t.penup() t.goto(0,80) t.pendown()t.fillcolor("red") t.begin_fill() t.lt(180) t.fd(60) t.lt(45) t.fd(113) t.rt(45) t.fd(80) t.lt(90) t.fd(80) t.…

win系统网络重置

重置网络命令&#xff1a;netsh winsock reset 输入winR 调用运行窗口&#xff0c;回车 输入重置网络命令&#xff1a;netsh winsock reset 注意空格

国庆刷题(day4)

C语言&#xff1a; C&#xff1a;

插画共享系统小程序的设计

管理员账户功能包括&#xff1a;系统首页&#xff0c;个人中心&#xff0c;管理员管理&#xff0c;插画信息管理&#xff0c;基础数据管理&#xff0c;论坛管理&#xff0c;公告信息管理&#xff0c;轮播图信息管理 微信端账号功能包括&#xff1a;系统首页&#xff0c;插画信…

Elasticsearch:探索 Elastic 向量数据库

作者&#xff1a;来着 Elastic Justin Castilla 向量数据库正迅速成为语义搜索的事实上的数据存储&#xff0c;语义搜索是一种考虑上下文和内容含义的搜索&#xff0c;而不是传统的关键字搜索。Elastic 一直提供执行语义搜索的现代工具&#xff0c;识别和理解查询向量数据库所需…

(java)简单设计一个本地搜索,你会怎么实现

目录 1. 需求分析 2. 系统设计 主要类 3. Java代码实现 4. 进一步扩展 在Java中实现一个简单的本地搜索功能的设计流程通常包括以下几个步骤&#xff1a; 1. 需求分析 输入&#xff1a;用户输入要索引的目录路径和搜索的关键词。处理&#xff1a; 扫描指定目录及其子目录…

HTML+CSS之表格(15个案例+代码+效果图+素材)

目录 1.table标签的border属性 案例:制作一个带边框的表格 1.代码 2.效果 2.table标签的cellspacing属性 案例:制作一个带边距的表格 1.代码 2.效果 3.table标签的cellpadding属性 1.代码 2.效果 4.table标签的width和height属性 案例:指定宽高的表格 1.代码 2.效果 5.table标签…

BUSHOUND的抓包使用详解

BUSHOUND是个过滤软件&#xff0c;确切来说是在windows操作系统它的驱动层USB传输的数据。所以这个数据上可能是与USB的总线上的数据是有一点差异的。 先要选择设备的抓包。所以就是在device这个界面底下&#xff0c;我们首先要选择我们要抓的设备。 尝试下键盘设备 电脑键盘…

COPS论文总结——Lec17

文章目录 一、简介二、ALPS1.可用性。2.低延迟。3.分区容忍。4.高可扩展性。5.对比CAP 三、COPS的一致性1.一致性的分类2.Causal 一致性&#xff08;1&#xff09;模型抽象&#xff08;2&#xff09;Causal 定义 一、简介 1.论文的标题是‘Don’t Settle for Eventual: Scalab…

CNN中的平移不变性和平移等变性

1. 平移等变性 数学上函数的等变性定义如下&#xff1a; 也就是给定一张图像&#xff0c;平移后卷积的结果与卷积后再平移的结果是相同的 2. 平移不变性 如果某个属性在任何平移下都不会改变&#xff0c;那么它就是平移不变的。考虑上面的图像。 即使像素值发生了位移&#x…

c++内存申请和释放

// // Created by 徐昌真 on 2024/10/5. // #include <iostream> using namespace std; int main() {//在堆区申请一块内存int* ptr new int(1314); //申请了一个int类型的内存 用ptr指针指向它 它的值是1314cout << *ptr << endl;//可以通过指针修改它的值…

【C++差分数组】1589. 所有排列中的最大和|1871

本文涉及知识点 C差分数组 LeetCode1589. 所有排列中的最大和 有一个整数数组 nums &#xff0c;和一个查询数组 requests &#xff0c;其中 requests[i] [starti, endi] 。第 i 个查询求 nums[starti] nums[starti 1] … nums[endi - 1] nums[endi] 的结果 &#xff…

华为OD机试 - 基站维护工程师数 - 动态规划(Python/JS/C/C++ 2024 E卷 200分)

华为OD机试 2024E卷题库疯狂收录中&#xff0c;刷题点这里 专栏导读 本专栏收录于《华为OD机试真题&#xff08;Python/JS/C/C&#xff09;》。 刷的越多&#xff0c;抽中的概率越大&#xff0c;私信哪吒&#xff0c;备注华为OD&#xff0c;加入华为OD刷题交流群&#xff0c;…

GEE问题:筛选指定区域的Sentinel-1影像缺乏VH等波段

目录 问题简介 原始代码 原始代码 问题解析 修改后的代码 问题简介 亲爱的同事们&#xff0c;我正在尝试使用 SAR 图像 - Sentinel-1 来改进使用机器学习的地上生物量建模。我想处理 Sentinel 图像并将它们作为波段插入以增强模型。通过阅读文档&#xff0c;可用的极化&a…

前端编程艺术(3)---JavaScript

目录 1.JavaScript 1.输出 2.变量和数据类型 3.运算符 4.数组 5.函数 6.面向对象 7.ES6面向对象 2.BOM 1.document对象 3.DOM 4.JSON 1.JavaScript JavaScript是一种脚本编程语言&#xff0c;通常用于为网页增加交互性和动态效果。它是一种高级语言&#xff…

用js和css实现一行一行文字交替显示

用js和css实现&#xff0c;效果是&#xff1a;有多行文字&#xff0c;一行一行的交替显示&#xff0c;每隔几秒显示一行&#xff0c;循环显示。 代码如下&#xff0c;保存为html即可看到效果&#xff1a; <!DOCTYPE html> <html lang"en"> <hea…

心觉:梦想成真的三个核心步骤

Hi&#xff0c;我是心觉&#xff0c;与你一起玩转潜意识、脑波音乐和吸引力法则&#xff0c;轻松掌控自己的人生&#xff01; 挑战每日一省写作190/1000天 梦想成真是每个人的愿望 但是希望你不要把“梦想成真”这四个字当成愿望或许愿&#xff0c;因为它实际上是一个成事的…

为什么芯片有多个不同的供电电压?

一、为什么芯片有多个不同的供电电压&#xff1f; 优化性能与功耗&#xff1a;芯片的核心部分&#xff08;Core&#xff09;和输入输出部分&#xff08;IO&#xff09;可能采用不同的电压。核心电压通常较低&#xff0c;以减少功耗和发热&#xff0c;提高能效&#xff1b;而IO电…