那曲檬骨新材料有限公司

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

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

3天內不再提示

Adafruit VL53L0X飛行時間距離傳感器的使用

454398 ? 來源:網絡整理 ? 作者:網絡整理 ? 2019-11-28 09:26 ? 次閱讀

概述

Adafruit VL53L0X飛行時間距離傳感器的使用

VL53L0X是飛行時間距離傳感器,與您使用過的其他傳感器不同!該傳感器包含一個很小的不可見激光源和一個匹配的傳感器。 VL53L0X可以檢測“飛行時間”,也可以檢測光線反射回傳感器所花費的時間。由于它使用非常窄的光源,因此僅用于確定直接在其前面的表面的距離是有利的。與反射超聲波的聲納不同,感應的“錐體”非常狹窄。與嘗試測量反射光量的紅外距離傳感器不同,VL53L0x精度更高,并且沒有線性問題或“雙成像”,您無法分辨出物體是很遠還是很近。 p》

這是VL6180X ToF傳感器的“大姐姐”,可以處理大約50-1200 mm的距離。如果您需要更小/更近的范圍,請查看VL6180X,其尺寸為5mm至200mm。

該傳感器體積小,易于在任何機器人技術或交互式項目中使用。由于它需要2.8V電源和邏輯,因此我們將這個小家伙放在了一個帶有穩壓器和電平轉換功能的分線板上。您可以將其與任何3-5V電源或邏輯微控制器一起使用,而無需擔心。每個訂單都帶有一小部分標題。

使用ST編寫的APII2C上完成與傳感器的通訊,因此將其移植到該端口并不難您最喜歡的微控制器。我們已經為Arduino寫了一個包裝器庫,因此您可以將其與任何兼容Arduino的板一起使用。

傳感能力

在默認模式下,傳感器的尺寸約為50mm至1.2米。

在“遠程”模式下,您可以檢測到在良好的白色反光表面上1.5至2米。

根據環境照明和距離,您將獲得3至12%的測距精度-更好的照明和發亮的表面將為您帶來最佳效果。因為如果物體吸收激光,您將無法獲得良好的讀數。

插腳

VL53L0X是I2C傳感器。這意味著它使用了大多數微控制器上可用的兩條I2C數據/時鐘線,并且可以與其他傳感器共享這些引腳,只要它們沒有地址沖突即可。

默認I2C供以后參考地址為 0x29 。您可以進行更改,但只能在軟件中進行。這意味著您必須連接SHUTDOWN引腳,并在一次重新配置一個傳感器時將除一個傳感器以外的所有傳感器保持復位狀態。

電源引腳:

Vin -這是電源引腳。由于該芯片使用2.8 VDC,因此我們在板載了一個穩壓器,該穩壓器將采用3-5VDC電壓并將其安全地轉換為低壓。要為電路板供電,請為其提供與微控制器邏輯電平相同的功率-例如,對于像Arduino這樣的5V微型電池,請使用5V

2v8 -這是穩壓器的2.8V輸出,如果您愿意,您可以從中獲取100mA電流

GND -電源和邏輯的公共接地

I2C邏輯引腳:

SCL -I2C時鐘引腳,連接到微控制器的I2C時鐘線。

SDA -I2C數據引腳,連接到微控制器的I2C數據線。

控制引腳:

GPIO -這是一個引腳傳感器使用它來指示數據已準備就緒。在進行連續感應時很有用。請注意,此引腳上沒有電平轉換,您可能無法讀取5V微控制器上的2.8V邏輯電平電壓(我們可以在arduino UNO上讀取,但沒有保證)。我們的庫沒有使用此引腳,但對于高級用戶來說,它就在這里!

SHDN -傳感器的關閉引腳。默認情況下,它被拉高。有一個電平轉換二極管,因此您可以在此引腳上使用3-5V邏輯。當該引腳被拉低時,傳感器進入關機模式。

組件

別忘了卸下傳感器的保護蓋,它可能是透明或略帶色的塑料!否則您會得到錯誤的讀數

此頁面顯示VL53L0X或VL6180X傳感器-步驟相同!

準備標題欄:

如有必要,將條切成一定長度。如果將其插入面包板,則焊接會更容易-長按針腳

將分線板放在頂部,這樣插腳的短端就可以穿過所有焊盤了

焊料!

請務必焊接所有引腳以確保可靠性

(有關焊接的技巧,請務必查看我們的《 優良焊接指南》 )。

