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

【Beetle RP2350】人体运动感应警报系统

一、硬件介绍

1、产品特点

Beetle RP2350【RP2350A_QFN60】是一款基于RP2350微控制器的高性能迷你开发板,双核双架构设计(支持 Arm Cortex-M33或Hazard3 RISC-V内核)为开发者提供灵活的性能配置。

双核双架构,性能自由切换

  • 采用Raspberry Pi RP2350高性能微控制器,支持Arm Cortex-M33Hazard3 RISC-V内核选择。
  • 主频高达150MHz,配备520KB RAM2MB Flash,可高效处理大量数据,满足高性能计算需求。

高度集成,硬币大小

  • 尺寸仅为25mm x 20.5mm,相当于一枚硬币大小,适合空间受限的应用场景。
  • 提供 11个IO接口BAT接口和3.3V电源接口,满足多样化连接需求。

锂电池管理与监测
集成 锂电池充电管理电池电压监测 功能,支持实时电量监控,确保设备在低电量时及时采取措施,确保持续运行。

易于编程与集成

  • 支持 C/C++ 和 MicroPython 编程

在这里插入图片描述

2、功能引脚示意图 / 原理图

板载LED灯

IO25引脚控制

充电指示灯

指示充电状态的绿色LED灯

通过三种方式指示充电状态:

1、充满电或未接入电源时熄灭;

2、充电时常亮;

3、USB供电,未连接锂电池时高频闪烁;

用户按键

使用QSPI_SS引脚控制该按钮

在这里插入图片描述

引脚号数字口模拟口UARTI2CSPI其它
0D0TX1
1D1RX1
4D4SDA
5D5SCL
8D8TX2
9D9RX2
16D16SPI0/MISO
18D18SPI0/SCK
19D19SPI0/MOSI
26D26A0
27D27A1
BAT锂电池输入接口,IO29为电池电压检测引脚
GND接地引脚
VCC该引脚接在USB电源引脚,作为输出时电压为USB电压,通常为5V
3V33.3V稳压电源输出

主要原理图:

在这里插入图片描述

3、外部硬件

1、雷达模块【CEM5826-M11】

CEM5826-M11是一款高灵敏度 24GHz 毫米波人体微动存在检测雷达模块。本模块主要特点是在传统人体感应雷达的功能基础上,同时具备检测积累人体微动幅度的运动,来判断人体的存在的功能。因此相比传统多普勒雷达来说,具备一定范围内的存在检测,准确率更高。不易漏报。

在这里插入图片描述

数据格式:

v=,str= 。(v 代表目标速度大小, str 代表信号强度)

波特率 115200,8位数据位,1位停止位,校验位和流控为 None;

(v=1.0 km/h, str=1121) [ASCII]

(76 3D 31 2E 30 20 6B 6D 2F 68 2C 20 73 74 72 3D 31 31 32 31 0D 0A 0D) [Hex]

特性:

参数典型值
频率24G-24.25GHz
调制方式CW
范围挂高 3m,微动人体检测半径 3m, 移动检测半径 5-6m
供电3.3-5V
电流70mA
输出串口电平3V
检测周期实时
数据格式串口 ASCII 输出/或高低电平
2、喇叭模块【GSPK2307P-8R1W】

在这里插入图片描述

项目规格条件
额定阻抗8 Ohm±15%1kHz 1.0 V
额定输入功率0.5W2.0 V
最大输入功率1.0W2.0V
最低共振频率1700±20% Hz1.0 V Input
灵敏度88±3dB0.1m 0.1W
有效频率范围F0~20KHz-
谐波失真≤5% at 1kHz-

二、硬件连接

模块与开发板引脚之间的连接方式如下:

RP2350开发板VCCGNDD19D8(TX2)D9(RX2)
雷达模块5VGND-RXTX
喇叭模块-GNDVCC--

实物效果搭建如下:

在这里插入图片描述

三、项目功能实现

【人体运动感应警报系统】

实现效果:

通过雷达模块,识别人体是否运动以及移动时的速度信息;
根据移动的速度,在不同的速度检测范围内,触发不同的警报效果;
并且在串口上输出相关的信息;

开发板通过USART功能获取雷达模块数据;通过PWM功能控制喇叭模块;

运行流程图如下:

在这里插入图片描述

四、功能实现主要步骤

主要相关代码

1、雷达控制部分

