人体感应提醒 大声公+微波模块
文章目录
- 模块简介
- 接线
- 程序
- 示例
模块简介
- 微波感应开关模块
RCWL-0516是一款采用多普勒雷达技术,专门检测物体移动的微波感应模块。采用 2.7G 微波信号检测,该模块具有灵敏度高,感应距离远,可靠性强,感应角度大,供应电压范围宽等特点。与红外产品比较:微波开关感应距离更远,角度广,无死区,能穿透玻璃和薄木板,根据功率不同可以穿透不同厚度的墙壁,不受环境、温度、灰尘等影响,在 37 度情况下,感应距离不会缩短。广泛应用于各种人体感应照明和防盗报警等场合。
3V3 | 3.3V 电源输出 |
---|---|
GND | 电源地 |
OUT | 信号输出:H- 3.3V L-0V |
VIN | 3.3-18V 电源 |
CDS | 触发控制信号 |
- 大声公语音模块
本模块是一个录音扩音器喊话语音模块,具有录音播放和喊话功能可以应用于单片机设计、特殊场所监听录音,扶梯、走道、工地等场所语音播放警示和扩音器!具备录音功能,长达4分钟录音时间,亦可播放录音内容、具备喊话器功能,实现麦克风声音扩大放大。自带3w功放芯片,可直接驱动3w内喇叭,音量可调。双声道耳机孔原声输出,未经过载板功放,用于外置音响、功放板再次声音放大。
PLAY | 扩音键,下降沿触发进入扩音模式,喊话器用途 |
---|---|
REC | 录音键,下降沿触发进入录音模式,指示灯闪烁开始录音 |
PREC | 播放录音键,下降沿触发开始循环播放录音内容 |
P1REC | 播放1次录音键,下降沿触发后开始播放录音,放完后停止 |
POW | 开关机键,下降沿触发后开机或关机 |
GND | 5V电源负极 |
5V | 5V电源正极 |
MIC | 麦克风正负极 |
SPEAKER | 喇叭接口 |
- JDY-31
JDY-31蓝牙基于蓝牙3.0 SPP设计,这样可以支持Windows、Linux、android数据透传,工作频段2.4GHZ,调制方式GFSK,max发射功率8db,max发射距离30米,支持用户通过AT命令修改设备名、波特率等指令,方便快捷使用灵活。此蓝牙模块只能作为蓝牙从机使用。
之前已有JDY-31相关介绍文章,这里不多阐述,这里JDY-31做为无线控制示例
接线
程序
//main.c
#include <STC89C5xRC.H>
#include <delay.h>
#include <uart.h>
#include <External interrupt.H>
sbit REC = P2^0;
sbit PREC = P2^1;
sbit P1REC = P2^2;
void init()//大声公引脚初始化
{REC=1;PREC=1;P1REC=1;
}
void Int0_Routine() interrupt 0 //外部中断服务
{P1REC=0;Delay_x_ms(500);P1REC=1;//产生下降沿信号
}
void main()
{init();uart_init();//串口初始化init_External();//外部中断初始化while(1){if(RCE_uart.flag == 1)//flag:串口接收标志位{switch(RCE_uart.arr[0])//arr:串口接收数据存放数组{case 1:REC=0;Delay_x_ms(500);REC=1;break;//产生下降沿信号case 2:PREC=0;Delay_x_ms(500);PREC=1;break;//产生下降沿信号case 3:P1REC=0;Delay_x_ms(500);P1REC=1;break;//产生下降沿信号}RCE_uart.flag = 0;}}
}
//External interrupt.c
void init_External()
{IT0 = 0;IE0 = 0;EX0 = 1;EA = 1;PX0 = 1;IPH &= 0x01;
}
//uart.c
#include <STC89C5xRC.H>
#include <timer1.H>
#include <uart.h>
RECD RCE_uart;
void uart_init()//9600
{timer1_init();PCON |= 0x80;SCON = 0x50;EA = 1;ES = 1;
}
void UART_SendByte(unsigned char byte)
{SBUF = byte;while(TI == 0);TI = 0;
}
void UART_Send(unsigned char *arr)
{while(*arr != '\0'){UART_SendByte(*arr);arr++;}
}
void UART_Routine() interrupt 4
{unsigned char temp;if(RI == 1){temp = SBUF;if(temp=='\r'||temp=='\n'||RCE_uart.len==20){RCE_uart.arr[RCE_uart.len]='\0';RCE_uart.flag=1;RCE_uart.len=0;}else{RCE_uart.arr[RCE_uart.len++] = temp;}RI = 0;}
}
示例
当微波模块感应到人体活动后,喇叭播放录音,提醒“您已进入监控区域”等等语音
手机端蓝牙串口调试app发送 03 0D 或者 02 0D ,喇叭播放录音;发送 01 0D ,控制模块进行录音(控制命令为十六进制)
相关文章:

