【雕爷学编程】Arduino动手做(04)---震动模块之常闭型SW-420传感器与SW-520D倾斜模块的应用

news2024/12/27 13:34:49

37款传感器与模块的提法,在网络上广泛流传,其实Arduino能够兼容的传感器模块肯定是不止37种的。鉴于本人手头积累了一些传感器和执行器模块,依照实践出真知(一定要动手做)的理念,以学习和交流为目的,这里准备逐一动手试试多做实验,不管成功与否,都会记录下来——小小的进步或是搞不掂的问题,希望能够抛砖引玉。

【Arduino】168种传感器模块系列实验(资料代码+仿真编程+图形编程)
实验四:震动传感器模块SW-420/520D SW-18010P灵敏常开常闭报警感应振动

在这里插入图片描述

在这里插入图片描述

3、实验模块接口说明(3 线制)
VCC 外接 3.3V-5V 电压(可以直接与 5v 单片机和 3.3v 单片机相连)
GND 外接 GND
DO 小板数字量输出接口(0 和 1)
注意:正确接线!切勿将正负接反,使板子电子器件烧毁!

在这里插入图片描述
4、模块使用说明:
(1)模块不震动时,震动开关呈闭合导通状态,输出端输出低电平,绿色指示灯亮;
(2)发生震动时,震动开关瞬间断开,输出端输出高电平,绿色指示灯不亮;
(3)输出端可以与单片机直接相连,通过单片机来检测高低电平,由此来检测环境是否有震动,起到报警作用。

在这里插入图片描述

5、实验程序一:测试常闭型SW-420震动开关传感器
(1)参考开源代码(Arduino):

/*
 【Arduino】168种传感器模块系列实验(资料代码+仿真编程+图形编程)
  程序一:测试常闭型SW-420震动开关传感器模块
*/

void setup() {
  pinMode(2, INPUT); //设置引脚D2为输入模式
  pinMode(13, OUTPUT); //设置引脚D13为输出模式(接LED)
}

void loop() {
  if (digitalRead(2)) { //当震动开关触发时
    digitalWrite(13, HIGH); // 引脚13输出高电平,LED点亮
    delay(1000); //延时1秒
  }
  else {
    digitalWrite(13, LOW); // 否则,引脚13输出低电平,LED熄灭
  }
}

(2)实验场景图

在这里插入图片描述
2、实验程序二:测试常闭型SW-420震动开关传感器
实验开源仿真编程(Linkboy V4.63)

在这里插入图片描述

二、SW-520D倾斜震动传感器模块
1、模块特色:
(1)采用高灵敏角度开关SW-520D作为震动传感器.
(2)比较器输出,信号干净,波形好,驱动能力强,超过15mA。
(3)工作电压3.3V-5V
(4)输出形式 :数字开关量输出(0和1)
(5)设有固定螺栓孔,方便安装
(6)小板PCB尺寸:3.2cm x 1.4cm
(7)使用宽电压LM393比较器

在这里插入图片描述
2、模块电原理图

在这里插入图片描述
3、实验程序三:通过串口查看SW-520D倾斜模块的状态
(1)实验开源图形编程(Mind+、Mixly、编玩边学)

在这里插入图片描述

(2)实验串口返回情况

在这里插入图片描述
4、实验程序四:SW-520D倾斜模块控制LED灯和蜂鸣器
(1)实验开源仿真编程(Linkboy V4.63)

在这里插入图片描述
(2)实验场景图
在这里插入图片描述

三、KY-031敲击(晃动)传感器模块
1、有机玻璃外壳的敲击头和振动开关类似,只是能感受较小振幅的振动,更灵敏一些,余振的时间能维持稍微久一点点。这个模块简单些,相关资料非常少。模块参数:
(1)工作电压:3.3V-5V(DC)
(2)模块接口:3PIN
(3)输出信号:数字开关信号

在这里插入图片描述
2、模块接线
(1)GND 接电源负极(板示-)
(2)VCC 接电源正极3.3-5V
(3)DO TTL开关信号输出(板示S)

在这里插入图片描述
3、实验说明:
敲击传感器模块和数字13 接口自带LED 搭建简单电路,制作敲击闪光器。利用数字13 接口自带的LED,将敲击传感器接入数字2接口,当敲击传感器感测到有敲击信号时,LED 闪烁发光。

