GD32F470_微波多普勒无线雷达探测器探头传感器模块10.525GHz HB100带底板

news2025/1/18 8:55:31

2.20 微波多普勒无线雷达传感器

微波运动传感器是利用多普勒雷达原理设计的微波移动物体探测器。不同于一般的红外探测器,微波传感器通过通过检测物体反射的微波来探测物体的运动状况,检测对象将并不会局限于人体,还有很多其他的事物。微波传感器不受环境温度的影响,探测距离远,灵敏度高,被广泛应用于工业、交通及民用装置中,如车辆测速、自动门、感应灯、倒车雷达等。
由于微波传感器检测对象存在普遍性,在实际的生活应用中,会搭配另一个传感器来做针对性的检测。如微波传感器+红外热释电传感器,能够有效的判断是否有人经过,不会被阳光,被衣物颜色所干扰,也不会对其他物体产生反应。

2.20.1 模块来源

采购链接:
微波多普勒无线雷达探测器探头传感器模块10.525GHz HB100带底板
资料下载链接:
https://pan.baidu.com/s/110NZE7hM3ifS1ho53fxmoA
提取码:2cz6

2.20.2 规格参数

工作电压:5V±0.25V
工作电流:30~50mA
探测距离:2-16m 连续可调
尺寸: R=30.6mm
输出方式: GPIO
管脚数量:3 Pin
工作电流:30~50mA
探测距离:2-16m 连续可调
尺寸: R=30.6mm
输出方式: GPIO
管脚数量:3 Pin

2.20.3 移植过程

我们的目标是在梁山派GD32F470上能够判断测量一定距离内是否物体运动。首先要获取资料,查看数据手册应如何实现,再移植至我们的工程。

2.20.3.1 查看资料

由于微波传感器检测对象存在普遍性,即只要有物体动作,都能够检测到,因此只需要检测OUT引脚的高低电平变化即可。

在这里插入图片描述

2.20.3.2 引脚选择

微波雷达立创·梁山派
VCC5V
OUTPF9
GNDGND

在这里插入图片描述

2.20.3.3 移植至工程

移植步骤中的导入.c和.h文件与上一节相同,只是将.c和.h文件更改为bsp_mh100x.c与bsp_mh100x.h。见2.2.3.3 移植至工程。这里不再过多讲述。移植完成后面修改相关代码。
在文件bsp_mh100x.c中,编写如下代码。

/********************************************************************************
  * 文 件 名: bsp_mh100x.c
  * 版 本 号: 初版
  * 修改作者: LC
  * 修改日期: 2023年04月06日
  * 功能介绍:          
  ******************************************************************************
  * 开发板官网:www.lckfb.com        
*********************************************************************************/

#include "bsp_mh100x.h"
#include "systick.h"
#include "bsp_usart.h"
#include "stdio.h"


/******************************************************************
 * 函 数 名 称:MH100X_GPIO_Init
 * 函 数 说 明:MH100X初始化
 * 函 数 形 参:无
 * 函 数 返 回:无
 * 作       者:LC
 * 备       注:无
******************************************************************/
void MH100X_GPIO_Init(void)
{
    /*  开启时钟  */
        rcu_periph_clock_enable(RCU_OUT);    
        /* 配置为输入模式 上拉模式 */
        gpio_mode_set(PORT_OUT,GPIO_MODE_INPUT,GPIO_PUPD_PULLUP,GPIO_OUT);
}

/******************************************************************
 * 函 数 名 称:OUTPIN_Scanf
 * 函 数 说 明:返回OUT引脚电平状态
 * 函 数 形 参:无
 * 函 数 返 回:1=未检测到物体移动  0=检测到物体移动
 * 作       者:LC
 * 备       注:无
******************************************************************/
char OUTPIN_Scanf(void)
{
    return OUT_IN;
}

在文件bsp_mh100x.h中,编写如下代码。

/********************************************************************************
  * 文 件 名: bsp_mh100x.h
  * 版 本 号: 初版
  * 修改作者: LC
  * 修改日期: 2022年04月19日
  * 功能介绍:          
  ******************************************************************************
  * 开发板官网:www.lckfb.com        
*********************************************************************************/

#ifndef _BSP_MH100X_H_
#define _BSP_MH100X_H_
 
#include "gd32f4xx.h"


#define RCU_OUT     RCU_GPIOF
#define PORT_OUT    GPIOF
#define GPIO_OUT    GPIO_PIN_7


#define OUT_IN   gpio_input_bit_get(PORT_OUT, GPIO_OUT)