float data = 0;void Radar_Get(){if (Serial2.available() >0) {String receivedData = Serial2.readStringUntil(' '); if(receivedData.startsWith("v") && !receivedData.startsWith("-",2)){String Data = receivedData.substring(2);// km/h -> cm/sdata = Data.toFloat() * 100 / 3.6;if(data == 0){Serial.println("处于静止状态");}else{Serial.print("当前速度: ");Serial.print(data);  Serial.println(" cm/s");}}}
}

2、喇叭控制部分

int  Sound_Pin = D19;void Sound_Get(){if(data >=30 && data <=80){tone(Sound_Pin, 880, 1000);  tone(Sound_Pin, 440, 1000);  }else if(data >=100){tone(Sound_Pin, 3000, 1000);  tone(Sound_Pin, 4000, 1000); }
}

完整代码

int  Sound_Pin = D19;
float data = 0;void Radar_Get(){if (Serial2.available() >0) {String receivedData = Serial2.readStringUntil(' '); if(receivedData.startsWith("v") && !receivedData.startsWith("-",2)){String Data = receivedData.substring(2);// km/h -> cm/sdata = Data.toFloat() * 100 / 3.6;if(data == 0){Serial.println("处于静止状态");}else{Serial.print("当前速度: ");Serial.print(data);  Serial.println(" cm/s");}}}
}void Sound_Get(){if(data >=30 && data <=80){tone(Sound_Pin, 880, 1000);  tone(Sound_Pin, 440, 1000);  }else if(data >=100){tone(Sound_Pin, 3000, 1000);  tone(Sound_Pin, 4000, 1000); }
}void setup() {pinMode(Sound_Pin,OUTPUT);Serial.begin(9600);Serial2.begin(115200);while (!Serial);
}void loop() {Radar_Get();Sound_Get();delay(100);
}

五、实现现象

雷达模块识别人体否处于运动状态;若为运动状态,在不同速度范围内触发不同的警报声音,且串口上输出相关速度信息;

在这里插入图片描述


文章转载自:

http://XzNu9n3G.yxmgq.cn
http://5AkhYiuQ.yxmgq.cn
http://Hqi7ekjC.yxmgq.cn
http://9udeINez.yxmgq.cn
http://zts29wiV.yxmgq.cn
http://YG9yqel3.yxmgq.cn
http://Dpz9RnpM.yxmgq.cn
http://Z3qv4tQU.yxmgq.cn
http://XqtPPhIv.yxmgq.cn
http://z2HXyYDT.yxmgq.cn
http://DHM27ov2.yxmgq.cn
http://eLbB4rI9.yxmgq.cn
http://fdeTyciK.yxmgq.cn
http://lw7v8QOW.yxmgq.cn
http://GSlmNkRB.yxmgq.cn
http://MII2sDDP.yxmgq.cn
http://BiwuUldA.yxmgq.cn
http://QhUp2UVD.yxmgq.cn
http://4xofdMWl.yxmgq.cn
http://1iVpqqOq.yxmgq.cn
http://Ihxi3vRD.yxmgq.cn
http://cpNsTH5O.yxmgq.cn
http://YgnXiVxF.yxmgq.cn
http://jlgiLAhA.yxmgq.cn
http://WuVb5vUG.yxmgq.cn
http://PnKF1yEX.yxmgq.cn
http://5qk4IQty.yxmgq.cn
http://A3q0WR6i.yxmgq.cn
http://grF7Xn68.yxmgq.cn
http://QH8eKvXo.yxmgq.cn
http://www.dtcms.com/a/372113.html

相关文章:

  • tomcat下载
  • 数据结构精讲:栈与队列实战指南
  • 风电设备预测性维护方案:AIoT驱动的风电运维智能化转型​
  • Shell脚本监控系统资源详解
  • Vue基础知识-脚手架开发-Vue Router路由及params、query传参
  • 鱼眼相机模型
  • 类的加载和对象的创建
  • trl GRPO源码分析:如何处理多个reward function?
  • 临床研究三千问——临床研究体系的3个维度(8)
  • TypeORM入门教程:@JoinColumn和@OneToOne的关系
  • html列表标签之无序列表
  • [1]-01-创建空工程
  • 【模型训练篇】VeRL核心思想 - 论文HybridFlow
  • pycharm设置编辑区字体大小
  • 鸿蒙NEXT跨设备数据同步实战:分布式应用开发指南
  • C++ 中栈 (Stack) 详解和常见面试示例汇总实现
  • [光学原理与应用-461]:波动光学 - 波片实现偏振态的转换或调整
  • 苍穹外卖Day12 | Apache POI、导出Excel报表、HttpServletResponse、工作台
  • 《Go小技巧易错点100例》第三十八篇
  • Conda 包管理器与环境管理使用指南
  • 笔记本、平板如何成为电脑拓展屏?向日葵16成为副屏功能一键实现
  • OpenHarmony 显示能效管理组件:掌控屏幕亮灭与亮度的核心利器
  • SQLite的基本操作
  • 第五课 C#语言基本元素概览,初始类型,变量与方法,算法简介
  • 【系统分析师】第12章-关键技术:软件架构设计(核心总结)
  • Lightdash:一个免费开源的自助式BI平台
  • Claude Code 使用教程
  • UML(统一建模语言)
  • Android开发-常用布局
  • Spring Cloud Gateway 进行集群化部署