4、实验程序五:测试KY-031敲击(晃动)传感器模块
(1)参考开源代码(Arduino):

/*
  【Arduino】168种传感器模块系列实验(资料代码+仿真编程+图形编程)
  实验程序五:测试KY-031敲击(晃动)传感器模块
*/

const int switchPin = 2;  // 敲击模块S连接引脚D2
const int redLedPin = 13;  // 引脚13板载LED灯

void setup() {
  pinMode(switchPin, INPUT);  // 设置引脚2为输入模式
  pinMode(redLedPin, OUTPUT);  //设置引脚13为输出模式
}

void loop() {
  int switchValue = 0; //定义变量并赋初值为0
  switchValue = digitalRead(switchPin);  //读取引脚2的值
  if (switchValue == 0) {   //判断键值等于0,执行下面的程序
    digitalWrite(redLedPin, HIGH); //点亮LED
    delay(1000);
  }
  else {  //判断键值不为0,将执行下面的语句
    digitalWrite(redLedPin, LOW); //熄灭LED
  }
}

5、实验场景图

在这里插入图片描述

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

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

相关文章

使用 Python 中的 Langchain 从零到高级快速进行工程

大型语言模型 (LLM) 的一个重要方面是这些模型用于学习的参数数量。模型拥有的参数越多,它就能更好地理解单词和短语之间的关系。这意味着具有数十亿个参数的模型有能力生成各种创造性的文本格式,并以信息丰富的方式回答开放式和挑战性的问题。 ChatGPT 等法学硕士利用 T

代码质量检查工具SonarQube

Devops流水线之SonarQube 文章目录 Devops流水线之SonarQube1. 软件功能介绍及用途2. 软件环境搭建与使用2.1 使用方法2.2 SonarQube相关属性说明2.3 Sonar配置文件内容说明 3. 使用环节4. 检查方法 1. 软件功能介绍及用途 SonarQube是一个用于代码质量管理的开源平台&#xf…

一百四十九、Kettle——Linux上安装的kettle8.2创建共享资源库时遇到的问题(持续更新中)

一、目的 在kettle8.2在Linux上安装好可以启动界面、并且可以连接MySQL、Hive、ClickHouse等数据库后开始创建共享资源库,但是遇到了一些问题 二、Linux系统以及kettle版本 (一)Linux:CentOS 7 英文的图形化界面模式 &#…

竞赛项目 深度学习的水果识别 opencv python

文章目录 0 前言2 开发简介3 识别原理3.1 传统图像识别原理3.2 深度学习水果识别 4 数据集5 部分关键代码5.1 处理训练集的数据结构5.2 模型网络结构5.3 训练模型 6 识别效果7 最后 0 前言 🔥 优质竞赛项目系列,今天要分享的是 🚩 深度学习…

无涯教程-Perl - index函数

描述 此函数返回STR中第一次出现的SUBSTR的位置,该位置从开头(从零开始)开始,或者从POSITION(如果指定)开始。 语法 以下是此函数的简单语法- index STR, SUBSTR, POSITIONindex STR, SUBSTR返回值 失败时此函数返回-1,否则返回匹配字符串的位置(第一个字符从零开始)。 例…

Mongoose http server 例子