void MH100X_GPIO_Init(void);//引脚初始化
char OUTPIN_Scanf(void);//微波雷达的输入状态


#endif


2.20.4 移植验证

在自己工程中的main主函数中,编写如下。

/********************************************************************************
  * 文 件 名: main.c
  * 版 本 号: 初版
  * 修改作者: LC
  * 修改日期: 2022年04月19日
  * 功能介绍:          
  ******************************************************************************
  * 开发板官网:www.lckfb.com        
*********************************************************************************/


#include "gd32f4xx.h"
#include "systick.h"
#include "bsp_usart.h"
#include "bsp_mh100x.h"
#include "stdio.h"

//模拟实现 商场自动门
int main(void)
{
    uint8_t flag = 0;
    uint16_t time = 0;
    nvic_priority_group_set(NVIC_PRIGROUP_PRE2_SUB2);  // 优先级分组
        systick_config();                //滴答定时器初始化 1ms

    usart_gpio_config(115200U);
    MH100X_GPIO_Init();
    printf("demo start\r\n");
    while(1)
    {
        //检测到有物体移动
        if( OUTPIN_Scanf() == 0 )
        {
             flag = 1;
        }
        
        if( flag == 1 )
        {
            if( time == 0 ) //打开门
            {
                printf("open\r\n");
            }
            
            time++;
            if( time >= 2000 )//超过两秒则关门
            {
                time = 0;
                flag = 0;
                printf("close\r\n");
            }
            delay_1ms(1);//时间基准
        }
        
    }
}

移植现象:对准自己,当检测到移动时,发送open,超过两秒之后发送close,反复循环。在这里插入图片描述
移植成功示例,见文件2.20.4-1 。

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

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

相关文章

DB schema表中使用全局变量及在DB组件中查询

DB schema表中使用全局变量及在DB组件中查询 规则如下: 使用如下: 如果在unicloud-db组件上不加判断条件,就会报错,并进入到登录页。 那么就会进入到登录页,加上了判断条件,有数据了就不会了。 因为在sc…

java列表排序练习题

1、(模式识别方面:四个连续相等的数)编写下面的方法,测试某个数组是否有四个连续的值相同的数字。 public static boolean isConsecutiveFour(int[] values)编写测试程序,提示用户输入一个整数列表,如果这个列表中有四个连续的具有相同值的数…

Linux的环境搭建

目录 第一步:购买腾讯云轻量级云服务器 Step1:打开腾讯云 ​编辑 Step2:登录腾讯云并完成认证 Step3:选择服务器类型 Step4:选择服务器配置 第二部:下载XShell Step1:打开XShell Step2…

用于扩展Qt自身的插件(下)

扩展Qt自身的插件 引言必须满足项创建插件示例代码生成插件配置加载插件的环境创建使用插件的项目配置库和头文件依赖的步骤:应用程序代码运行结果总结引言 本文继上篇的扩展Qt自身的插件,接着记录Qt自身的插件,只不过本文提及的用于扩展Qt自身的插件是可以在QtCreator的设…

在 Leetcode 上使用 Javascript 查找数组中的所有重复项(使用 JS 的 DSA)

在本篇博客文章中,我们将探讨如何在数组中找出所有重复的元素,这个问题源自LeetCode上的一个问题。 问题描述: 我们有一个包含n个整数的数组,所有整数都在范围[1, n]内。每个整数要么出现一次,要么出现两次。任务是找…

如何借助AI高效完成写作提纲

AI变革力量:未来数据中心的智能化之旅! 在当今这个信息爆炸的时代,人工智能(AI)在众多领域展现出了它的能力,特别是在写作领域。AI写作工具不仅能够帮助我们高效地生成内容,还能在一定程度上提升…

在vue和 js 、ts 数据中使用 vue-i18n,切换语言环境时,标签文本实时变化

我的项目需要显示两种语言(中文和英文),并且我想要切换语言时,页面语言环境会随之改变,但是目前发现,只能在vue中使用$t(‘’)的方式使用,但是这种方式只能在vue中使用,但是我的菜单文件是定义在js中&#…

JAVAEE之事务和事务传播机制

1.事务 1.1 事务的概念 事务是⼀组操作的集合, 是⼀个不可分割的操作. 事务会把所有的操作作为⼀个整体, ⼀起向数据库提交或者是撤销操作请求. 所以这组操作要么同时成功, 要么同时失败. 1.2 需要事务的原因 转账的时候,要么同时成功,要么同时失败…