人体感应提醒 大声公+微波模块
文章目录 模块简介接线程序示例 模块简介 微波感应开关模块 RCWL-0516是一款采用多普勒雷达技术,专门检测物体移动的微波感应模块。采用 2.7G 微波信号检测,该模块具有灵敏度高,感应距离远,可靠性强,感应角度大&#…...

正确的功能可将热晶体管风速计线性化
处理传感器电路输出信号的电路或计算公式必须生成传感器响应的反函数。例如,如果传感器响应是对数函数,则线性化部分的响应必须是指数的。 这项工作首先获取传感器响应的 46 个离散点(参见参考论文中的图 4)。刚开始时࿰…...

小程序集arcgis地图显示自定义坐标的功能实现记录!(学习笔记)
最近再做一个新能源回收项目,项目中有个根据回收点坐标数据显示区域内回收点位置,点击图标直接导航到该位置,及分布的需求,研究了一下,实现效果如下,实现起来很简单,代码及效果 回收点位置及分…...

谷歌医疗大模型登Nature,Med-PaLM重磅揭秘!AI医生成绩比肩人类
5月I/O大会上,Med-PaLM 2重磅升级,甚至达到了专家水准。 今天,谷歌揭秘微调后的Med-PaLM,同样在医学问题上一骑绝尘。 研究成果已登Nature。 论文地址:https://www.nature.com/articles/s41586-023-06291-2 这项研究…...
java-字符串相关类的底层原理
在 Java 中,字符串处理是编程中的一个常见任务。Java 提供了多种字符串相关的类,如 String, StringBuilder, StringBuffer 和 CharSequence 等,以满足不同的需求。这些类的底层原理基于 Java 内部的数据结构和算法。在本教程中,我…...
C++模板编程—学习C++类库的编程基础
课程总目录 文章目录 一、详解函数模板二、类模板三、类模板实践:实现向量容器vector四、理解容器空间配置器allocator的重要性 一、详解函数模板 模板的意义:对类型也可以进行参数化了 // 也可以用template<class T>,但class容易和类…...

[每周一更]-(第99期):MySQL的索引为什么用B+树?
文章目录 B树与B树的基本概念B树(Balanced Tree)B树(B-Plus Tree)对比 为什么MySQL选择B树1. **磁盘I/O效率**2. **更稳定的查询性能**3. **更高的空间利用率**4. **并发控制** 其他树结构的比较参考 索引是一种 数据结构&#x…...
详解MySQL的MVCC机制
多版本并发控制(MVCC,Multi-Version Concurrency Control)是MySQL InnoDB存储引擎用于实现事务隔离和提高并发性能的一种机制。MVCC通过在同一数据的多个版本之间进行管理,允许读写操作并发进行,从而避免了传统锁机制带…...