今天抽了点时间看了一下 mongoose的源码, github 地址,发现跟以前公司内部使用的不太一样,这里正好利用其 http server 例子来看一下。以前的 http message 结构体是这样的: /* HTTP message */ struct http_message {struct mg_…

进程的退出

进程的退出分为正常退出和异常退出: 正常退出 Main函数调用return进程调用exit(),标准c库进程调用_exit()或_Exit(),属于系统调用进程最后一个线程返回(之后学到)最后一个线程调用pthread_exit(之后学到&…

MySQL事务:ACID特性实现原理

事务是MySQL等关系型数据库区别于NoSQL的重要方面,是保证数据一致性的重要手段。本文将首先介绍MySQL事务相关的基础概念,然后介绍事务的ACID特性,并分析其实现原理。 MySQL博大精深,文章疏漏之处在所难免,欢迎批评指…

基于Elman神经网络的电力负荷预测

1 案例背景 1.1 Elman神经网络概述 根据神经网络运行过程中的信息流向,可将神经网络可分为前馈式和反馈式两种基本类型。前馈式网络通过引入隐藏层以及非线性转移函数可以实现复杂的非线性映射功能。但前馈式网络的输出仅由当前输人和权矩阵决定,而与网络先前的输出结果无关。…

Postman中,既想传递文件,还想传递多个参数(后端)

需求:既想传文件又想传多个参数可以用以下方式实现

2023年的深度学习入门指南(25) - 通义千问7b

2023年的深度学习入门指南(25) - 通义千问7b 最近发生的两件事情都比较有意思,一个是连续开源了7b和13b模型的百川,对其53b闭源了;另一个是闭源项目通义千问开源了自己的7b模型。 下面我们就来研究下通义千问7b. 使用通义千问7b 首先安装…

LeetCode 31题:下一个排列

目录 题目 思路 代码 题目 整数数组的一个 排列 就是将其所有成员以序列或线性顺序排列。 例如,arr [1,2,3] ,以下这些都可以视作 arr 的排列:[1,2,3]、[1,3,2]、[3,1,2]、[2,3,1] 。 整数数组的 下一个排列 是指其整数的下一个字典序…

sql高频面试题-去除最高最低的平均

面试或者笔试的过程中会设定各种各样的场景,在这些场景下考查我们SQL的查询能力,但是万变不离其宗,业务场景只是一个表现形式,抽象为SQL问题后其实基本上就是几类问题:计算累计、连续,分类TopN等。只要掌握…

浅谈智能配电房在海岛中的应用 安科瑞 顾语欢

摘要:以海陵岛旅游区海岛智能配电房设计方案为研究对象,从功能设计、逻辑设计和拓扑设计三方面进行 分析,得出契合海陵岛实际和海岛特点的智能配电房方案设计。通过对设计方案研究,总结提炼了海岛智 能配电房组成要素,为进一步提炼统一规范的智能配电房技术标准打下…

Spring Gateway+Security+OAuth2+RBAC 实现SSO统一认证平台

背景:新项目准备用SSO来整合之前多个项目的登录和权限,同时引入网关来做后续的服务限流之类的操作,所以搭建了下面这个系统雏形。 关键词:Spring Gateway, Spring Security, JWT, OAuth2, Nacos, Redis, Danymic datasource, Jav…

Apoll 多项式规划求解

一、纵向规划 void QuarticPolynomialCurve1d::ComputeCoefficients(const float x0, const float dx0, const float ddx0, const float dx1,const float ddx1, const float p) {if (p < 0.0) {std::cout << "p should be greater than 0 at line 140." &…

平稳随机过程

平稳随机过程的概念&#xff1a;并不是说所有时刻的概率分布相同&#xff0c;而是说概率随时间的分布是周期性的&#xff0c;同一个相位的概率相同。 图中已经证明了&#xff0c;平稳过程的期望值是常数。 但是&#xff0c;平稳过程的方差和均方值也是常数。此结论该如何证明呢…

软考高级架构师——4、软件开发方法

软件开发方法是软件开发的方法学。自从“软件危机”爆发以来&#xff0c;软件研究人员就在对 开发方法进行不断地研究&#xff0c;以期能够提高软件的质量、降低软件的成本。经过 40 多年的研 究&#xff0c;人们提出了很多开发方法&#xff0c;如最初的结构化开发到现在非常流…

网络安全(黑客)常用工具(附配套资料+工具安装包)

几十年来&#xff0c;攻击方、白帽和安全从业者的工具不断演进&#xff0c;成为网络安全长河中最具技术特色的灯塔&#xff0c;并在一定程度上左右着网络安全产业发展和演进的方向&#xff0c;成为不可或缺的关键要素之一。 话不多说&#xff0c;2022年全球白帽常用工具排行榜…

[Leetcode] [Tutorial] 回溯

文章目录 46. 全排列Solution 78. 子集Solution 17. 电话号码的字母组合Solution 39. 组合总和Solution 22. 括号生成Solution 46. 全排列 给定一个不含重复数字的数组 nums &#xff0c;返回其 所有可能的全排列 。你可以 按任意顺序 返回答案。 示例&#xff1a; 输入&…