精品国产人成在线_亚洲高清无码在线观看_国产在线视频国产永久2021_国产AV综合第一页一个的一区免费影院黑人_最近中文字幕MV高清在线视频

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

全球最小的 ToF 激光測距傳感器展現多種用途

瑞科慧聯(RAK) ? 2022-07-28 10:21 ? 次閱讀
由瑞科慧聯(RAK)出品的 ToF 傳感器模塊 WisBlock RAK12014,采用 ST VL53L0X,后者是世界上最小的 ToF 測距傳感器由瑞科慧聯(RAK)出品的 ToF 傳感器模塊 WisBlock RAK12014,采用 ST VL53L0X,后者是世界上最小的 ToF 測距傳感器

激光測距在生產生活中有很多應用,例如測距、定位、避障等等。而飛行時間(ToF)測距作為激光測距技術的一種,因為其測量精準、響應快速、低功耗等特點,常被用于機器人自動駕駛汽車、交通管理中的實時對象檢測,我們手機的面部檢測功能,也用到這種技術。

本文將介紹一款 ToF 激光測距傳感器模塊 WisBlock RAK12014,并利用 WisBlock開發板演示該模塊如何工作。

什么是 ToF激光測距傳感器模塊?

ToF 激光測距傳感器模塊是一種使用激光脈沖來測量自身與目標物體之間距離的模塊。WisBlock RAK12014 ToF 激光測距傳感器模塊基于意法半導體 ST VL53L0X而設計。VL53L0X采用目前市場上最小的封裝,可謂世界上最小的 ToF 測距傳感器。

WisBlock RAK12014 能提供精確的距離測量,可測量 2米的絕對距離。其 940nm VCSEL發射器(垂直腔面發射激光器)完全不為人眼所見,再加上內置的物理紅外濾光片,使其測距距離更長、對環境光的抗干擾性更強、對蓋片的光學串擾具有更好的穩定性。換言之,無論目標反射率如何,該傳感器都能提供精確的距離測量。上述特點使之能勝任高精度的測距任務,適用于更多應用場景中。

RAK12014 是模塊化的硬件開發平臺 WisBlock 的一款傳感器模塊RAK12014 是模塊化的硬件開發平臺 WisBlock 的一款傳感器模塊

RAK12014模塊規格與特性:

  • 測量絕對距離可達 2 m
  • 用于器件控制和數據傳輸的I2C接口
  • Xshutdown(復位)和中斷 GPIO
  • 電源 2.6~3.5 V
  • 尺寸10 x 10mm

RAK12014模塊包含一個兼容 WisBlock 基板傳感器插槽的 24引腳連接器。通過該連接器可以將 RAK12014模塊安裝在 WisBlock 基板(如RAK5005-O)模塊上。該連接器的引腳順序以及引腳定義如下圖所示。

RAK12014?的引腳分布RAK12014 的引腳分布

注意:僅 I2C相關引腳、XSHUT(復位)、INT、3V3_S以及 GND連接到了該模塊的連接器上。

RAK12014典型示例:在 OLED顯示屏上顯示測試距離

RAK12014有一個很典型的應用,能夠很形象地給我們展示 ToF 激光測距傳感器模塊的特性,即“在 OLED顯示屏上顯示出測試的距離”。

在這個例子中,將RAK12014連接到 RAK 5005-O 基板上,通過核心模塊 RAK4631驅動它的測量距離功能,并將其測量到的距離信息在 OLED顯示屏上顯示。

?讓 RAK12014?實現“在 OLED?顯示屏上顯示出測試的距離”應用所需的產品配置讓 RAK12014 實現“在 OLED 顯示屏上顯示出測試的距離”應用所需的產品配置

  • RAK12014
  • RAK4631
  • RAK5005-O
  • RAK1921 OLED顯示屏
  • 跳線
  • 電源線
原理圖

以下是實現這一應用的具體步驟:

1、安裝 OLED庫

