0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

振动传感器与Arduino UNO连接的教程

科技观察员 来源:circuitdigest 作者:Sourav Gupta 2022-09-06 15:22 次阅读

有几台关键机器或昂贵的设备会因振动而损坏。在这种情况下,需要一个振动传感器来确定机器或设备是否产生振动。如果使用适当的传感器来检测振动,那么识别持续振动的物体并不是一件棘手的工作。市场上有几种类型的振动传感器可以通过感应加速度或速度来检测振动,并且可以提供出色的结果。然而,在使用加速度计的情况下,这种传感器过于昂贵。加速度计非常灵敏,可用于制作地震探测器电路。 但是,也很少有专用且廉价的传感器可用于仅检测振动,其中一种振动传感器是 SW-420,我们将与 Arduino Uno 接口

所以在这个项目中,一个基本的振动传感器模块与流行的 Arduino UNO 接口,每当振动传感器检测到任何振动或抖动时,一个 LED 就会开始闪烁。

振动传感器模块 SW-420

poYBAGMW9HOAPIwZAAJpoJBulek791.png

这是一个SW-420振动模块,可以工作在3.3V到5V之间。传感器使用 LM393 比较器检测超过阈值点的振动并提供数字数据,逻辑低或逻辑高,0 或 1。在正常工作期间,传感器提供逻辑低,当检测到振动时,传感器提供逻辑高。模块中提供三个外围设备,两个 LED,一个用于电源状态,另一个用于传感器输出。此外,还提供了一个电位器,可进一步用于控制振动的阈值点。在本项目中,我们将使用 5V 为模块供电

所需组件

Arduino UNO

SW-420 振动传感器模块

5mm LED(任何颜色)

跳线(连接线)

上传程序的 USB 数据线

Arduino振动传感器电路图

下面给出了将振动传感器与 Arduino uno 连接的示意图 。

pYYBAGMW9G-ANug9AABiSoHanuU338.png

LED 连接在 D13 引脚上。该模块使用 Arduino 中可用的 5V 引脚供电。接地和 5V 引脚用于为 Arduino 供电,而 A5 引脚用于从振动传感器获取数据。

该电路是在 SW-420 模块和 LED 与 Arduino Uno 连接的地方构建的。

poYBAGMW9GyAOKwuAAFfFiFMhIs578.png

Arduino Uno 振动传感器编程

将 Arduino UNO 编程为接口振动传感器不需要太多努力,因为只需监控输入引脚即可得出结论。最后附上完整的代码和工作视频

最初包含头文件。由于本教程是在带有 Arduino 扩展的 Eclipse IDE 中编写的,因此包含了 arduino 标头。此草图也适用于 Arduino IDE,在 Arduino IDE 中使用此草图时,无需包含 标头。

#include 

这里为 ON 和 OFF 定义了两个宏。

#define 开 1 
#define 关 0

以下语句用于集成 LED 和振动传感器。振动传感器连接到引脚 A5。还使用了内置 LED,它直接连接到板子中的引脚 13。5mm LED 也连接到引脚 13。

/* 
* 引脚说明
*/ 
intvibration_Sensor = A5; 
整数 LED = 13;

声明了两个整数,其中传感器当前输出和先前输出将被存储,这将进一步用于检测是否发生振动。

/* 
* 程序流程描述
*/ 
int present_condition = 0; 
int previous_condition = 0;

声明为外围连接的同一引脚,配置引脚的方向。传感器引脚作为输入,LED 引脚作为输出。

/* 
* 引脚模式设置
*/ 
void setup() { 
            pinMode(vibration_Sensor, INPUT); 
            pinMode(LED,输出);     
}

编写了一个函数以使 LED 闪烁两次。可以通过更改延迟值来配置延迟。

无效 led_blink(void) { 
            digitalWrite(LED, ON); 
            延迟(250);
            数字写入(LED,关闭);
            延迟(250);
            数字写入(LED,开);
            延迟(250);
            数字写入(LED,关闭);
            延迟(250);
}

在循环函数中,比较当前条件和先前条件。如果这两个不相同,则LED 开始闪烁,直到两者相同。启动时,两个变量保持 0,程序启动期间 LED 保持熄灭。当有一些 virbraion 时,present_condition变量变为 1 并导致开始闪烁。当振动停止时,两个变量都变为 0,LED 停止闪烁。

无效循环(){
            前一个条件=现在条件;
            present_condition = digitalRead(A5); // 从 Arduino 的 A5 引脚读取数字数据。
            if (previous_condition != present_condition) { 
                       led_blink();

            } 其他 {
                       数字写入(LED,关闭);
            } 
}

这样就完成了使用振动传感器对 arduino UNO 的编程。最后一步是测试整个设置。

测试 Arduino 振动传感器电路

该电路不需要额外的面包板。可以使用 Arduino UNO 板对其进行简单测试。当振动传感器被击中或它是否改变其状态时,会监控 LED。当有一些振动时,LED 将闪烁连接到 Arduino UNO 的 Pin 13。如果振动传感器不起作用,请检查连接和电源。避免传感器和微控制器之间的任何松散连接。
/*//=============================================== =================================//

* 与 Arduino 接口的振动传感器

* 日期: - 15-04-2019

* 作者:- 苏拉夫古普塔

* 对于:- circuitdigest.com

*/ //=============================================== ================================//

#include

#include



#define ON 1

#define 关闭 0



/*

* 引脚说明

*/

int 振动传感器 = A5;

整数 LED = 13;



/*

* 程序流程说明

*/

int present_condition = 0;

int previous_condition = 0;



/*

* 引脚模式设置

*/

无效设置(){

pinMode(振动传感器,输入);

pinMode(LED,输出);

}