確定!檢查工作,然后繼續下一步

Arduino代碼

您可以輕松地將此分支連接到任何微控制器,我們將使用Arduino。對于另一種微控制器,只需確保它具有I2C,然后移植API代碼即可。我們強烈建議您使用Arduino來開始!

將 Vin 連接至電源,則3-5V即可。使用微控制器邏輯所基于的相同電壓。對于大多數Arduino,這是5V

將 GND 連接到公共電源/數據地

將 SCL 引腳連接到I2C在Arduino上的時鐘 SCL 引腳上。在基于UNO和‘328的Arduino上,這也稱為 A5 ,在Mega上也稱為 digital 21 ,在Leonardo/Micro上,也稱為數字3

將 SDA 引腳連接到Arduino上的I2C數據 SDA 引腳。在基于UNO&’328的Arduino上,這也稱為 A4 ,在Mega上也稱為 digital 20 ,在Leonardo/Micro上,也稱為數字2

VL53L0X的默認I2C地址為 0x29 !

您可以更改它,但只能在軟件中更改。這意味著您必須連接SHUTDOWN引腳,并在一次重新配置一個傳感器的同時將除一個傳感器以外的所有傳感器保持復位狀態

下載Adafruit_VL53L0X

要開始讀取傳感器數據,您將需要安裝Adafruit_VL53L0X庫。

最簡單的方法是在Arduino IDE中打開 Manage Libraries 。.. 菜單

然后搜索 Adafruit VL53L0X ,然后單擊安裝

我們還提供了有關Arduino庫安裝的出色教程,網址為:

http://learn.adafruit.com/adafruit-all-about-arduino-libraries-install-use

加載演示

打開演示文件-》示例-》 Adafruit_VL53L0X -》 vl53l0x 并上傳到與傳感器連接的Arduino

就是這樣!現在以115200的速度打開串行終端窗口以開始測試。

上下移動手以讀取傳感器數據。請注意,如果未檢測到任何內容,它將表示讀數超出范圍

使用前,請不要忘記從傳感器上卸下塑料保護蓋!

連接多個傳感器

I2C僅允許每個設備一個地址,因此您必須確保每個I2C設備都有一個唯一的地址。 VL53L0X的默認地址為 0x29 ,但是您可以 在軟件中進行更改。

要設置新地址,可以使用以下兩種方法之一。在初始化期間,不調用lox.begin(),而是調用lox.begin(0x30)將地址設置為0x30。或者,您以后可以隨時撥打lox.setAddress(0x30)。

好消息是它易于更改,令人討厭的部分是每個 other 傳感器都必須位于關掉。您可以通過將 XSHUT 引腳連接到微控制器引腳來關閉每個傳感器。然后執行類似此偽代碼的操作:

通過將所有XSHUT引腳的低電平設置為delay(10)來重置所有傳感器,然后將所有XSHUT的高電平設置為退出重置

通過將XSHUT引腳保持高電平來保持傳感器#1的喚醒狀態

通過將XSHUT引腳拉至低電平來將所有其他傳感器置于關閉狀態