要控制 OLED顯示屏,需要使用到“U8g2”庫。

2、安裝 ToF 激光測距傳感器庫

要控制 ToF 激光測距傳感器模塊,需要使用“stm32duino_vl53l0x”庫。

注意:所有的庫安裝完成之后需要重啟 Arduino IDE,才能使安裝的庫生效。

3、導入代碼

接著將代碼導入 OLED顯示屏和 ToF 激光測距傳感器模塊所需的庫當中,然后定義兩個名為“u8g2”和“sensor_vl53l0”的對象。

#include #include // Click to install library: http://librarymanager/All#stm32duino_vl53l0x #include // Click to install library: http://librarymanager/All#u8g2 U8G2_SSD1306_128X64_NONAME_F_HW_I2C u8g2(U8G2_R0); VL53L0X sensor_vl53l0x(&Wire, WB_IO2);

4、GetDistance()函數

GetDistance() 中,定義一個 report數據。當有數據的時候打印出當前讀到的數據測量值,當沒有數據時打印如下所示內容:

void GetDistance(){ int status; char report[64]; uint32_t distance; u8g2.clearBuffer(); // clear the internal memory u8g2.setFont(u8g2_font_ncenB10_tr); // choose a suitable font // Read Range. status = sensor_vl53l0x.GetDistance(&distance); if (status == VL53L0X_ERROR_NONE) { // Output data. snprintf(report, sizeof(report), "Range: %ld mm", distance); } else { snprintf(report, sizeof(report), "Nothing at all", distance); } Serial.println(report); u8g2.drawStr(15, 30, report); u8g2.sendBuffer(); }

5、setup()函數

在 setup()中,ToF 激光測距傳感器和 OLED顯示器都會被初始化。在串口監視器上打印一條消息,這樣就能知道 ToF 激光測距傳感器是否成功找到了。如下所示:

void setup() { int status; pinMode(LED_BUILTIN, OUTPUT); digitalWrite(LED_BUILTIN, LOW); pinMode(WB_IO2, OUTPUT); digitalWrite(WB_IO2, HIGH); // Initialize Serial for debug output Serial.begin(115200); time_t serial_timeout = millis(); // On nRF52840 the USB serial is not available immediately while (!Serial) { if ((millis() - serial_timeout) < 5000) ? ? { ? ? ? delay(100); ? ? ? digitalWrite(LED_BUILTIN, !digitalRead(LED_BUILTIN)); ? ? } ? ? else ? ? { ? ? ? break; ? ? } ? } ? u8g2.begin(); ? // Initialize I2C bus. ? Wire.begin(); ? // Configure VL53L0X component. ? sensor_vl53l0x.begin(); ? // Switch off VL53L0X component. ? sensor_vl53l0x.VL53L0X_Off(); ? // Initialize VL53L0X component. ? status = sensor_vl53l0x.InitSensor(0x52); ? if(status) ? { ? ? Serial.println("Init sensor_vl53l0x failed..."); ? } }

6、loop()函數

loop() 中,代碼在 OLED顯示屏上顯示了主屏幕,而這其實是在 GetDistance() 函數中完成的。

void loop() { uint32_t distance; int status; GetDistance(); delay(300); }

7、代碼上傳

完成前面的代碼撰寫之后,選擇所使用的開發板 RAK4631,選擇正確的端口之后開始代碼上傳燒錄,然后打開 Arduino IDE的串口監視器。選擇 115200的波特率,我們就可以看見ToF 激光測距傳感器模塊的測距數據:

8、演示程序

完成以上操作后,一旦 ToF 激光測距傳感器上方有物體,OLED顯示屏就會顯示當前物體與傳感器的距離;當傳感器上方沒有物體時,OLED顯示屏則會顯示當前無物體,點擊鏈接查看視頻展示了詳細的演示過程。

總結

ToF 激光測距傳感器模塊可以應用的范圍很廣泛,它可以根據場景的不同調整距離。另外,所有來自傳感器的信息都可以直接上傳到云上,便于實時調整。本文主要向大家展示了如何使用 ToF 激光測距傳感器模塊測量物體離傳感器的距離。今后再向大家介紹該模塊在我們生活中的更多實際應用。

備注:以下是本次用例的完整代碼,僅大家參考:

/** @file RAK12014_Distance_Detection.ino @author rakwireless.com @brief Distance detection by laser @version 0.1 @date 2021-8-28 @copyright Copyright (c) 2020 **/ #include #include // Click to install library: http://librarymanager/All#stm32duino_vl53l0x #include // Click to install library: http://librarymanager/All#u8g2 U8G2_SSD1306_128X64_NONAME_F_HW_I2C u8g2(U8G2_R0); VL53L0X sensor_vl53l0x(&Wire, WB_IO2); void GetDistance(){ int status; char report[64]; uint32_t distance; u8g2.clearBuffer(); // clear the internal memory u8g2.setFont(u8g2_font_ncenB10_tr); // choose a suitable font // Read Range. status = sensor_vl53l0x.GetDistance(&distance); if (status == VL53L0X_ERROR_NONE) { // Output data. snprintf(report, sizeof(report), "Range: %ld mm", distance); } else { snprintf(report, sizeof(report), "Nothing at all", distance); } Serial.println(report); u8g2.drawStr(15, 30, report); u8g2.sendBuffer(); } void setup() { int status; pinMode(LED_BUILTIN, OUTPUT); digitalWrite(LED_BUILTIN, LOW); pinMode(WB_IO2, OUTPUT); digitalWrite(WB_IO2, HIGH); // Initialize Serial for debug output Serial.begin(115200); time_t serial_timeout = millis(); // On nRF52840 the USB serial is not available immediately while (!Serial) { if ((millis() - serial_timeout) < 5000) { delay(100); digitalWrite(LED_BUILTIN, !digitalRead(LED_BUILTIN)); } else { break; } } u8g2.begin(); // Initialize I2C bus. Wire.begin(); // Configure VL53L0X component. sensor_vl53l0x.begin(); // Switch off VL53L0X component. sensor_vl53l0x.VL53L0X_Off(); // Initialize VL53L0X component. status = sensor_vl53l0x.InitSensor(0x52); if(status) { Serial.println("Init sensor_vl53l0x failed..."); } } void loop() { uint32_t distance; int status; GetDistance(); delay(300); }

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 傳感器
    +關注

    關注

    2548

    文章

    50691

    瀏覽量

    752033
  • TOF
    TOF
    +關注

    關注

    9

    文章

    478

    瀏覽量

    36271
  • RAK
    RAK
    +關注

    關注

    0

    文章

    48

    瀏覽量

    2066
收藏 人收藏

    評論

    相關推薦

    智能馬桶腳感方案 TOF傳感器選型推薦

    目前正在開發一個智能馬桶腳感方案,TOF傳感器選型遇到難題了,要么成本高,要么技術難啃,有沒有技術大神可以幫助下啊。
    發表于 11-22 09:37

    基于XIAO的迷你激光數顯測距儀設計

    今天小編給大家帶來的是來自國外的Maker Gokux 的Tiny LiDAR的項目。這個測距儀項目使用了一個0.49英寸的OLED顯示屏,配合微型電池和微XIAO ESP32c3,打造出一個超級迷你的激光測距儀。通過使用VL5
    的頭像 發表于 10-22 15:03 ?201次閱讀
    基于XIAO的迷你<b class='flag-5'>激光</b>數顯<b class='flag-5'>測距</b>儀設計

    VL53L1CB TOF開發(1)----驅動TOF進行測距

    VL53L1傳感器,可以實現對物體的快速、準確測距,最高測量距離可達800厘米。該傳感器支持I2C接口,具備多種預設模式(如測距模式、多區域
    的頭像 發表于 10-09 10:16 ?1225次閱讀
    VL53L1CB <b class='flag-5'>TOF</b>開發(1)----驅動<b class='flag-5'>TOF</b>進行<b class='flag-5'>測距</b>

    物聯網系統中的高精度測距方案_單點TOF激光雷達

    激光雷達的優勢 高精度測距TOF激光雷達通過測量光脈沖往返目標的時間來計算距離,這種方法能夠提供高精度的距離數據。在物聯網系統中,精確的距離測量是許多應用的基礎,如自動導航、環境建
    的頭像 發表于 09-24 11:37 ?460次閱讀
    物聯網系統中的高精度<b class='flag-5'>測距</b>方案_單點<b class='flag-5'>TOF</b><b class='flag-5'>激光</b>雷達

    一文了解激光測距傳感器

    來源:SonneWay 編輯:感知芯視界 Link 在工業自動化中,激光測距傳感器是最常見的傳感器之一。不過,您對它真的了解嗎?本文將讓您一文了解它的原理、選型和應用。 PART.01
    的頭像 發表于 09-09 09:03 ?189次閱讀

    激光測距傳感器怎么接線

    激光測距傳感器是一種利用激光技術進行距離測量的傳感器,廣泛應用于工業自動化、機器人導航、無人駕駛等領域。 一、
    的頭像 發表于 08-29 16:13 ?636次閱讀

    激光測距傳感器輸出什么信號

    基于激光束的時間飛行原理(TOF, Time of Flight)。通過發射激光脈沖并接收其反射回來的信號,傳感器能夠計算激光脈沖的飛行時間
    的頭像 發表于 08-29 16:08 ?468次閱讀

    激光測距傳感器的工作原理、輸出信號及性能指標

    激光測距傳感器是一種利用激光技術進行距離測量的傳感器。它可以廣泛應用于工業自動化、機器人導航、無人駕駛、無人機測繪、安防監控等領域。 一、
    的頭像 發表于 08-29 16:04 ?1123次閱讀

    激光測距傳感器的安裝方式有哪些

    激光測距傳感器是一種高精度的測量工具,廣泛應用于工業自動化、機器人導航、無人駕駛、航空航天等領域。 一、安裝前的準備工作 了解激光測距
    的頭像 發表于 08-29 16:03 ?336次閱讀

    激光測距傳感器的缺點有哪些

    激光測距傳感器是一種利用激光技術進行距離測量的傳感器,具有測量速度快、精度高、抗干擾能力強等優點,在工業、科研、軍事等領域得到了廣泛應用。但
    的頭像 發表于 08-29 16:01 ?554次閱讀

    激光測距傳感器的工作原理是什么?

    激光測距傳感器是一種利用激光技術進行距離測量的高精度儀器。它具有測量速度快、精度高、抗干擾能力強等優點,廣泛應用于工業、科研、軍事等領域。 一、激光
    的頭像 發表于 08-29 15:58 ?435次閱讀

    lidar傳感器激光測距傳感器的區別

    LiDAR傳感器激光測距傳感器是兩種不同類型的傳感器,它們在原理、應用和性能方面存在一些區別。 原理區別 LiDAR
    的頭像 發表于 08-29 15:56 ?466次閱讀

    使用激光測距傳感器和esp32進行can通信,為什么esp32只能接收到6組數據?

    目前,我使用激光測距傳感器和esp32進行can通信,esp32發送一條讀指令給傳感器傳感器返回16組距離數值,128個字節。can卡能接
    發表于 06-12 08:20

    激光傳感器與光電傳感器的區別在哪

    激光傳感器與光電傳感器的區別? 激光傳感器與光電傳感器是兩種常見的光學
    的頭像 發表于 03-07 15:48 ?1789次閱讀

    激光測距傳感器的原理和應用實例

    激光測距傳感器原理和應用實例 激光測距傳感器是一種通過激光
    的頭像 發表于 03-05 16:29 ?1487次閱讀