• 方案介紹
    • 一、項(xiàng)目名稱:
    • 二、項(xiàng)目概述:
    • 三、作品實(shí)物圖
    • 四、作品視頻介紹
  • 推薦器件
  • 相關(guān)推薦
申請(qǐng)入駐 產(chǎn)業(yè)圖譜

基于STM32U585-IOT的智能車汽車尾門控制系統(tǒng)

2024/05/22
3043
加入交流群
掃碼加入
獲取工程師必備禮包
參與熱點(diǎn)資訊討論

一、項(xiàng)目名稱:

智能車汽車尾門控制系統(tǒng)

二、項(xiàng)目概述:

我們?cè)陂_(kāi)啟汽車尾門時(shí),有時(shí)經(jīng)常因?yàn)殡p手手抱物品而不方便開(kāi)啟后門,那用腳掃一掃能開(kāi)啟車門,就給車主提供了極大的方便。

本系統(tǒng)采用STM32U585-IOT為主控芯片,其板載vl53l5cx時(shí)間飛行傳感,實(shí)時(shí)的對(duì)運(yùn)動(dòng)物體的掃描,生成數(shù)據(jù)后,通過(guò)智能算法,實(shí)現(xiàn)對(duì)腳的動(dòng)作進(jìn)行識(shí)別,從而實(shí)現(xiàn)非接觸方式來(lái)開(kāi)啟車門的綜合控制系統(tǒng)。

本系統(tǒng)只能腳的運(yùn)動(dòng)進(jìn)行識(shí)別,對(duì)較小的物體或者非指定動(dòng)手不予響應(yīng),實(shí)現(xiàn)精準(zhǔn)識(shí)別。

2.1系統(tǒng)框圖

2.2 測(cè)試初始化部分代碼

uint32_t R_total;  //用于合計(jì)右邊的總運(yùn)動(dòng)強(qiáng)度
        uint32_t L_total;  //用于合計(jì)左邊的總運(yùn)動(dòng)強(qiáng)度
        uint8_t check_sta;  //用于統(tǒng)計(jì)發(fā)生可以檢測(cè)運(yùn)動(dòng)強(qiáng)度
        
        uint8_t dir_move_sta; //用于判斷運(yùn)動(dòng)驅(qū)勢(shì)
        uint8_t FWD;
        uint8_t                                 status, isReady, i;
        VL53L5CX_Motion_Configuration         motion_config;        /* 運(yùn)動(dòng)配置 */
        VL53L5CX_Object_t *pL5obj = CUSTOM_RANGING_CompObj[CUSTOM_VL53L5CX];
        VL53L5CX_ResultsData         Results;                /* 來(lái)自VL53L5CX的結(jié)果數(shù)據(jù) */

        /*     編程運(yùn)動(dòng)指示器             */

        status = vl53l5cx_motion_indicator_init(&pL5obj->Dev, &motion_config, VL53L5CX_RESOLUTION_8X8);
        if(status)
        {

                return status;
        }
        status = vl53l5cx_motion_indicator_set_distance_motion(&pL5obj->Dev, &motion_config, 1000, 2000);
        if(status)
        {

                return status;
        }
        /* 測(cè)距頻率 */
        status = vl53l5cx_set_ranging_frequency_hz(&pL5obj->Dev, 16);
        if(status)
        {
                return status;
        }

        /*          測(cè)距循環(huán)              */

        status = vl53l5cx_start_ranging(&pL5obj->Dev);

