[雷达灯控]安信可RD-03E+测评学习

[复制链接]
查看834 | 回复12 | 2024-3-28 15:27:22 | 显示全部楼层 |阅读模式
本帖最后由 青果 于 2024-4-1 16:29 编辑

嘻嘻,很多人和我一样,都是参加测评RD-03E。安信可雷达模块有好几产品,在官网资料有展示。
以前没有用过雷达模块,对这些型号也没有时间和精力对比了解,不知道互相的区别。只能有哪个就学习哪个。一起看收到的RD-03E图片

下载.png


先来看看官方给的资料,打开官方资料网站。然后就可以看见RD-03E的资料。
下载.png

下载.png

大概看了一下,模块有两个固件,一个精准测距固件,一个是手势识别固件。不同的固件识别精度和功能不一样。拿到模块后,第一步就是想体验一下。看了其他人介绍,送的模块默认是手势识别固件。所以先验证一下手势识别的内容。下载手势识别的上位机。可以先看一下手势识别的手册再测试比较好。
下载.png

下载.png

然后找个usb转ttl工具连接上就行,注意usb转ttl的rx、tx接雷达模块的tx(OT1)、rx就行。打开刚刚下载的软件,找到串口(部分电脑ch340模块需要安装驱动才会显示)

下载.png

直接点开始就会有数据产生了。
下载.png

一开始挺懵的,这个咋是测量距离的,不是手势吗?我以前用的手势识别传感器,手靠近以后,可以检测手往哪个方向运动,向左还是向右挥舞。
然后去看用户手册,说实话看的挺懵逼。给的是一个开关马桶的,要是不看文档,很难利用传统经验很快上手。还有就是那个距离跳动挺快的,也不知道这个人体检测距离是从离传感器最近的距离算起,还是说人体大部分距离平均值。大概测试了一下那个距离,还是比较准确,手势看文档太复杂了,以后有空再研究。

重点来了,把精力花在精准测距比较有意义
现在测试精准测距固件,这里先要刷固件。大多数小伙伴有串口下载器,主要以keil为主
Rd-03E固件烧录
直接就是跟着群里大佬走  使用ch340给rd03_e雷达烧录固件[有手就行]
,自带的固件是手势固件,使用大佬的烧录方法烧写了测距固件。固件前面说了在哪下载。

大多数ch340模块都自带3.3v模块,可以拿一个杜邦线,代替文章中的镊子。先将usb转ttl模块断电,其它导线正常连接就行。然后将3.3v用杜邦线引出来,杜邦线针头怼在他说的那个电阻上,然后给usb转ttl模块上电,这时候就可以松开,不需要接3.3v,按照文章提示操作就行,补一张他缺的图。
下载.png
测试结果还是可以,确实比那个手势识别准确。
下载.png
打开串口工具,看一下数据
下载.png
文档对于十六进制数据描述
下载.png
单片机接收分析,这里主要是arduino UNO。雷达模块串口通信波特率是256000,而arduino uno一般是115200,太高就乱码,接收有问题,所以测试基本都是收到有乱码。实验没有办法继续,stm32又不会玩,后续再研究

翻了论坛,发现还有不同波特率版本的固件,这一下又可以实验测试了,还是按照前面的步骤下载
下载了115200波特率,然后可以工作。那就写个arduino程序。
先串口观察接受的程序。
1.png
  1. #include <SoftwareSerial.h>

  2. SoftwareSerial mySerial(10, 11);  // 10为RX, 11为TX。接雷达的tx和rx
  3. int distance = 0;                 //测量的距离
  4. int stateHuman = 0;               //   0为无目标   1为运动   2为微动
  5. unsigned char serialBuff[5];      //缓存串口数据
  6. void setup() {
  7.   // put your setup code here, to run once:
  8.   Serial.begin(115200);    //电脑串口观察数据
  9.   mySerial.begin(115200);  //与雷达模块串口连接注意波特率为25600,
  10. }

  11. void loop() {
  12.   // put your main code here, to run repeatedly:
  13.   readSerialData();
  14. }

  15. void readSerialData() {
  16.   if (mySerial.available()) {  //当前串口接收到信息
  17.     if (mySerial.read() == 0xAA) {
  18.       mySerial.readBytesUntil(0x55, serialBuff, 5);  //读取串口信息直到遇到0x55,长度5个字节
  19.       if (serialBuff[0] == 0xAA) {                   //校验帧头是否为AA
  20.         Serial.print("Received Serial Data: ");      // 输出serialBuff接收到的内容
  21.         for (int i = 0; i < 5; i++) {                // 然后通过串口监视器输出readBytesUntil
  22.           Serial.print(serialBuff[i], HEX);          // 函数所读取的信息
  23.           Serial.print(" ");
  24.         }
  25.         Serial.println("");
  26.       } else {
  27.         Serial.print("Data error");  //若不是AA,则重置数组serialBuffer
  28.         for (int i = 0; i < 5; i++) {
  29.           serialBuff[i] = 255;
  30.         }
  31.       }
  32.     }
  33.   }
  34. }
复制代码
代码先判断接收的数据是不是0xAA,是的话再接收下来的数据,并把数据存到serialBuffer里。然后可以根据数组serialBuffer[1]来判断运动情况,serialBuffer[2],serialBuffer[3]合并成十进制来得到测得距离
回复

使用道具 举报

1084504793 | 2024-3-28 16:04:33 | 显示全部楼层
回复

使用道具 举报

爱笑 | 2024-3-28 16:05:33 | 显示全部楼层
富文本编辑器图片不能粘贴,需要本地上传。
用心做好保姆工作
回复 支持 反对

使用道具 举报

WT_0213 | 2024-3-29 08:45:36 | 显示全部楼层
图没了
回复

使用道具 举报

lazy | 2024-3-29 09:05:04 | 显示全部楼层
最好是有源码
回复 支持 反对

使用道具 举报

DMJ董 | 2024-3-29 14:31:23 | 显示全部楼层
屏幕截图 2024-03-29 142718.png
1.双击图片,图片才会落到文本上。


2.那个删除不要点,点了也会图片消失不见。我就是点了删除,文本上就没有图片了


回复 支持 反对

使用道具 举报

1055173307 | 2024-3-29 16:59:21 | 显示全部楼层
学习学习
回复

使用道具 举报

干簧管 | 2024-3-29 21:37:05 | 显示全部楼层
回复

使用道具 举报

noonezero | 2024-4-8 09:58:59 | 显示全部楼层
回复

使用道具 举报

sansui | 2024-4-8 10:50:33 | 显示全部楼层
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则