文章目录
- 模块简介
- 接线
- 程序
- 示例
模块简介
- 微波感应开关模块
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 ,控制模块进行录音(控制命令为十六进制)