2.3 識(shí)別及控制部分代碼:

  status = vl53l5cx_check_data_ready(&pL5obj->Dev, &isReady);                        
                //如果前面
                if(isReady)
                {
                        R_total =0;
                        L_total = 0;
                        /* 獲取測(cè)距數(shù)據(jù) */
                        vl53l5cx_get_ranging_data(&pL5obj->Dev, &Results);
                        for(i = 0; i < 16; i++)
                        {
                                if(Results.motion_indicator.motion[motion_config.map_id[i]] >= 110)
                                {
                                        check_sta ++;
                                        break;//測(cè)試超過(guò)強(qiáng)度就跳出來(lái)
                                }
                                
                        }
                        if(check_sta > 0)  //做累積
                        {
                                R_total = Results.motion_indicator.motion[motion_config.map_id[2]] +Results.motion_indicator.motion[motion_config.map_id[3]] + 
                                                                        Results.motion_indicator.motion[motion_config.map_id[6]] + Results.motion_indicator.motion[motion_config.map_id[7]] + 
                                                                        Results.motion_indicator.motion[motion_config.map_id[10]] + Results.motion_indicator.motion[motion_config.map_id[11]] +
                                                                        Results.motion_indicator.motion[motion_config.map_id[14]]  + Results.motion_indicator.motion[motion_config.map_id[15]];
                                L_total = Results.motion_indicator.motion[motion_config.map_id[0]] +Results.motion_indicator.motion[motion_config.map_id[1]] + 
                                                                        Results.motion_indicator.motion[motion_config.map_id[4]] + Results.motion_indicator.motion[motion_config.map_id[5]] + 
                                                                        Results.motion_indicator.motion[motion_config.map_id[11]] + Results.motion_indicator.motion[motion_config.map_id[12]] +
                                                                        Results.motion_indicator.motion[motion_config.map_id[12]]  + Results.motion_indicator.motion[motion_config.map_id[13]];
                                                //開(kāi)始預(yù)測(cè)運(yùn)動(dòng)方向。
                                if(R_total>L_total && dir_move_sta == 0)
                                {
                                        dir_move_sta = 1;
                                }
                                else if (R_total>L_total && dir_move_sta > 0)
                                {
                                        dir_move_sta = 1;
                                }
                                else if(R_total < L_total && dir_move_sta > 0) 
                                {
                                        dir_move_sta = 2;
                                }
                                else
                                {
                                        dir_move_sta = 0;
                                }
                                check_sta = 0;
                        }        
                        else
                        {
                                //如果計(jì)算出符合預(yù)期,測(cè)做出運(yùn)作
                                if(dir_move_sta == 2)
                                {
                                        EN_high;
                                        if(FWD == 0)
                                        {
                                                DIR_high;
                                                FWD = 1;
                                        }
                                        else
                                        {
                                                DIR_low;
                                                FWD = 0;
                                        }
                                        PwmNum = 500; //設(shè)定開(kāi)門限度
                                        HAL_TIM_PWM_Start_IT(&htim4,TIM_CHANNEL_1); //開(kāi)啟尾門
                                        check_sta = 0;
                                        dir_move_sta = 0;
                                }
                                else
                                {
                                        dir_move_sta = 0;
                                }
                                
                        }
                }                
                check_sta = 0;
  }

三、作品實(shí)物圖

全部的器件為:

3.1 主控制為得捷采購(gòu)的B-U585I-IOT02A 探索套件,其STM32U585AI 微控制器提供了一個(gè)完整的演示和開(kāi)發(fā)平臺(tái),其特點(diǎn)是 Arm Cortex?M33 內(nèi)核,帶 Arm 信任區(qū)和 Armv8-M 主線安全擴(kuò)展、2 MB 閃存和 786 KB SRAM 以及智能外圍資源。

B-U585I-IOT02A 探索套件通過(guò)利用低功率通信、多路傳感和與云服務(wù)器的直接連接,實(shí)現(xiàn)了廣泛的應(yīng)用多樣性。它包括 Wi-Fi 和藍(lán)牙模塊,以及麥克風(fēng)、溫度和濕度、磁力計(jì)、加速度計(jì)陀螺儀、壓力、飛行時(shí)間和手勢(shì)檢測(cè)傳感器。

此次采用vl53l5cx飛行時(shí)間和手勢(shì)檢測(cè)傳感器作為數(shù)據(jù)采集

3.2 步時(shí)電機(jī)驅(qū)動(dòng)器

