当前位置: 首页 > news >正文

stm32第七天震动传感器

一:震动传感器 

1.震动传感器工作原理
震动传感器黑色震动检测传感器,工作时电源LED灯常量,震动信号检测LED灯发生震动的时候会保持亮的过程。正常工作模块DO口输出高电平,震动瞬间DO口输出低电平,用于各种震动触发作用,防盗报警,智能小车,电子积木灯等。
2.震动传感器硬件引脚接线
1.VCÇ:接到板子电源的5v或者3.3v。
2.GND:地,连接到板子电源的负极或者GND。
3.DO:数字信号输出口,可以与单片机相连检测环境是否发生震动。
3.要动传威器软件开发流程
·初始化系统
。 初始化震动传感器DO相连的单片机引脚时钟
。 初始化震动传感器DO相连的单片机引脚输入配置
·检测震动控制LED灯

1:shake.c工程

#include "shake.h"#include "stm32f10x.h"void Shake_Init(void)//震动传感器的初始化函数
{//有两个步骤  1:初始化震动传感器DO相连的单片机引脚输入配置,也就是初始震动传感器外设//           2:初始化震动传感器DO相连的单片机引脚时钟GPIO_InitTypeDef Shake_Initstruct;//初始化震动传感器的结构体RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA,ENABLE);//打开APB2总线下GPIOA的时钟Shake_Initstruct.GPIO_Pin=GPIO_Pin_0;//配置A0引脚Shake_Initstruct.GPIO_Mode=GPIO_Mode_IPU;//配置输入模式为上拉输入GPIO_Init( GPIOA, &Shake_Initstruct);//初始化GPIOA0的结构体}

2:shake.h工程

#ifndef SHAKE_H_
#define SHAKE_H_void Shake_Init(void);//声明函数#endif

3:main.c工程

#include "stm32f10x.h"
#include "main.h"
#include "led.h"
#include "Bear.h"
#include "key.h"
#include "relay.h"
#include "shake.h"void delay(uint16_t time)//延时1ms  软件延时粗延时
{uint16_t i=0;while(time --){i=12000;while(i --);}}int  main()
{LED_Init();Bear_Init();//初始化蜂鸣器的引脚GPIO A3Key_Init();//初始化按键的时钟和引脚配置//GPIO_SetBits(GPIOA, GPIO_Pin_1); //初始化灯为灭Relay_Init();//初始化继电器的时钟和引脚配置//GPIO_SetBits(GPIOA, GPIO_Pin_0);//初始化GPIOA为高电平为绿灯灭Shake_Init();//初始化震动传感器的时钟和引脚配置while(1){if(GPIO_ReadInputDataBit( GPIOA, GPIO_Pin_0)==0)//因为震动瞬间DO输出低电平,当触发震动为低电平也就等于0{GPIO_ResetBits(GPIOA, GPIO_Pin_1);//灯亮delay(1000);//延时一秒GPIO_SetBits(GPIOA, GPIO_Pin_1);//灯灭delay(1000);//延时一秒}else{GPIO_SetBits(GPIOA, GPIO_Pin_1);//没有震动,为正常工作模式,就灯灭}}}


http://www.mrgr.cn/news/95055.html

相关文章:

  • 【模拟】从 0 到 1:模拟算法的深度剖析与实战指南
  • python实现接口自动化
  • 【MySQL数据库】多表查询(笛卡尔积现象,联合查询、内连接、左外连接、右外连接、子查询)-通过练习快速掌握法
  • 4.好事多磨 1
  • C++项目:高并发内存池_上
  • 【深度学习与大模型基础】第6章-对角矩阵,对称矩阵,正交矩阵
  • 20250315-OpenAI-AgentSDK实验
  • 计算机网络面试篇
  • Linux:(socket套接字——TCP协议,守护进程)
  • 博客图床 VsCode + PicGo + 阿里云OSS
  • 网络华为HCIA+HCIP VLAN间通信
  • S32K144入门笔记(十三):LPIT的API函数解读
  • C语言经典代码练习题
  • 使用Redis如何实现分布式锁?(超卖)
  • 02 windows qt配置ffmpeg开发环境搭建
  • linux du和df
  • 三.ffmpeg对yuv的操作
  • yolo模型学习笔记——1——物体检测评估指标
  • 【Rust】枚举和模式匹配——Rust语言基础14
  • Git 使用SSH登陆