课程

课程 讲师

震动传感器模块

购买数
28
课时数
1
浏览数
4057
主讲人:
邵老师
有效期:
自购买之日起永久
优惠价:¥10
原价:¥20
分享

分享到:

手机查看

一、模块介绍


image.png


当有震动产生时,就能检测到信号。

购买链接:

https://item.taobao.com/item.htm?spm=a1z10.5-c-s.w4002-18748153240.30.7eda723cVVKOLp&id=576040269349


        此模块中使用的震动开关型号是SW-18015P,为密封弹簧型、无方向性震动感应触发开关,任何角度均可触发。

        开关在静止时为开路OFF状态,当受到外力碰触而达到相应震动力时,或移动速度达到适当离(偏)心力时,导电接脚会瞬间导通呈瞬间ON状态。当外力消失时,开关恢复为开路OFF状态。在正常使用情况下开关的寿命可达20万次。

        此震动开关适用于小电流控制电路的触发,开关的灵敏度是灵敏型,适用于玩具、防盗报警器、鞋灯、发光礼品等产品。


二、原理分析


        震动传感器两个引脚默认是断开的状态,当产生震动时,两个引脚相连接。

        正常状态下,U2比较器的3引脚被R1电阻上拉至3.3V,根据串联分压的原理可知,比较器1引脚的电位等于R2两端的电压。R2和R3串联,可得比较器1引脚的电压为1.65V,故比较器输出低电平(逻辑0)。

        当模块处于震动状态时,传感器两个引脚短接,此时比较器的3引脚直接接地,故比较器输出高电平(逻辑1)。

image.png


三、代码解读


        1、初始化IO口为输入。

               GPIO_Init();

        2、开启IO口复用时钟。

               RCC_APB2PeriphClockCmd(RCC_APB2Periph_AFIO,ENABLE);

        3、设置IO口与中断线的映射关系。

               void GPIO_EXTILineConfig();

        4、初始化线上中断,设置触发条件等。

               EXTI_Init();

        5、配置中断分组(NVIC),并使能中断。

               NVIC_Init();

        6、编写中断服务函数。

              EXTIx_IRQHandler();

        7、清除中断标志位

              EXTI_ClearITPendingBit();


四、实践操作


        一、实验操作步骤:

                1、将 STM32F103 核心板正确插接到魔法师 M3/M4 底板上,连接好 J-link 与 PC 机;

                2、将 震动传感器 模块插到底板 P5 口,底板拨码 S1 拨向 ON 端;

                3、编译整个工程,打开底板电源,烧写程序到核心板,并按一次复位按键。串口调试助手波特率为115200。


        二、实验现象:

                用手指轻弹模块上的柱状传感器,串口打印 报警信息。


讲师信息

邵老师

邵老师

粉丝:3
多年嵌入式开发经验,精通STM32/51单片机,扎实的C语言基本功
×

分享成功,快去个人中心查看吧~~~

祝您:学习愉快 !

确 定
×

加入我的看单

该课程需要加入我的看单后方可学习,确定加入?

确 定 取 消
关注官方微信