/*

* LED 闪烁

*/

无效led_blink(无效);



/*

* 主循环

*/



无效循环(){

以前的条件=现在的条件;

present_condition = digitalRead(A5); // 从 Arduino 的 A5 引脚读取数字数据。



if (previous_condition != present_condition) {

led_blink();



} 别的 {

数字写入(LED,关闭);

}

}



无效led_blink(无效){

数字写入(LED,开);

延迟(250);

数字写入(LED,关闭);

延迟(250);

数字写入(LED,开);

延迟(250);

数字写入(LED,关闭);

延迟(250);

}

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • led
    led
    +关注

    关注

    237

    文章

    22445

    浏览量

    645848
  • 振动传感器
    +关注

    关注

    2

    文章

    310

    浏览量

    19619
  • Arduino
    +关注

    关注

    184

    文章

    6427

    浏览量

    184826
收藏 人收藏

    评论

    相关推荐

    转:开源基于Arduino的空气检测传感器设计方案

    上传 对于此,利用一个空气监测传感器搭配Arduino控制和扩展板,就搭建出一个简易空气监测装置,这样就可以时刻了解呼吸的空气质量了! 硬件材料:1. 粉尘传感器2. DFRdu
    发表于 08-05 10:24

    友善UNO Dock适用NanoPi NEO/Arduino UNO

    便的操作arduino接口上的传感器模块。板载USB转串口功能,并可通过跳线设置为UNO Dock for NanoPi NEO的通讯串口或NanoPi NEO板的调试串口。板载12V-5V电压转换,可为
    发表于 01-03 16:19

    UNO Dock V2.0 for NanoPi NEO,arduino板,兼容arduino UNO

    NEO/Air/NEO2上方便的操作Arduino接口上的传感器模块。板载USB转串口功能,并可通过跳线设置为UNO Dock V2.0 for NanoPi NEO的通讯串口或NanoPi NEO
    发表于 04-25 18:08

    为什么arduino uno只能每秒读传感器80次?

    为什么arduino只能每秒读传感器80次?我在arduinouno上连接了一个加速度传感器连接到了A0,还有GND.
    发表于 11-27 03:16

    arduino UNO采集多个姿态传感器信息

    我想用arduino 同时采集4个姿态传感器的数据,但是UNO只有一个串口,请问一下怎么扩展呢?1316883352这是我的qq,如果大神有方案,麻烦加我一下,万分感谢
    发表于 04-09 16:23

    Arduino uno的相关资料推荐

    (A0-A5),1个5V,一个3.3V电源引脚。模拟端口和数字端口arduino uno 开发板的端口在它的两侧。它们作一种连接来实现开发板与传感器、执行
    发表于 01-25 06:19

    带有超声波传感器和LCD显示屏的Arduino uno shield

    描述带有超声波传感器和 LCD 显示屏的 Arduino uno shieldPCB
    发表于 08-10 07:01

    如何与ARDUINO一起使用振动传感器

    如果为Arduino UNO模块供电,则蜂鸣器将发出蜂鸣声,LED指示灯将亮起。摇动振动传感器时会闪烁。
    的头像 发表于 10-08 09:47 8849次阅读

    霍尔传感器Arduino UNO接口及示例代码

    霍尔传感器应用非常广泛,本文以A3144开关型霍尔传感器为例,介绍霍尔效应传感器以及A3144与Arduino UNO
    的头像 发表于 08-01 09:14 4226次阅读
    霍尔<b class='flag-5'>传感器</b>与<b class='flag-5'>Arduino</b> <b class='flag-5'>UNO</b>接口及示例代码

    Arduino uno与PIR运动传感器连接

    电子发烧友网站提供《将Arduino uno与PIR运动传感器连接.zip》资料免费下载
    发表于 10-21 10:34 0次下载
    将<b class='flag-5'>Arduino</b> <b class='flag-5'>uno</b>与PIR运动<b class='flag-5'>传感器</b><b class='flag-5'>连接</b>

    带有arduino uno的超声波传感器

    电子发烧友网站提供《带有arduino uno的超声波传感器.zip》资料免费下载
    发表于 11-29 11:39 0次下载
    带有<b class='flag-5'>arduino</b> <b class='flag-5'>uno</b>的超声波<b class='flag-5'>传感器</b>

    Arduino Uno接口超声波传感器开源

    电子发烧友网站提供《与Arduino Uno接口超声波传感器开源.zip》资料免费下载
    发表于 11-30 09:28 1次下载
    与<b class='flag-5'>Arduino</b> <b class='flag-5'>Uno</b>接口超声波<b class='flag-5'>传感器</b>开源

    使用Arduino Uno制作温度和湿度传感器

    电子发烧友网站提供《使用Arduino Uno制作温度和湿度传感器.zip》资料免费下载
    发表于 02-02 16:49 1次下载
    使用<b class='flag-5'>Arduino</b> <b class='flag-5'>Uno</b>制作温度和湿度<b class='flag-5'>传感器</b>

    如何将超声波传感器Arduino Uno连接

    电子发烧友网站提供《如何将超声波传感器Arduino Uno连接.zip》资料免费下载
    发表于 02-03 14:14 0次下载
    如何将超声波<b class='flag-5'>传感器</b>与<b class='flag-5'>Arduino</b> <b class='flag-5'>Uno</b><b class='flag-5'>连接</b>

    Arduino UNO和带继电器的振动传感器

    电子发烧友网站提供《Arduino UNO和带继电器的振动传感器.zip》资料免费下载
    发表于 07-05 14:38 0次下载
    <b class='flag-5'>Arduino</b> <b class='flag-5'>UNO</b>和带继电器的<b class='flag-5'>振动</b><b class='flag-5'>传感器</b>