[雷达灯控]安信可RD-03E+联盛德W801+点灯

[复制链接]
查看870 | 回复15 | 2024-3-27 23:08:36 | 显示全部楼层 |阅读模式

本帖最后由 mrzhang 于 2024-3-27 23:08 编辑

本帖最后由 mrzhang 于 2024-3-27 23:08 编辑

前段时间看到安信可论坛搞活动免费送RD-03E雷达模块,就火速申请了,很幸运白嫖到了一块,在这里先感谢一下安信可论坛园长,感谢安信可科技,让我可以体验雷达模块

模块介绍

Rd-03E是由深圳市安信可科技有限公司开发的一款搭载矽典微的S3KM111L芯片的雷达模组。它工作在24GHz的K波段,每个单频扫描的调制带宽高达1GHz。该模组采用FMCW波形和S3系列芯片专有的先进信号处理技术,可实现精准的人体感应测距显示距离信息以及手势识别。Rd-03E模组可对运动、微动人体进行探测、识别,并上报实时距离,能够探测指定区域内的目标与手势并实时上报结果。

模块出厂自带的手势检测固件,到手后可以自行烧录精准测距固件

连接W801开发板

通过雷达模块的手册可知,模块在手势固件状态下测距功能很弱,所以要想实现人来灯亮,人走灯灭的效果,就需要将模块的固件刷为精准测距固件,刷写方法可通过手册中的方式使用keil刷写固件,如果手头没有daplink调试器也可以通过串口方式直接刷固件,

刷写完成后将模块与开发板连接,连接针脚如下:

W801开发板 Rd-03E雷达模块
5V VCC
GND GND
PA3 OT1
PA2 RX

由雷达模块的精准测距手册可知,模块串口一帧命令的数据格式如下,其中距离信息为小端十六进制,两个字节,单位为 cm,则在开发板中使能串口,接收接收并解析数据,当感应到由运动物体后判断距离是否到达触发门限,距离低于门限就点灯

帧头 目标状态 距离信息 帧尾
AA AA 1 byte 2 bye 55 55
目标状态值 说明
0x00 无目标
0x01 运动目标
0x02 微动目标

代码

#include "uart.h"
#include "wm_uart.h"
#include "wm_include.h"
#include "wm_config.h"
#include <stdint.h>

#define UART_TASK_SIZE  1024
static OS_STK  uart_task_stk[UART_TASK_SIZE];

uint8_t rx_fifo_buf[64] = {0};
uint16_t rx_length = 0;
tls_os_sem_t * sem_rx = NULL;

s16 my_uart_rx_callback(u16 len, void* user_data)
{
    rx_length += len;
    tls_os_sem_release(sem_rx);
    return WM_SUCCESS;
}

void my_uart_init()
{
    wm_uart1_rx_config(WM_IO_PB_07);
    wm_uart1_tx_config(WM_IO_PB_06);

    tls_uart_options_t opt;
    opt.baudrate = UART_BAUDRATE_B256000;
    opt.paritytype = TLS_UART_PMODE_DISABLED;
    opt.stopbits = TLS_UART_ONE_STOPBITS;
    opt.charlength = TLS_UART_CHSIZE_8BIT;
    opt.flow_ctrl = TLS_UART_FLOW_CTRL_NONE;

    if (WM_SUCCESS != tls_uart_port_init(TLS_UART_1, &opt, 0))
    {
        printf("uart init seeor\n");
    }
    tls_uart_rx_callback_register((u16) TLS_UART_1, (s16(*)(u16, void*))my_uart_rx_callback, NULL);
}

void my_uart_task(void *data)
{
    uint16_t rx_len = 0;
    uint8_t range = 0;
    char str[32]={0};
    tls_os_status_t os_status = TLS_OS_ERROR;
    tls_os_sem_create(&sem_rx, 0);

    my_uart_init();

    for(;;){
        os_status = tls_os_sem_acquire(sem_rx, 20);
        if(os_status){
            if(rx_length > 0){
                rx_len = tls_uart_read(TLS_UART_1,rx_fifo_buf,rx_length);
//              for(uint i = 0: )
                if(rx_fifo_buf[rx_len-1] == 0x55 && rx_fifo_buf[rx_len-2] == 0x55){
                    if((rx_fifo_buf[0] == 0xAA) && (rx_fifo_buf[1] == 0xAA) &&(rx_fifo_buf[5] == 0x55) &&(rx_fifo_buf[6] == 0x55)){
                        if (rx_fifo_buf[2] == 0x01 || rx_fifo_buf[2] == 0x02) {
                            range = rx_fifo_buf[4];
                            range=(range<<8)|rx_fifo_buf[3];
                            tls_gpio_cfg(WM_IO_PB_05, WM_GPIO_DIR_OUTPUT, WM_GPIO_ATTR_PULLHIGH);
//                          tls_gpio_write(WM_IO_PB_11, 1);
                        }

                    }
                }
                rx_length = 0;
                sprintf(str,"%x ",range);
                tls_uart_write(TLS_UART_1,str,strlen(str));
//              tls_uart_write(TLS_UART_1, rx_fifo_buf, rx_len);
            }
        }
    }
} 

void create_my_uart_task(void)
{
    tls_os_task_create(NULL,NULL,
                        my_uart_task,
                        NULL,
                        (void *)uart_task_stk,
                        UART_TASK_SIZE * sizeof(u32),
                        32,
                        0);
}

[![pFIWqRe.jpg](https://s21.ax1x.com/2024/03/27/pFIWqRe.jpg)](https://imgse.com/i/pFIWqRe)


![pFIWqRe.jpg](https://s21.ax1x.com/2024/03/27/pFIWqRe.jpg)

回复

使用道具 举报

lazy | 2024-3-28 08:33:51 | 显示全部楼层
赞,不过图片好像丢了
回复 支持 反对

使用道具 举报

爱笑 | 2024-3-28 08:36:11 | 显示全部楼层
图片没有上传成功!还有需要附上效果视频,把视频上传至B站,然后超链接到贴子里。
用心做好保姆工作
回复 支持 反对

使用道具 举报

1084504793 | 2024-3-28 08:49:36 | 显示全部楼层
回复

使用道具 举报

WT_0213 | 2024-3-28 09:03:38 | 显示全部楼层
回复

使用道具 举报

bzhou830 | 2024-3-28 09:55:44 | 显示全部楼层
选择去发光,而不是被照亮
回复

使用道具 举报

1055173307 | 2024-3-28 14:52:40 | 显示全部楼层
回复

使用道具 举报

Jucgrath | 2024-4-2 16:24:13 | 显示全部楼层
选择不发光
回复 支持 反对

使用道具 举报

timo | 2024-4-5 11:34:21 | 显示全部楼层
回复

使用道具 举报

sansui | 2024-4-5 12:55:16 | 显示全部楼层
回复

使用道具 举报

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

本版积分规则