3.3 步進(jìn)電機(jī)及模擬汽車尾門,步進(jìn)電機(jī)通過(guò)精準(zhǔn)運(yùn)動(dòng)來(lái)實(shí)現(xiàn)尾門的開(kāi)啟與關(guān)閉。

四、作品視頻介紹

B站鏈接:https://www.bilibili.com/video/BV11c411s7rR/?pop_share=1&vd_source=e1bd226340c8b87027d5dcfc6b0c3344

推薦器件

更多器件
器件型號(hào) 數(shù)量 器件廠商 器件描述 數(shù)據(jù)手冊(cè) ECAD模型 風(fēng)險(xiǎn)等級(jí) 參考價(jià)格 更多信息
LT3092ETS8#TRMPBF 1 Analog Devices Inc 200mA 2-Terminal Programmable Current Source

ECAD模型

下載ECAD模型
$2.36 查看
L6205PD013TR 1 STMicroelectronics DMOS DUAL FULL BRIDGE DRIVER

ECAD模型

下載ECAD模型
$23.25 查看
ADG1409YRUZ-REEL7 1 Analog Devices Inc 4 &Omega; Ron, 4-Channel ±15 V/+12 V/±5 V iCMOS Multiplexer

ECAD模型

下載ECAD模型
$10.16 查看
意法半導(dǎo)體

意法半導(dǎo)體

意法半導(dǎo)體(ST)集團(tuán)于1987年6月成立,是由意大利的SGS微電子公司和法國(guó)Thomson半導(dǎo)體公司合并而成。1998年5月,SGS-THOMSON Microelectronics將公司名稱改為意法半導(dǎo)體有限公司。意法半導(dǎo)體是世界最大的半導(dǎo)體公司之一,公司銷售收入在半導(dǎo)體工業(yè)五大高速增長(zhǎng)市場(chǎng)之間分布均衡(五大市場(chǎng)占2007年銷售收入的百分比):通信(35%),消費(fèi)(17%),計(jì)算機(jī)(16%),汽車(16%),工業(yè)(16%)。 據(jù)最新的工業(yè)統(tǒng)計(jì)數(shù)據(jù),意法半導(dǎo)體是全球第五大半導(dǎo)體廠商,在很多市場(chǎng)居世界領(lǐng)先水平。例如,意法半導(dǎo)體是世界第一大專用模擬芯片和電源轉(zhuǎn)換芯片制造商,世界第一大工業(yè)半導(dǎo)體和機(jī)頂盒芯片供應(yīng)商,而且在分立器件、手機(jī)相機(jī)模塊和車用集成電路領(lǐng)域居世界前列.

意法半導(dǎo)體(ST)集團(tuán)于1987年6月成立,是由意大利的SGS微電子公司和法國(guó)Thomson半導(dǎo)體公司合并而成。1998年5月,SGS-THOMSON Microelectronics將公司名稱改為意法半導(dǎo)體有限公司。意法半導(dǎo)體是世界最大的半導(dǎo)體公司之一,公司銷售收入在半導(dǎo)體工業(yè)五大高速增長(zhǎng)市場(chǎng)之間分布均衡(五大市場(chǎng)占2007年銷售收入的百分比):通信(35%),消費(fèi)(17%),計(jì)算機(jī)(16%),汽車(16%),工業(yè)(16%)。 據(jù)最新的工業(yè)統(tǒng)計(jì)數(shù)據(jù),意法半導(dǎo)體是全球第五大半導(dǎo)體廠商,在很多市場(chǎng)居世界領(lǐng)先水平。例如,意法半導(dǎo)體是世界第一大專用模擬芯片和電源轉(zhuǎn)換芯片制造商,世界第一大工業(yè)半導(dǎo)體和機(jī)頂盒芯片供應(yīng)商,而且在分立器件、手機(jī)相機(jī)模塊和車用集成電路領(lǐng)域居世界前列.收起

查看更多

相關(guān)推薦