Component: Range Time of Flight (VL53L0X) (Light): Difference between revisions
Appearance
No edit summary |
m Text replacement - "style="background-color:#EAE1EA;"" to "class="mtx-class-propfolder"" |
||
| (19 intermediate revisions by 3 users not shown) | |||
| Line 15: | Line 15: | ||
A laser based range sensor designed to provide accurate range infomation for a very narrow sensing beam. Capable of sensing ranges from 50mm to 1200mm. Communication with the device is based on a I2C bus. | A laser based range sensor designed to provide accurate range infomation for a very narrow sensing beam. Capable of sensing ranges from 50mm to 1200mm. Communication with the device is based on a I2C bus. | ||
== | ==Detailed description== | ||
| Line 42: | Line 52: | ||
{| class="wikitable" | |||
''<span style="color:red;">No additional examples</span>'' | |||
==Macro reference== | |||
===ChangeI2CAddress=== | |||
{| class="mtx-class-macrotable wikitable" | |||
|- | |||
| width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | |||
| width="90%" class="mtx-class-macrohead" | '''ChangeI2CAddress''' | |||
|- | |||
| colspan="2" | Updates the I2C address of the sensor. | |||
|- | |||
|- | |||
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE | |||
| width="90%" | Address | |||
|- | |- | ||
| | | colspan="2" | | ||
|- | |- | ||
| | | width="10%" align="center" | [[File:Fc9-bool-icon.png]] - BOOL | ||
| width="90%" | UpdateAddressReg | |||
|- | |- | ||
| colspan="2" | 0=Leave address register alone, 1=Update address register | |||
|- | |- | ||
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9- | | width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID | ||
| width="90%" style="border-top: 2px solid #000;" | ''Return'' | | width="90%" style="border-top: 2px solid #000;" | ''Return'' | ||
|} | |} | ||
{| class="wikitable | ===Initialise=== | ||
{| class="mtx-class-macrotable wikitable" | |||
|- | |- | ||
| width="10%" align="center" | | width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | ||
| width="90%" | | width="90%" class="mtx-class-macrohead" | '''Initialise''' | ||
|- | |- | ||
| colspan="2" | | | colspan="2" | | ||
|- | |- | ||
|- | |- | ||
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9- | | width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-bool-icon.png]] - BOOL | ||
| width="90%" style="border-top: 2px solid #000;" | ''Return'' | | width="90%" style="border-top: 2px solid #000;" | ''Return'' | ||
|} | |} | ||
{| class="wikitable | ===ReadDistance=== | ||
{| class="mtx-class-macrotable wikitable" | |||
|- | |- | ||
| width="10%" align="center" | | width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | ||
| width="90%" | | width="90%" class="mtx-class-macrohead" | '''ReadDistance''' | ||
|- | |- | ||
| colspan="2" | Read the current distance in mm. Returns -1 if the sensor timed out during the read operation. | | colspan="2" | Read the current distance in mm. Returns -1 if the sensor timed out during the read operation. | ||
| Line 86: | Line 119: | ||
{| class="wikitable" style="width: | ===ReadModel=== | ||
{| class="mtx-class-macrotable wikitable" | |||
|- | |||
| width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | |||
| width="90%" class="mtx-class-macrohead" | '''ReadModel''' | |||
|- | |||
| colspan="2" | Collects the model number from the sensor | |||
|- | |||
|- | |||
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-u8-icon.png]] - BYTE | |||
| width="90%" style="border-top: 2px solid #000;" | ''Return'' | |||
|} | |||
===ReadRegister=== | |||
{| class="mtx-class-macrotable wikitable" | |||
|- | |||
| width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | |||
| width="90%" class="mtx-class-macrohead" | '''ReadRegister''' | |||
|- | |||
| colspan="2" | A simple example showing a generic way to read a register using I2C. | |||
|- | |||
|- | |||
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE | |||
| width="90%" | Address | |||
|- | |||
| colspan="2" | | |||
|- | |||
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-u8-icon.png]] - BYTE | |||
| width="90%" style="border-top: 2px solid #000;" | ''Return'' | |||
|} | |||
===ReadRegister16=== | |||
{| class="mtx-class-macrotable wikitable" | |||
|- | |- | ||
| width="10%" align="center" | | width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | ||
| width="90%" | | width="90%" class="mtx-class-macrohead" | '''ReadRegister16''' | ||
|- | |- | ||
| colspan="2" | A simple example showing a generic way to read a register using I2C. | | colspan="2" | A simple example showing a generic way to read a register using I2C. | ||
| Line 98: | Line 165: | ||
|- | |- | ||
| colspan="2" | | | colspan="2" | | ||
|- | |||
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-u16-icon.png]] - UINT | |||
| width="90%" style="border-top: 2px solid #000;" | ''Return'' | |||
|} | |||
===ReadRevision=== | |||
{| class="mtx-class-macrotable wikitable" | |||
|- | |||
| width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | |||
| width="90%" class="mtx-class-macrohead" | '''ReadRevision''' | |||
|- | |||
| colspan="2" | Collects the revision number from the sensor | |||
|- | |||
|- | |- | ||
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-u8-icon.png]] - BYTE | | width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-u8-icon.png]] - BYTE | ||
| Line 104: | Line 185: | ||
{| class="wikitable | ===WriteRegister=== | ||
{| class="mtx-class-macrotable wikitable" | |||
|- | |- | ||
| width="10%" align="center" | | width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | ||
| width="90%" | | width="90%" class="mtx-class-macrohead" | '''WriteRegister''' | ||
|- | |- | ||
| colspan="2" | A simple example showing a generic way to write a register using I2C. | | colspan="2" | A simple example showing a generic way to write a register using I2C. | ||
| Line 127: | Line 209: | ||
{| class="wikitable" | ===WriteRegister16=== | ||
{| class="mtx-class-macrotable wikitable" | |||
|- | |||
| width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | |||
| width="90%" class="mtx-class-macrohead" | '''WriteRegister16''' | |||
|- | |||
| colspan="2" | A simple example showing a generic way to write a register using I2C. | |||
|- | |||
|- | |- | ||
| width="10% | | width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE | ||
| width="90% | | width="90%" | Address | ||
|- | |- | ||
| colspan="2" | | | colspan="2" | | ||
|- | |- | ||
| width="10%" align="center" | [[File:Fc9-u16-icon.png]] - UINT | |||
| width="90%" | Data | |||
|- | |- | ||
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9- | | colspan="2" | | ||
|- | |||
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID | |||
| width="90%" style="border-top: 2px solid #000;" | ''Return'' | | width="90%" style="border-top: 2px solid #000;" | ''Return'' | ||
|} | |} | ||
==Property reference== | ==Property reference== | ||
{| class="wikitable" | {| class="mtx-class-macrotable wikitable" | ||
|- | |||
| width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-prop-icon.png]] | |||
| width="90%" class="mtx-class-macrohead" | '''Properties''' | |||
|- | |- | ||
| width="10%" align="center" | |- | ||
| width="90%" | | width="10%" align="center" class="mtx-class-propfolder" | [[File:Fc9-conn-icon.png]] | ||
| width="90%" class="mtx-class-propfolder" | Sensor Properties | |||
|- | |- | ||
|- | |- | ||
| Line 154: | Line 249: | ||
|- | |- | ||
| colspan="2" | | | colspan="2" | | ||
|- | |||
| width="10%" align="center" class="mtx-class-propfolder" | [[File:Fc9-conn-icon.png]] | |||
| width="90%" class="mtx-class-propfolder" | I2C Properties | |||
|- | |||
|- | |- | ||
| width="10%" align="center" | [[File:Fc9-type-16-icon.png]] | | width="10%" align="center" | [[File:Fc9-type-16-icon.png]] | ||
| Line 174: | Line 273: | ||
|- | |- | ||
| colspan="2" | Pin used for SDA (data signal) | | colspan="2" | Pin used for SDA (data signal) | ||
|- | |||
| width="10%" align="center" | [[File:Fc9-type-16-icon.png]] | |||
| width="90%" | SDA Remap Pin | |||
|- | |||
| colspan="2" | | |||
|- | |- | ||
| width="10%" align="center" | [[File:Fc9-type-5-icon.png]] | | width="10%" align="center" | [[File:Fc9-type-5-icon.png]] | ||
| Line 179: | Line 283: | ||
|- | |- | ||
| colspan="2" | Pin used for SCL (clock signal) | | colspan="2" | Pin used for SCL (clock signal) | ||
|- | |||
| width="10%" align="center" | [[File:Fc9-type-16-icon.png]] | |||
| width="90%" | SCL Remap Pin | |||
|- | |||
| colspan="2" | | |||
|- | |- | ||
| width="10%" align="center" | [[File:Fc9-type-7-icon.png]] | | width="10%" align="center" | [[File:Fc9-type-7-icon.png]] | ||
| Line 185: | Line 294: | ||
| colspan="2" | On older microcontroller devices there is a potential for the I2C hardware channel to lock up if there is not a 10ms delay between an I2C stop event and the next I2C start event. Most modern microcontrollers will not have a problem so this property can be disabled to speed up the I2C communications. | | colspan="2" | On older microcontroller devices there is a potential for the I2C hardware channel to lock up if there is not a 10ms delay between an I2C stop event and the next I2C start event. Most modern microcontrollers will not have a problem so this property can be disabled to speed up the I2C communications. | ||
|- | |- | ||
| width="10%" align="center" | | width="10%" align="center" class="mtx-class-propfolder" | [[File:Fc9-conn-icon.png]] | ||
| width="90%" class="mtx-class-propfolder" | Simulation | |||
| width="90%" | |||
|- | |- | ||
|- | |- | ||
| Line 213: | Line 303: | ||
| colspan="2" | | | colspan="2" | | ||
|} | |} | ||
==Component Source Code== | |||
Please click here to download the component source project: [https://www.flowcode.co.uk/wiki/componentsource/FC_Comp_Source_RangeTOF_VL53L0X.fcfx FC_Comp_Source_RangeTOF_VL53L0X.fcfx] | |||
Please click here to view the component source code (Beta): [https://www.flowcode.co.uk/FlowchartView/?wfile=componentsource/FC_Comp_Source_RangeTOF_VL53L0X.fcfx FC_Comp_Source_RangeTOF_VL53L0X.fcfx] | |||
Latest revision as of 14:37, 13 July 2026
| Author | MatrixTSL |
| Version | 1.0 |
| Category | Light |
Range Time of Flight (VL53L0X) component
A laser based range sensor designed to provide accurate range infomation for a very narrow sensing beam. Capable of sensing ranges from 50mm to 1200mm. Communication with the device is based on a I2C bus.
Detailed description
No detailed description exists yet for this component
Examples
No additional examples
Macro reference
ChangeI2CAddress
| ChangeI2CAddress | |
| Updates the I2C address of the sensor. | |
| Address | |
| UpdateAddressReg | |
| 0=Leave address register alone, 1=Update address register | |
| Return | |
Initialise
| Initialise | |
| Return | |
ReadDistance
| ReadDistance | |
| Read the current distance in mm. Returns -1 if the sensor timed out during the read operation. | |
| Return | |
ReadModel
| ReadModel | |
| Collects the model number from the sensor | |
| Return | |
ReadRegister
| ReadRegister | |
| A simple example showing a generic way to read a register using I2C. | |
| Address | |
| Return | |
ReadRegister16
| ReadRegister16 | |
| A simple example showing a generic way to read a register using I2C. | |
| Address | |
| Return | |
ReadRevision
| ReadRevision | |
| Collects the revision number from the sensor | |
| Return | |
WriteRegister
| WriteRegister | |
| A simple example showing a generic way to write a register using I2C. | |
| Address | |
| Data | |
| Return | |
WriteRegister16
| WriteRegister16 | |
| A simple example showing a generic way to write a register using I2C. | |
| Address | |
| Data | |
| Return | |
Property reference
Component Source Code
Please click here to download the component source project: FC_Comp_Source_RangeTOF_VL53L0X.fcfx
Please click here to view the component source code (Beta): FC_Comp_Source_RangeTOF_VL53L0X.fcfx