本帖最后由 泠泠 于 2024-3-11 10:40 编辑
首先!
感谢安信可大哥送来的rd-03e雷达模块,同时也感谢安信可技术交流群的大佬们!!
一,模块简介
[color=rgba(0, 0, 0, 0.87)] Rd-03E是由深圳市安信可科技有限公司开发的一款搭载矽典微的S3KM111L芯片的雷达模组。它工作在24GHz的K波段,每个单频扫描的调制带宽高达1GHz。该模组采用FMCW波形和S3系列芯片专有的先进信号处理技术,可实现精准的人体感应测距显示距离信息以及手势识别[color=rgba(0, 0, 0, 0.87)]。Rd-03E模组可对运动、微动人体进行探测、识别[color=rgba(0, 0, 0, 0.87)],并上报实时距离,能够探测指定区域内的目标与手势并实时上报结果。
二,功能介绍及使用
我把RD-03E刷了[color=rgba(0, 0, 0, 0.87)]精准测距固件(初始固件是马桶盖)[color=rgba(0, 0, 0, 0.87)],以下是上位机[color=rgba(0, 0, 0, 0.87)]的使用截图
如果采用串口来查看数据
波特率:256000;数据位:8;停止位:1
那么基本格式为:AA AA 0X 00 55
其中 AA AA :帧头;0X :运动状态;00:距离;55:帧尾,详细
采用RD-03E把串口数据传输到梁山派中在对等进行控制板载小灯的闪烁(我是菜*代码垃*)
视频
三,代码
试了3便,次次weiguei(园长还我时间
- int main(void)
- {
- systick_config();
- led_gpio_config();//初始化LED
- HU_USART_CONFIGUR(115200U);//初始化串口0,波特率115200
- HU_USART_OFF(USART0,2);//配置为输入输出使能
- HU_USART_CONFIGUR_1(256000U);//初始化串口1,波特率256000
- HU_USART_OFF(USART1,1);//配置为输入使能
- gpio_bit_write(GPIOE,GPIO_PIN_3,1);//初始亮灯
- gpio_bit_write(GPIOG,GPIO_PIN_3,1);
- while (1)
- {
- /*
- 因为我不会写取出数据
- 所以我写了4边来读数
- 来把运动放在received_data_2中
- 我真是一个添柴(狗头
- */
- while (usart_flag_get(USART1, USART_FLAG_RBNE) == RESET);
- uint8_t received_data = usart_data_receive(USART1);
- usart_data_transmit(USART0, received_data);
- while (usart_flag_get(USART0, USART_FLAG_TBE) == RESET);
-
- while (usart_flag_get(USART1, USART_FLAG_RBNE) == RESET);
- uint8_t received_data_1 = usart_data_receive(USART1);
- usart_data_transmit(USART0, received_data_1);
- while (usart_flag_get(USART0, USART_FLAG_TBE) == RESET);
-
- while (usart_flag_get(USART1, USART_FLAG_RBNE) == RESET);
- uint8_t received_data_2 = usart_data_receive(USART1);
- usart_data_transmit(USART0, received_data_2);
- while (usart_flag_get(USART0, USART_FLAG_TBE) == RESET);
-
- while (usart_flag_get(USART1, USART_FLAG_RBNE) == RESET);
- uint8_t received_data_3 = usart_data_receive(USART1);
- usart_data_transmit(USART0, received_data_3);
- while (usart_flag_get(USART0, USART_FLAG_TBE) == RESET);
-
- while (usart_flag_get(USART1, USART_FLAG_RBNE) == RESET);
- uint8_t received_data_4 = usart_data_receive(USART1);
- usart_data_transmit(USART0, received_data_4);
- while (usart_flag_get(USART0, USART_FLAG_TBE) == RESET);
- if(received_data_2==0x01)//检测到运动
- {
- gpio_bit_toggle(PORT_LED2,PIN_LED2);//LED闪烁
- gpio_bit_toggle(GPIOE,GPIO_PIN_3);
-
- }
- if(received_data_2==0x02)//检测到微动
- {
- gpio_bit_toggle(GPIOG,GPIO_PIN_3);
- gpio_bit_toggle(GPIOA,GPIO_PIN_5);//LED闪烁
- }
- }
- }
复制代码
|
|