震动传感器介绍及实战

目录

前言

震动传感器

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.mzph.cn/web/54366.shtml

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

相关文章

二、变量与基本类型

变量与基本类型 变量定义声明和使用 基本类型数字类型介绍运算算术运算符位运算符赋值运算符运算符优先级 布尔类型字符类型字符串类型 变量 定义 变量&#xff0c;指值可以变的量。变量以非数字的符号来表达&#xff0c;一般用拉丁字母。变量的用处在于能一般化描述指令的方式…

MongoDB集群模式详解及应用实战

目录 本节课内容&#xff1a; 集群搭建 1.创建3个目录&#xff1a; 2.编辑配置文件 ​编辑 3.启动&#xff1a; 4.看看&#xff1a; 5.另外&#xff0c;两个如上1&#xff0c;2&#xff0c;3步骤操作 &#xff0c;但是日志目录&#xff0c;端口什么的需要改一下即可。 …

10以内数的分解

// 10以内数的分解.cpp : 此文件包含 "main" 函数。程序执行将在此处开始并结束。 //#include <iostream> using namespace std; int main(int argc, char* argv[]){for (int i 2; i < 10; i){for (int j 1; j < i; j){printf("%d%d%d ",j…

操作系统学习笔记---文件管理

文件系统基础 概念 文件&#xff1a;以计算机硬盘为载体的存储在计算机上的信息集合 文件的属性 文件具有一定的属性&#xff0c;系统不同&#xff0c;属性也会有所不同&#xff0c;但通第都包括如下属性&#xff1a;名称、标识符、类型、位置、大小、保护、时间、日期和用…

C# Windows 窗体开发基础

Windows Forms&#xff08;WinForms&#xff09;是 C# 中用于开发桌面应用程序的框架。它提供了丰富的 UI 控件&#xff0c;可以快速构建桌面应用程序的用户界面。本文将介绍 Windows 窗体开发的基本概念&#xff0c;包括窗体和控件、事件处理、界面布局与设计&#xff0c;以及…

vue3+vite@4+ts+elementplus创建项目详解

1、第一步创建项目cnpm init vite4 2、设置vue3.2局域网可访问配置&#xff1a; 找到项目路径下的package.json目录下找到script对象下面添加一下代码&#xff1a; "serve": "vite --host 0.0.0.0" 启动项目命令不在是dev而是&#xff1a;cnpm run serve 3…

《深度学习》OpenCV 摄像头OCR 过程及案例解析

目录 一、摄像头OCR 1、含义 2、一般操作步骤 1&#xff09;安装OpenCV库 2&#xff09;设置摄像头 3&#xff09;图像采集 4&#xff09;图像预处理 5&#xff09;文本识别 6&#xff09;文本处理 7&#xff09;结果显示 二、案例实现 1、定义展示图像函数 2、定…

《C++20:编程世界的新变革与应用场景探索》

C 作为一种广泛应用的编程语言&#xff0c;一直在不断演进和发展。C20 的到来为开发者带来了众多令人兴奋的新特性&#xff0c;这些特性不仅提升了 C 的编程效率、代码可读性和可维护性&#xff0c;还为各种应用场景带来了新的解决方案。在本文中&#xff0c;我们将深入探讨 C2…

Java - LeetCode面试经典150题 - 哈希表 (二)

哈希表 383. 赎金信 题目 给你两个字符串&#xff1a;ransomNote 和 magazine &#xff0c;判断 ransomNote 能不能由 magazine 里面的字符构成。 如果可以&#xff0c;返回 true &#xff1b;否则返回 false 。 magazine 中的每个字符只能在 ransomNote 中使用一次。 提示…

深入理解 JavaScript 事件循环机制:单线程中的异步处理核心

深入理解 JavaScript 事件循环机制&#xff1a;单线程中的异步处理核心 JavaScript 是一门单线程的编程语言&#xff0c;也就是说它在同一时间只能执行一个任务。然而&#xff0c;现代 Web 应用经常需要处理大量的异步操作&#xff0c;如用户输入、网络请求、定时器等。为了确…

[CSP-J 2021] 插入排序

