久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 675|回復: 5
收起左側(cè)

51單片機控VL53L0X激光測距傳感器

[復制鏈接]
ID:1148059 發(fā)表于 2025-4-22 21:43 | 顯示全部樓層 |閱讀模式
這里是我從論壇里看到的主函數(shù)代碼,有什么方法可以讓測量的距離從50mm——1200mm變成測量0mm——1200mm
我修改了if(DeviceRangeStatusInternal3==11&&dist3>20&&dist3<1200)里的dist3>20改為dist3>0,測量還是不能從0開始,我有點不明白,希望大佬指點一下

#include "REG51.h"
#include "oled.h"
#include "bmp.h"
#include "intrins.h"
#include "VL53L0X.h"
#include "i2c.h"

#define uchar unsigned char
#define uint unsigned int

uchar gbuf3[16];
uint acnt3;
uint scnt3;
uint dist3;
uchar DeviceRangeStatusInternal3;


sbit K=P1^0;
int zx=0;
int op;
void Delay1ms()                //@11.0592MHz
{
    unsigned char i, j;

    _nop_();
    i = 11;
    j = 190;
    do
    {
        while (--j);
    } while (--i);
}
void delay_ms(unsigned int time)
{
    unsigned char
    i;
    for(i=1; i<=time; i++)
        Delay1ms();
}






void date3()
{
        uchar val = 0;        
        uchar vall;
        int cnt = 0;
                        vl53l0x_send3(VL53L0X_REG_SYSRANGE_START, 0x01);
                while (cnt < 100)
                {
                        // 1 second waiting time max
      delay_ms(10);
      val = vl53l0x_read3(VL53L0X_REG_RESULT_RANGE_STATUS);
      if (val & 0x01) break;
      cnt++;
     }
                 gbuf3[0]=vl53l0x_read3(0x14);
                 gbuf3[7]=vl53l0x_read3(0x14+7);
                 gbuf3[6]=vl53l0x_read3(0x14+6);
                 gbuf3[9]=vl53l0x_read3(0x14+9);
                 gbuf3[8]=vl53l0x_read3(0x14+8);
                 gbuf3[11]=vl53l0x_read3(0x14+11);
                 gbuf3[10]=vl53l0x_read3(0x14+10);
     acnt3 = makeuint163(gbuf3[7], gbuf3[6]);
     scnt3 = makeuint163(gbuf3[9], gbuf3[8]);
     dist3 = makeuint163(gbuf3[11], gbuf3[10]);
                 DeviceRangeStatusInternal3 = ((gbuf3[0] & 0x78) >> 3);
                         if(DeviceRangeStatusInternal3==11&&dist3>0&&dist3<1200)
                        {
                        OLED_ShowNum(30, 6, dist3, 5, 16);
                        }
}




int main(void)
{        
         
                OLED_Init();                                 
                 OLED_Clear();
         
                 //                OLED_ShowCHinese(30,0,1);
                //        OLED_ShowCHinese(48,0,1);
         K=0;
         
         
                while(1)
                {               
                                       
                                        if(K == 1)
                {
                zx++;
                delay_ms(10);
                        while(K == 1){
                        delay_ms(10);                                
                                 date3();
                                op=dist3;
                OLED_ShowNum(90, 0, op, 4, 16);
                }
                }
               
                }         
        
}





回復

使用道具 舉報

ID:648281 發(fā)表于 2025-4-23 08:12 | 顯示全部樓層
VL53L0X測距存在盲區(qū),不能從 0 開始
回復

使用道具 舉報

ID:1148059 發(fā)表于 2025-4-23 19:03 | 顯示全部樓層
51hei**1140 發(fā)表于 2025-4-23 08:12
VL53L0X測距存在盲區(qū),不能從 0 開始

那盲區(qū)有什么方法可以在小1-2cm左右嗎嗎,因為這個測量只能從5cm開始
回復

使用道具 舉報

ID:1148275 發(fā)表于 2025-4-24 14:28 | 顯示全部樓層
源流 發(fā)表于 2025-4-23 19:03
那盲區(qū)有什么方法可以在小1-2cm左右嗎嗎,因為這個測量只能從5cm開始

應該是不能了,可以看看官方文檔,我也是最近在弄這個,不曉得咋把4個都在51上運行,詳細內(nèi)容可以看看我主頁,那位大佬幫幫忙,謝謝你!
回復

使用道具 舉報

ID:844772 發(fā)表于 2025-4-25 08:31 | 顯示全部樓層
源流 發(fā)表于 2025-4-23 19:03
那盲區(qū)有什么方法可以在小1-2cm左右嗎嗎,因為這個測量只能從5cm開始

它是基于 Time of Flight 的方式,最小也有3CM啊,你不能安裝時把它往后放5cm嗎?你看哪個測距傳感器是貼邊安裝啊。
回復

使用道具 舉報

ID:1148407 發(fā)表于 2025-4-25 09:59 | 顯示全部樓層
源流 發(fā)表于 2025-4-23 19:03
那盲區(qū)有什么方法可以在小1-2cm左右嗎嗎,因為這個測量只能從5cm開始

用官方庫(比如 ST 的 VL53L0X 庫)里的函數(shù),把傳感器設置成 “短距離測量” 模式。比如調(diào)用 VL53L0X_SetMeasurementTimingBudget 時,給近距離場景分配更短的 “時間預算”,讓它更快響應近處物體。同時記得改 Vcsel Period(激光發(fā)射周期),近距離用更小的數(shù)值(比如階段 1 設為 18,階段 2 設為 14),這一步在寄存器配置里調(diào),能讓激光發(fā)射更密集,捕捉近處反射光。默認傳感器可能把近距離的弱信號當成 “沒檢測到”,可以手動降低信號強度的判定門檻。比如通過 VL53L0X_SetSignalRateLimit 把信號率限制調(diào)低(比如設為 10000),或者直接改寄存器里的 Minimum Signal Rate,讓它接受更弱的返回信號,這樣 1-2cm 也能識別。網(wǎng)上也有大佬改好的 “近距離補丁” 庫,可以直接搜關鍵詞 “VL53L0X close range patch”,里面直接封裝好了這些參數(shù),可以找找
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網(wǎng)

快速回復 返回頂部 返回列表
主站蜘蛛池模板: www.一区二区三区 | 中文字幕加勒比 | 国产成人免费 | 亚洲精品一区二区另类图片 | 欧美激情久久久 | 精品国产99 | 国产在线精品一区二区三区 | 二区在线视频 | 国产农村妇女精品一二区 | 久在线| 欧美自拍日韩 | 久草福利 | 欧美一级二级在线观看 | 一区二区三区中文字幕 | 成人欧美一区二区三区在线播放 | 日韩欧美一区在线 | 国产成人精品网站 | 亚洲欧美激情精品一区二区 | 欧美日本在线观看 | 青青久在线视频 | 麻豆一区二区三区精品视频 | 亚洲成人网在线 | 国产精品成人在线 | a黄视频| 色婷婷综合久久久中字幕精品久久 | 欧美亚洲激情 | 久草网视频| 亚洲第一网站 | 欧美一级艳情片免费观看 | 日韩av在线不卡 | 国产精品一区二区三区在线 | 91免费高清视频 | 狠狠爱网址 | 1000部精品久久久久久久久 | 亚洲精品1区 | 精品日韩一区二区三区av动图 | 亚洲视频在线一区 | 亚洲综合视频 | 国产一区二区毛片 | 男女免费视频网站 | 亚洲福利在线观看 |