您现在的位置是:首页 >技术杂谈 >安信可新品雷达模组Rd-03搭配STM32制作简易人体感应雷达灯教程网站首页技术杂谈

安信可新品雷达模组Rd-03搭配STM32制作简易人体感应雷达灯教程

安信可科技 2024-09-23 00:01:04
简介安信可新品雷达模组Rd-03搭配STM32制作简易人体感应雷达灯教程

-

前言

安信可最新雷达模组Rd-03已经横空出世,为了方便大家使用该模组,本教程将使用STM32F103C8T6搭配Rd-03制作一个简易的人体检测雷达灯。

一、Rd-03引脚说明

Rd-03共有五个管脚,以下是管脚功能定义表:

序号引脚说明
13.3V输入电源
2GND接地
3OT1UART_TX
4RXUART_RX
5OT2检测结果输出,感应时输出高电平,未感应时输出低电平

二、STM32F103C8T6使用CubeMX搭配HAL库配置

打开CubeMX, 选择STM32F103C8T6,勾选串口以及将中断使能勾上。选择串口1,则PA9为TX,PA10为RX。这里选择PA12作为GPIO输出控制LED灯。
请添加图片描述

三、STM32与Rd-03的接线

根据CubeMX生成的串口引脚以及Rd-03的引脚,引脚接线如下

STM32Rd-03
3.3V-------3.3V
GND-------GND
PA9-------UART_RX
PA10-------UART_TX

注意LED灯需要接上PA12引脚以及与STM32共地

四、STM32使用Rd-03

Rd-03具有内置的MCU处理数据,使用串口驱动,在运行模式下会打印出“OFF“和”ON range 距离“。故STM32只要在串口回调函数中对ON和OFF字符进行判断即可。定义几个全局变量。

uint8_t RX_BUF[64]={0};  //缓存数组
uint8_t RX_count=0;      //计数位
uint8_t RX_temp;         //缓存字符
void HAL_UART_RxCpltCallback(UART_HandleTypeDef *huart)//回调函数,检测到雷达发送一帧数据时进行处理
{
  if(huart == &huart1){
    RX_BUF[RX_count++] = RX_temp;//将缓存字符存入缓存数组中
    if(RX_BUF[RX_count-1] == 0X0A){
      // RX_count = 1;
      if(0==(memcmp(&RX_BUF,"ON",strlen("ON"))))        //字符串比较,雷达检测到有人时开灯
      {
        LED_ON;//宏定义,使能PA12
      }
      if(0==(memcmp(&RX_BUF,"OFF",strlen("OFF"))))      //字符串比较,雷达检测到无人时关灯
      {
        LED_OFF;//宏定义,关闭PA12
      }
      HAL_UART_Transmit(&huart1,(uint8_t *)&RX_BUF,RX_count,0xFFFF);//将缓存数组中的数据从串口发送出去
      while(HAL_UART_GetState(&huart1)==HAL_UART_STATE_BUSY_TX);//判缓存数组是否发送完毕
      memset(RX_BUF,0x00,sizeof(RX_temp));
      RX_count = 0;
    }  

    HAL_UART_Receive_IT(&huart1,&RX_temp,1);
  }
}

当然也可以根据串口协议编写相关的函数配置Rd-03的参数,如最大检测门限距离以及检测的延迟时间等等。也可以使用上位机软件调配好参数通过TTL写入Rd-03中,再连接STM32使用。在本教程中为了方便大家使用,根据Rd-03的协议编写了一个函数可以通过输入两个参数对Rd-03初始化驱动,以下是函数名称。在进入whilie循环前先调用该函数配置完相应参数即可。一次修改一个参数,若五个参数都需要修改则需要调用五次。教材末尾附上源码地址。

//parameter为调试的参数名
//roiMin,roiMax,activeFrameNum,inactiveFrameNum,delay五个可填写
//分别对应最小探测距离门、最远探测距离门、检测到目标最小帧数、目标消失最小帧数、目标消失延迟时间
//data为输入的参数,最远探测距离门范围为0-15
void RD_03_Write_cmd(uint8_t parameter,uint8_t data);

STM32搭配Rd-03制作雷达灯效果:
请添加图片描述

五、使用上位机修改Rd-03的参数

使用TTL连接Rd-03,可使用上位机修改Rd-03的参数。
在安信可页面下载对应资料,内包含开发的工具以及相应的资料文档:Rd-03模组

首先选择对应的端口号,波特率为115200,点击连接设备。右边的参数都可修改,如最大门限距离,一个门限距离为70cm,最大是15个门限距离也就是10.5米。目标消失延迟时间则为检测到目标后持续输出高电平的时间,单位为秒。在输入完参数后点击写入传感器设置则配置完毕。
在这里插入图片描述

六、Rd-03模组独立制作雷达灯

前面提到Rd-03是有独立的OT2引脚输出高低电平,所以只需要先使用上位机配置好相应的参数,在将配置的信息写入雷达模组中,在将OT2引脚与LED灯正极相接以及GND与模组共地即可,使用TTL供电。
Rd-03模组连接雷达灯效果

源码地址: https://e.coding.net/axk/stm32_rd-03/STM32_Rd-03.git

总结

官方网址: https://www.ai-thinker.com
开发DOCS:https://docs.ai-thinker.com
官方论坛: http://bbs.ai-thinker.com
技术支持:support@aithinker.com

风语者!平时喜欢研究各种技术,目前在从事后端开发工作,热爱生活、热爱工作。