[CSP-J 2021] 插入排序 题目描述 插入排序是一种非常常见且简单的排序算法。小 Z 是一名大一的新生&#xff0c;今天 H 老师刚刚在上课的时候讲了插入排序算法。 假设比较两个元素的时间为 O ( 1 ) \mathcal O(1) O(1)&#xff0c;则插入排序可以以 O ( n 2 ) \mathcal O(…

《迁移学习》—— 将 ResNet18 模型迁移到食物分类项目中

文章目录 一、迁移学习的简单介绍1.迁移学习是什么&#xff1f;2.迁移学习的步骤 二、数据集介绍三、代码实现1. 步骤2.所用到方法介绍的文章链接3. 完整代码 一、迁移学习的简单介绍 1.迁移学习是什么&#xff1f; 迁移学习是指利用已经训练好的模型&#xff0c;在新的任务上…

鸿蒙开发(NEXT/API 12)【状态查询与订阅】手机侧应用开发

注意 该接口的调用需要在开发者联盟申请设备基础信息权限与穿戴用户状态权限&#xff0c;穿戴用户状态权限还需获得用户授权。 实时查询穿戴设备可用空间、电量状态。订阅穿戴设备连接状态、低电量告警、用户心率告警。查询和订阅穿戴设备充电状态、佩戴状态、设备模式。 使…

初识Django

前言: 各位观众老爷们好&#xff0c;最近几个月都没怎么更新&#xff0c;主要是最近的事情太多了&#xff0c;我也在继续学习Django框架&#xff0c;之前还参加了一些比赛&#xff0c;现在我会开始持续更新Django的学习&#xff0c;这个过程会比较久&#xff0c;我会把我学习的…

MySQL--三大范式(超详解)

目录 一、前言二、三大范式2.1概念2.2第一范式&#xff08;1NF&#xff09;2.3第二范式&#xff08;2NF&#xff09;2.3第三范式&#xff08;3NF&#xff09; 一、前言 欢迎大家来到权权的博客~欢迎大家对我的博客进行指导&#xff0c;有什么不对的地方&#xff0c;我会及时改进…

嘴尚绝卤味:健康美味的双重奏

在当今快节奏的生活中&#xff0c;人们对美食的追求不再仅仅停留于味蕾的满足&#xff0c;更加注重食物的健康与营养。在这一背景下&#xff0c;"嘴尚绝卤味"以其独特的健康理念与精湛的制作工艺&#xff0c;成为了市场上备受瞩目的卤味品牌。本文将从"嘴尚绝卤…

Django学习笔记九:RESTAPI添加用户认证和授权

在Django REST Framework中添加用户认证和授权&#xff0c;通常涉及以下几个步骤&#xff1a; 1. 认证&#xff08;Authentication&#xff09; 认证是指确定用户身份的过程。Django REST Framework提供了多种认证方式&#xff1a; Token Authentication&#xff1a;通过一个…

Kotlin基本知识

Kotlin是一种现代的静态类型编程语言&#xff0c;由JetBrains公司在2010年推出&#xff0c;并被Google在2019年宣布为Android开发的首选语言。 超过 50% 的专业 Android 开发者使用 Kotlin 作为主要语言&#xff0c;而只有 30% 使用 Java 作为主要语言。 70% 以 Kotlin 为主要语…

APK安装包arm64-v8a、armeabi-v7a、x86、x86_64如何区别?(2024年10月1日)

其实就是安卓CPU的进步史 安卓CPU类型: arm64-v8a: 第8代、64位ARM处理器&#xff0c;目前手机大多数是此架构(新手机&#xff0c;可以无脑选择)armeabiv-v7a: 第七代及以上的 ARM 处理器。2011年5月以后生产的大部分安卓设备都使用它armeabi: 第5代、第6代的ARM处理器&#…

文章解读与仿真程序复现思路——电力自动化设备EI\CSCD\北大核心《考虑光伏不确定性的配电网谐波监测优化配置方法 》

本专栏栏目提供文章与程序复现思路&#xff0c;具体已有的论文与论文源程序可翻阅本博主免费的专栏栏目《论文与完整程序》 论文与完整源程序_电网论文源程序的博客-CSDN博客https://blog.csdn.net/liang674027206/category_12531414.html 电网论文源程序-CSDN博客电网论文源…