docker部署skywalking
skywalking版本下载 1:拉取skywalking的oap镜像(可以选择自己的版本,最好与ui,agent版本一致) docker pull apache/skywalking-oap-server:9.5.02:启动oap docker run -d -p 11800:11800 -p 12800:12800 --name sw_oap apache/…...

Mac 使用Docker安装Elasticsearch、Kibana 、ik分词器、head
安装ElasticSearch 通过docker安装es docker pull elasticsearch:7.8.1 在本地创建elasticsearch.yml文件 mkdir /Users/ky/Documents/learn/es/elasticsearch.yml 编辑yml文件内容 http: host: 0.0.0.0 xpack.security.enabled: false xpack.security.enrollment.enabled: t…...
【Webpack4打包机制原理解析】
webpack是一个打包模块化 JavaScript 的工具,在 webpack里一切文件皆模块,通过 Loader 转换文件,通过 Plugin 注入钩子,最后输出由多个模块组合成的文件。webpack专注于构建模块化项目。 # 简单版打包模型步骤 我们先从简单的入手…...
如何提高接口响应速度
在非大数据(几万以上记录)的情况下,影响接口响应速度的因素中最大的是查询数据库的次数,其次才是数组遍历和简单数据处理(如根据已有字段增加新的属性,或计算值)。 一般一次数据库查询需要50毫秒…...

项目敏感配置信息加固
概述 引入jasypt做密码等敏感配置信息的加固 项目集成依赖 pom.xml引入jasypt-spring-boot-starter依赖 <dependency><groupId>com.github.ulisesbocchio</groupId><artifactId>jasypt-spring-boot-starter</artifactId><version>3.0.…...
HCIA-AI课程大纲
该阶段详细介绍各个机器学习范式方法,涵盖有监督、无监督、半监督、强化学习,以及深度学习算法基础,共计 72 课时。 第一节:华为云 ModelArts 云服务开发环境搭建 - (2 课时) - 华为云 ModelArts 云服务简…...

keil program algorithm 出错
前段时间 在 调试下载算法时,遇到一个奇怪的问题 就是 加载下载算法后, 下载算法的RAM空间 大小不能修改为 单片机的最大RAM,只能改到最大4KB的空间大小, 再大就报错 刚开始报错 一直不知道原因,走了很多弯路, 到最…...

