加入星計劃,您可以享受以下權益:

  • 創(chuàng)作內容快速變現(xiàn)
  • 行業(yè)影響力擴散
  • 作品版權保護
  • 300W+ 專業(yè)用戶
  • 1.5W+ 優(yōu)質創(chuàng)作者
  • 5000+ 長期合作伙伴
立即加入
  • 正文
    • 一、模塊來源
    • 二 規(guī)格參數(shù)
    • 三移植過程
    • ?04移植驗證
  • 相關推薦
  • 電子產業(yè)圖譜
申請入駐 產業(yè)圖譜

【CW32模塊使用】微波多普勒無線雷達傳感器

11/11 12:30
570
閱讀需 9 分鐘
加入交流群
掃碼加入
獲取工程師必備禮包
參與熱點資訊討論

微波運動傳感器是利用多普勒雷達原理設計的微波移動物體探測器。不同于一般的紅外探測器,微波傳感器通過通過檢測物體反射的微波來探測物體的運動狀況,檢測對象將并不會局限于人體,還有很多其他的事物。

微波傳感器不受環(huán)境溫度的影響,探測距離遠,靈敏度高,被廣泛應用于工業(yè)、交通及民用裝置中,如車輛測速、自動門、感應燈、倒車雷達等。由于微波傳感器檢測對象存在普遍性,在實際的生活應用中,會搭配另一個傳感器來做針對性的檢測。如微波傳感器+紅外熱釋電傳感器,能夠有效的判斷是否有人經過,不會被陽光,被衣物顏色所干擾,也不會對其他物體產生反應。

一、模塊來源

資料下載鏈接:https://pan.baidu.com/s/110NZE7hM3ifS1ho53fxmoA

密碼:2cz6

規(guī)格參數(shù)

工作電壓:5V±0.25V

工作電流:30~50mA

探測距離:2-16m 連續(xù)可調

尺寸: R=30.6mm

輸出方式: GPIO

管腳數(shù)量:3 Pin

以上信息見廠家資料文件

移植過程

我們的目標是將例程移植至CW32F030C8T6開發(fā)板上【能夠判斷測量一定距離內是否物體運動】。首先要獲取資料,查看數(shù)據(jù)手冊應如何實現(xiàn)讀取數(shù)據(jù),再移植至我們的工程。

3.1查看資料

由于微波傳感器檢測對象存在普遍性,即只要有物體動作,都能夠檢測到,因此只需要檢測OUT引腳的高低電平變化即可。

3.2引腳選擇

模塊接線圖

3.3查移植至工程

移植步驟中的導入.c和.h文件與【CW32模塊使用】DHT11溫濕度傳感器相同,只是將.c和.h文件更改為bsp_mh100x.c與bsp_mh100x.h。這里不再過多講述,移植完成后面修改相關代碼。

在文件bsp_mh100x.c中,編寫如下代碼。

/* * Change Logs: * Date           Author       Notes * 2024-06-20     LCKFB-LP    first version */
#include "bsp_mh100x.h"#include "board.h"#include "stdio.h"

/****************************************************************** * 函 數(shù) 名 稱:MH100X_GPIO_Init * 函 數(shù) 說 明:MH100X初始化 * 函 數(shù) 形 參:無 * 函 數(shù) 返 回:無 * 作       者:LC * 備       注:無******************************************************************/void MH100X_GPIO_Init(void){    GPIO_InitTypeDef        GPIO_InitStruct; // GPIO初始化結構體
    RCC_OUT_ENABLE();        // 使能GPIO時鐘
    GPIO_InitStruct.Pins = GPIO_OUT;                 // GPIO引腳    GPIO_InitStruct.Mode = GPIO_MODE_INPUT_PULLUP;   // 上拉輸入    GPIO_InitStruct.Speed = GPIO_SPEED_HIGH;         // 輸出速度高    GPIO_Init(PORT_OUT, &GPIO_InitStruct);            // 初始化}
/****************************************************************** * 函 數(shù) 名 稱:OUTPIN_Scanf * 函 數(shù) 說 明:返回OUT引腳電平狀態(tài) * 函 數(shù) 形 參:無 * 函 數(shù) 返 回:1=未檢測到物體移動  0=檢測到物體移動 * 作       者:LC * 備       注:無******************************************************************/char OUTPIN_Scanf(void){    return OUT_IN;}

在文件bsp_mh100x.h中,編寫如下代碼。

/* * Change Logs: * Date           Author       Notes * 2024-06-20     LCKFB-LP    first version */
#ifndef _BSP_MH100X_H_#define _BSP_MH100X_H_
#include "board.h"

#define RCC_OUT_ENABLE()    __RCC_GPIOC_CLK_ENABLE()#define PORT_OUT            CW_GPIOA#define GPIO_OUT            GPIO_PIN_1

#define OUT_IN   GPIO_ReadPin(PORT_OUT, GPIO_OUT)
void MH100X_GPIO_Init(void);//引腳初始化char OUTPIN_Scanf(void);//微波雷達的輸入狀態(tài)

#endif

?04移植驗證

在自己工程中的main主函數(shù)中,編寫如下。

/* * Change Logs: * Date           Author       Notes * 2024-06-20     LCKFB-LP    first version */#include "board.h"#include "stdio.h"#include "bsp_uart.h"#include "bsp_mh100x.h"
int32_t main(void){    board_init();        // 開發(fā)板初始化
    uart1_init(115200);        // 串口1波特率115200
    uint8_t flag = 0;    uint16_t time = 0;
    MH100X_GPIO_Init();    printf("Demo Startrn");    while(1)    {        //檢測到有物體移動        if( OUTPIN_Scanf() == 0 )        {             flag = 1;        }
        if( flag == 1 )        {            if( time == 0 ) //打開門            {                printf("openrn");            }
            time++;            if( time >= 2000 )//超過兩秒則關門            {                time = 0;                flag = 0;                printf("closern");            }            delay_ms(1);//時間基準        }
    }}

移植現(xiàn)象:對準自己,當檢測到移動時,發(fā)送open,超過兩秒之后發(fā)送close,反復循環(huán)。

模塊移植成功案例代碼:

鏈接:https://pan.baidu.com/s/1teceTRuqamboxT4F8lULvQ?pwd=LCKF

提取碼:LCKF

相關推薦

電子產業(yè)圖譜

以開放、共享、互助為理念,致力于構建武漢芯源半導體CW32系列MCU生態(tài)社區(qū)。無論是嵌入式MCU小自還是想要攻破技術難題的工程師,亦或是需求解決方案的產品經理都可在CW32生態(tài)社區(qū)汲取營養(yǎng)、共同成長。

B站