关闭笔记本自带的键盘

目录 一、问题 二、方法 【方法一】 【方法二】 一、问题 笔记本自带的键盘上的个别按键又坏了,可能是因为使用电脑时,最先坏的几个按键那里温度比较高,久而久之就烧坏了吧。距离上次更换新键盘才差不多一年,所以不打算再买新…

2024年思维100春季线上比赛倒计时8天,来做做官方样题

今天是2024年4月12日,距离2024年春季思维100活动第一阶段的线上比赛4月20日还有8天。今年思维100活动的考试重点是什么呢?虽然主办方未公布,我们可以从主办方发布的参考题目中来推测今年的考试重点,并且按照这个来举一反三&#x…

任推邦七款热门拉新项目,普通人逆袭路径,月入6个W!

任推邦 不扣量的项目拉新平台 1UC网盘 —网推 价格上涨行业置顶 ,大厂项目 市场空白,预算充足,不限量 适合自媒体/抖快等渠道 上传下载不限速 2迅雷网盘—网推 官方核心服务商,大厂项目 群组内测(新增转播收…

TiDB 数据库调度(PD)揭秘

目录 一、PD 简介 1.1 元数据管理 1.2 调度决策 1.3 全局服务 1.4 集群配置与管理 二、TiKV 管理 2.1 调度需求 2.2 信息收集 三、TiDB server 管理 四、PD 集群主节点选取 一、PD 简介 TiDB PD (Placement Driver) 是 TiDB 分布式数据库系统中的核心组件之一,负…

应用实战|从头开始开发记账本2:基于模板快速开始

上期视频我们创建好了BaaS服务的后端应用。从这期视频开始,我们将从头开发一个互联网记账本应用。本期视频我们介绍一下如何使用模板快速开启我们的应用开发之旅。 应用实战|从头开始开发记账本2:基于模板快速开始 相关代码 本期视频我们介绍…

LigaAI x 极狐GitLab,共探 AI 时代研发提效新范式

近日,LigaAI 和极狐GitLab 宣布合作,双方将一起探索 AI 时代的研发效能新范式,提供 AI 赋能的一站式研发效能解决方案,让 AI 成为中国程序员和企业发展的新质生产力。 软件研发是一个涉及人员多、流程多、系统多的复杂工程&#…

三小时使用鸿蒙OS模仿羊了个羊,附源码

学习鸿蒙arkTS语言,决定直接通过实践的方式上手,而不是一点点进行观看视频再来实现。 结合羊了个羊的开发思路,准备好相应的卡片素材后进行开发。遇到了需要arkTS进行解决的问题,再去查看相应的文档。 首先需要准备卡片对应的图片…

ccf201509-3模板生成系统(list,map,字符串综合运用)

问题描述 成成最近在搭建一个网站,其中一些页面的部分内容来自数据库中不同的数据记录,但是页面的基本结构是相同的。例如,对于展示用户信息的页面,当用户为 Tom 时,网页的源代码是: 而当用户为 Jerry 时…

【Spring Boot 源码学习】SpringApplication 的 run 方法核心流程介绍

《Spring Boot 源码学习系列》 SpringApplication 的 run 方法核心流程介绍 一、引言二、往期内容三、主要内容3.1 run 方法源码初识3.2 引导上下文 BootstrapContext3.3 系统属性【java.awt.headless】3.4 早期启动阶段3.5 准备和配置应用环境3.6 打印 Banner 信息3.7 新建应用…

一起学习python——基础篇(16)

今天继续说说python的网络请求方法——get方法和post方法。上一章已经简单说了一下get方法,现在说一下post方法如何进行网络请求。 假如服务端开发人员给你一个接口文档内容如下: Request(请求参数): 1、接口url为http://127.0.0.1:5005/a…

Mac 局域网内连接 MySQL

1. 前言 本文记录在 mac 局域网下实现数据库资源共享的问题 项目开发初期,都是在本地进行开发调试,数据库也在本地。那么和你配合开发的同事,就可能想要连接你 mac 电脑的数据库,连接过程中可能就会遇到问题。本文详细记录这些问…

MongoDB数据库转换为表格文件的Python实现

目录 一、引言 二、转换工具与库的选择 三、转换过程详解 安装必要的库 连接MongoDB数据库 查询并处理数据 将数据写入CSV文件 四、进阶技巧与注意事项 五、总结 一、引言 在当今大数据时代,数据的存储、处理与共享显得尤为重要。MongoDB作为一个面向文档…