使用lox.begin(初始化傳感器#1 new_i2c_address ),請選擇除0x29以外的任何數字,且該數字必須在0x7F以下。可以將0x30設置為0x3F。

保持傳感器#1處于喚醒狀態,現在通過將其XSHUT引腳設置為高電平使傳感器#2退出復位狀態。

使用以下命令初始化傳感器#2 lox.begin( new_i2c_address )選擇0x29以外的任何數字,以及將第一個傳感器設置為的第一個傳感器

為每個傳感器重復,打開每個傳感器,并設置唯一的地址。

請注意,每次打開電源時,必須每次執行此操作,地址不是永久性的!

Python和CircuitPython

將VL53L0X傳感器與Python和CircuitPython以及Adafruit CircuitPython VL53L0X模塊一起使用很容易。通過該模塊,您可以輕松編寫從傳感器讀取范圍的Python代碼。

您可以在任何CircuitPython微控制器板或具有GPIO和Python的計算機上使用此傳感器,這要歸功于我們的CircuitPython-for Adafruit_Blinka -Python兼容性庫。

CircuitPython微控制器接線

首先,將VL53L0X完全連接到Arduino的前幾頁,將其連接到板上。以下是通過I2C連接將Feather M0連接到傳感器的示例:

板3V 至傳感器VIN

板GND 到傳感器GND

板載SCL 到 sensorSCL

板載SDA 到傳感器SDA

Python計算機接線

由于有數十種Linux計算機/主板可以使用我們將展示Raspberry Pi的接線。對于其他平臺,請訪問Linux上的CircuitPython指南,以了解您的平臺是否受支持。

以下是與I2C相連的Raspberry Pi:

Pi 3V3 至傳感器VIN

Pi GND 到傳感器GND

Pi SCL 到傳感器SCL

Pi SDA 到傳感器SDA

CircuitPython安裝VL53L0X庫 》

您需要在CircuitPython板上安裝Adafruit CircuitPython VL53L0X庫。

首先請確保您正在為板運行最新版本的Adafruit CircuitPython。

下一步,您將需要安裝必要的庫才能使用硬件-請認真按照以下步驟從Adafruit的CircuitPython庫捆綁包中查找和安裝這些庫。我們的簡介指南上有一個很棒的頁面,介紹如何為快速和非表達板安裝庫包。

請記住非表達板,例如,您需要從束中手動安裝必要的庫:

adafruit_vl53l0x.mpy

adafruit_bus_device

您還可以從其發布頁面下載 adafruit_vl53l0x.mpy 。

在繼續之前,請確保您開發板的lib文件夾或根文件系統具有 adafruit_vl53l0x.mpy ,然后 adafruit_bus_device 文件和文件夾 已復制。

下一步連接到開發板的串行REPL,因此您在CircuitPython上》 》》 提示。

VL53L0X庫的Python安裝

您需要安裝Adafruit_Blinka庫,該庫在Python中提供了CircuitPython支持。這可能還需要在您的平臺上啟用I2C并驗證您正在運行Python3。由于每個平臺都略有不同,并且Linux經常更改,請訪問Linux上的CircuitPython指南以準備好您的計算機!

完成后,從命令行運行以下命令:

sudo pip3 install adafruit-circuitpython-vl53l0x

如果您的默認Python是版本3,則可能需要改為運行“ pip”。只要確保您不嘗試在Python 2.x上使用CircuitPython,就不支持它!

CircuitPython和Python用法

為演示傳感器的用法,我們將對其進行初始化,并從開發板的Python REPL中讀取范圍以及更多內容。

運行以下代碼以導入必要的模塊,并初始化與傳感器的I2C連接:

下載:文件

復制代碼

import board

import busio

import adafruit_vl53l0x

i2c = busio.I2C(board.SCL, board.SDA)

sensor = adafruit_vl53l0x.VL53L0X(i2c) import board

import busio

import adafruit_vl53l0x

i2c = busio.I2C(board.SCL, board.SDA)

sensor = adafruit_vl53l0x.VL53L0X(i2c)

現在您可以從中讀取值了

range -傳感器到物體前面的物體的距離(以毫米為單位)。

下載:文件

復制代碼

print(‘Range: {}mm’.format(sensor.range)) print(‘Range: {}mm’.format(sensor.range))

可以調整測量時間預算以更改傳感器的速度和準確性。獲取并設置 measurement_timing_budget 屬性,該屬性的值以納秒為單位。例如,將計時預算增加到更準確但更慢的200ms值:

下載:文件

復制代碼

sensor.measurement_timing_budget = 200000 sensor.measurement_timing_budget = 200000

有關每秒打印范圍的完整演示,請參見simpletest.py示例。將其保存為板上的 code.py 并檢查REPL輸出以查看每秒打印的范圍。

帶有CircuitPython的VL53L0X!

完整示例代碼

下載:Project Zip 或 vl53l0x_simpletest.py | 在Github上查看

復制代碼

# Simple demo of the VL53L0X distance sensor.

# Will print the sensed range/distance every second.

import time

import board

import busio

import adafruit_vl53l0x

# Initialize I2C bus and sensor.

i2c = busio.I2C(board.SCL, board.SDA)

vl53 = adafruit_vl53l0x.VL53L0X(i2c)

# Optionally adjust the measurement timing budget to change speed and accuracy.

# See the example here for more details:

# https://github.com/pololu/vl53l0x-arduino/blob/master/examples/Single/Single.ino

# For example a higher speed but less accurate timing budget of 20ms:

#vl53.measurement_timing_budget = 20000

# Or a slower but more accurate timing budget of 200ms:

#vl53.measurement_timing_budget = 200000

# The default timing budget is 33ms, a good compromise of speed and accuracy.

# Main loop will read the range and print it every second.

while True:

print(‘Range: {0}mm’.format(vl53.range))

time.sleep(1.0)

# Simple demo of the VL53L0X distance sensor.

# Will print the sensed range/distance every second.

import time

import board

import busio

import adafruit_vl53l0x

# Initialize I2C bus and sensor.

i2c = busio.I2C(board.SCL, board.SDA)

vl53 = adafruit_vl53l0x.VL53L0X(i2c)

# Optionally adjust the measurement timing budget to change speed and accuracy.

# See the example here for more details:

# https://github.com/pololu/vl53l0x-arduino/blob/master/examples/Single/Single.ino

# For example a higher speed but less accurate timing budget of 20ms:

#vl53.measurement_timing_budget = 20000

# Or a slower but more accurate timing budget of 200ms:

#vl53.measurement_timing_budget = 200000

# The default timing budget is 33ms, a good compromise of speed and accuracy.

# Main loop will read the range and print it every second.

while True:

print(‘Range: {0}mm’.format(vl53.range))

time.sleep(1.0)

下載

文件和數據表

數據表

ST產品頁面,其中包括API下載

Adafruit Fritzing庫中的Fritzing對象

EagleCAD PCB GitHub中的文件

Adafruit VL53L0X庫

Pololu Vl53L0X庫

示意圖和構造打印

使用M2.5或#2-56螺釘安裝

責任編輯:wv

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

    關注

    3

    文章

    76

    瀏覽量

    15163
收藏 人收藏

    評論

    相關推薦

    CW32模塊使用 VL53L0X激光測距傳感器

    VL53L0X是 ST 公司推出的新一代 ToF 激光測距傳感器,采用了第二代 FlightSenseTM技術,利用飛行時間(ToF)原理,通過光子的飛行來回
    的頭像 發表于 11-26 17:59 ?705次閱讀
    CW32模塊使用 <b class='flag-5'>VL53L0X</b>激光測距<b class='flag-5'>傳感器</b>

    VL53L4CD液位監測(1)----驅動TOF進行測距

    使用。 與所有基于意法半導體的FlightSense技術的飛行時間 (ToF) 傳感器一樣,無論目標顏色和反射率如何,VL53L4CD均可記錄絕對距離測量。
    的頭像 發表于 11-25 14:38 ?324次閱讀
    <b class='flag-5'>VL53L</b>4CD液位監測(1)----驅動TOF進行測距

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

    TOF(飛行時間傳感器是一種利用光的飛行時間原理來測量物體與傳感器間距離的技術。VL53L1
    的頭像 發表于 10-09 10:16 ?1734次閱讀
    <b class='flag-5'>VL53L</b>1CB TOF開發(1)----驅動TOF進行測距

    意法半導體推出耐高溫高亮度環境下的ToF傳感器VL53L4ED

    意法半導體近期在傳感器技術領域取得了重要突破,正式推出了其全新單區飛行時間(ToF)傳感器VL53L4ED。這款傳感器以其卓越的工作溫度范圍
    的頭像 發表于 07-26 15:51 ?761次閱讀

    意法半導體發布單區直接ToF傳感器VL53L4ED

    ???????意法半導體推出了工作溫度范圍擴展至-40°C至105°C的單區飛行時間 (ToF) 傳感器VL53L4ED。VL53L4ED適用于工業設備、智能工廠設備、機器人引導系統、
    的頭像 發表于 07-26 14:27 ?746次閱讀

    VL53L4CD TOF開發(2)----修改測量頻率

    VL53L4CD是一款高度集成的飛行時間(ToF)傳感器,廣泛應用于距離測量和接近檢測。為了滿足不同應用場景的需求,合理調整傳感器的測量頻率
    的頭像 發表于 06-19 14:50 ?1229次閱讀
    <b class='flag-5'>VL53L</b>4CD TOF開發(2)----修改測量頻率

    VL53L4CD TOF開發(4)----單次測量(One-Shot)模式

    在現代嵌入式系統中,精確的距離測量和實時響應能力對于許多應用場景至關重要。VL53L4CD 是一款先進的飛行時間(Time-of-Flight, ToF)傳感器,能夠提供高精度的
    的頭像 發表于 06-19 10:58 ?1536次閱讀
    <b class='flag-5'>VL53L</b>4CD TOF開發(4)----單次測量(One-Shot)模式

    VL53L4CD TOF開發(3)----檢測閾值

    在現代嵌入式系統中,精確的距離測量和實時響應能力對于許多應用場景至關重要。VL53L4CD 是一款先進的飛行時間(Time-of-Flight, ToF)傳感器,能夠提供高精度的
    的頭像 發表于 06-19 10:56 ?1421次閱讀
    <b class='flag-5'>VL53L</b>4CD TOF開發(3)----檢測閾值

    VL53L4CX TOF開發(2)----修改測距范圍及測量頻率

    VL53L4CX傳感器是一款高性能的飛行時間(Time-of-Flight)傳感器,廣泛應用于各種距離測量和目標檢測場景。其靈活的配置選項使
    的頭像 發表于 06-19 10:49 ?993次閱讀
    <b class='flag-5'>VL53L</b>4CX TOF開發(2)----修改測距范圍及測量頻率

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

    使用。 與所有基于意法半導體的FlightSense技術的飛行時間 (ToF) 傳感器一樣,無論目標顏色和反射率如何,VL53L4CD均可記錄絕對距離測量。
    的頭像 發表于 05-17 14:54 ?998次閱讀
    <b class='flag-5'>VL53L</b>4CD TOF開發(1)----驅動TOF進行測距

    貿澤開售適用于存在檢測和系統激活應用的STMicroelectronics VL53L4ED飛行時間接近傳感器

    VL53L4ED飛行時間 (ToF) 高精度接近傳感器VL53L4ED專為機器人、存在檢測、工業自動化和系統激活應用而設計,能滿足在擴展級溫度范圍下進行高精度、短
    發表于 05-16 14:11 ?549次閱讀

    VL53L0X TOF測距傳感器的報錯幾個疑問求解

    看看!救救我! 補充:需求相當于是: 寄存0x13:VL53LOX REG RESULT INTERRUPT STATUS需要中間兩位為低,因為要跟0x18 一下。 寄存
    發表于 03-12 06:56

    意法半導體的多區飛行時間(ToF)傳感器系列介紹

    VL53L5、VL53L7、VL53L8都是基于意法半導體(ST)的FlightSense技術的多區飛行時間(ToF)傳感器
    的頭像 發表于 02-28 09:53 ?1003次閱讀
    意法半導體的多區<b class='flag-5'>飛行時間</b>(ToF)<b class='flag-5'>傳感器</b>系列介紹

    多區飛行時間(ToF)傳感器的特點

    ???????? VL53L5、VL53L7、VL53L8都是基于ST的FlightSense技術的多區飛行時間(ToF)傳感器
    的頭像 發表于 02-25 09:41 ?1221次閱讀
    多區<b class='flag-5'>飛行時間</b>(ToF)<b class='flag-5'>傳感器</b>的特點

    飛行時間傳感器:技術原理與多元應用

    回來時,我們停止計時,獲得光飛行時長,借此確定物體與我們之間的距離(以毫米為單位)。這項技術被稱為光飛行時間距離測量(flightsense),該技術功耗相對較低,遠
    的頭像 發表于 02-19 12:23 ?886次閱讀
    <b class='flag-5'>飛行時間</b><b class='flag-5'>傳感器</b>:技術原理與多元應用
    菲律宾百家乐娱乐场| 澳门百家乐现场视频| 百家乐在线娱乐场| 沈阳盛京棋牌下载| 百家乐官网棋牌辅助| 24山方位吉凶| 新全讯网网站| 百家乐官网高人玩法| 广发百家乐官网的玩法技巧和规则 | 投真钱百家乐官网必输吗| 7位百家乐官网扑克桌| 免费百家乐缩水| 永利高百家乐官网信誉| 风水学24山看水法| 百家乐博娱乐网赌百家乐的玩法技巧和规则 | 状元百家乐官网的玩法技巧和规则| 中国百家乐官网澳门真人娱乐平台网址 | 太阳城百家乐官网的分数| 百家乐游戏算牌| bet365备用网| 网络百家乐官网路子玩| 月华百家乐的玩法技巧和规则 | 大发888挖掘| 百家乐官网纯技巧打| 天堂鸟百家乐的玩法技巧和规则 | 久盛娱乐城| 2016哪个属相做生意吉利| bet365娱乐| 百家乐官网最新分析仪| 百家乐图形的秘密破解| 丹棱县| 刀把状的房子做生意| 六合彩现场开奖| 涂山百家乐官网的玩法技巧和规则 | 百家乐网上娱乐城| 博彩娱乐网| 百家乐庄比闲多多少| 岚皋县| 百家乐楼梯缆| 剑川县| 网上百家乐返水|