SITNE24V2BNQ-3/TR一种瞬态电压抑制器,对标PESD1CAN
SITNE24V2BNQ是一种瞬态电压抑制器,设计用于保护两个汽车控制器区域 网络(CAN)母线不受ESD等瞬变造成的损坏。 SITNE24V2BNQ采用SOT-23封装。标准产品不含铅和卤素。 产品参数 方向:双向通道数:2VRWM(V)(Max):24IPP8/20μS(A)(M…...

Vue3【四】使用Vue2的写法写一个新的组件子组件和根组件
Vue3【四】使用Vue2的写法写一个新的组件 Vue3【四】使用Vue2的写法写一个新的组件 Vue3是向下兼容的,所有可以使用Vue的选项式写法 运行截图 目录结构 文件源码 App.vue <template><div class"app"><h1>你好世界! 我是App根组件<…...

指标体系建设10大坑
在企业经营和运营管理中,指标体系的建设至关重要,它在一定程度上是反映业务的问题状况,影响决策者的决策。但是,在指标体系的建设过程中,常常会存在一些不容忽视的“坑”,今天做个总结,以下为个…...
ubuntu 20.04上docker 使用gpu
要在Docker容器中使用GPU,你需要确保系统上已经安装了正确的NVIDIA驱动程序,并且安装了NVIDIA Container Toolkit。以下是详细的步骤: 1. 安装NVIDIA驱动程序 确保你的系统上已经安装了适当版本的NVIDIA驱动程序。你可以通过运行以下命令来检查驱动程序是否正确安装: nv…...

短剧系统投流版开发,为运营公司投流业务赋能
短剧系统投流版开发是一项复杂的任务,旨在为运营公司的投流业务提供强大的技术支持和赋能。以下是一些关键步骤和考虑因素,以确保短剧系统投流版的成功开发: 一、明确业务需求与目标 首先,需要深入了解运营公司的业务需求、目标…...
day52 ResNet18 CBAM
在深度学习的旅程中,我们不断探索如何提升模型的性能。今天,我将分享我在 ResNet18 模型中插入 CBAM(Convolutional Block Attention Module)模块,并采用分阶段微调策略的实践过程。通过这个过程,我不仅提升…...
OpenPrompt 和直接对提示词的嵌入向量进行训练有什么区别
OpenPrompt 和直接对提示词的嵌入向量进行训练有什么区别 直接训练提示词嵌入向量的核心区别 您提到的代码: prompt_embedding = initial_embedding.clone().requires_grad_(True) optimizer = torch.optim.Adam([prompt_embedding...
是否存在路径(FIFOBB算法)
题目描述 一个具有 n 个顶点e条边的无向图,该图顶点的编号依次为0到n-1且不存在顶点与自身相连的边。请使用FIFOBB算法编写程序,确定是否存在从顶点 source到顶点 destination的路径。 输入 第一行两个整数,分别表示n 和 e 的值(1…...

基于Java+MySQL实现(GUI)客户管理系统
客户资料管理系统的设计与实现 第一章 需求分析 1.1 需求总体介绍 本项目为了方便维护客户信息为了方便维护客户信息,对客户进行统一管理,可以把所有客户信息录入系统,进行维护和统计功能。可通过文件的方式保存相关录入数据,对…...

Linux 内存管理实战精讲:核心原理与面试常考点全解析
Linux 内存管理实战精讲:核心原理与面试常考点全解析 Linux 内核内存管理是系统设计中最复杂但也最核心的模块之一。它不仅支撑着虚拟内存机制、物理内存分配、进程隔离与资源复用,还直接决定系统运行的性能与稳定性。无论你是嵌入式开发者、内核调试工…...
C++课设:简易日历程序(支持传统节假日 + 二十四节气 + 个人纪念日管理)
名人说:路漫漫其修远兮,吾将上下而求索。—— 屈原《离骚》 创作者:Code_流苏(CSDN)(一个喜欢古诗词和编程的Coder😊) 专栏介绍:《编程项目实战》 目录 一、为什么要开发一个日历程序?1. 深入理解时间算法2. 练习面向对象设计3. 学习数据结构应用二、核心算法深度解析…...

免费数学几何作图web平台
光锐软件免费数学工具,maths,数学制图,数学作图,几何作图,几何,AR开发,AR教育,增强现实,软件公司,XR,MR,VR,虚拟仿真,虚拟现实,混合现实,教育科技产品,职业模拟培训,高保真VR场景,结构互动课件,元宇宙http://xaglare.c…...
为什么要创建 Vue 实例
核心原因:Vue 需要一个「控制中心」来驱动整个应用 你可以把 Vue 实例想象成你应用的**「大脑」或「引擎」。它负责协调模板、数据、逻辑和行为,将它们变成一个活的、可交互的应用**。没有这个实例,你的代码只是一堆静态的 HTML、JavaScript 变量和函数,无法「活」起来。 …...

Vue ③-生命周期 || 脚手架
生命周期 思考:什么时候可以发送初始化渲染请求?(越早越好) 什么时候可以开始操作dom?(至少dom得渲染出来) Vue生命周期: 一个Vue实例从 创建 到 销毁 的整个过程。 生命周期四个…...
tomcat指定使用的jdk版本
说明 有时候需要对tomcat配置指定的jdk版本号,此时,我们可以通过以下方式进行配置 设置方式 找到tomcat的bin目录中的setclasspath.bat。如果是linux系统则是setclasspath.sh set JAVA_HOMEC:\Program Files\Java\jdk8 set JRE_HOMEC:\Program Files…...