A Node.js library for a vl53l0x proximity sensor.
https://npmjs.com/package/vl53l0x
https://npmjs.com/package/i2c-bus
npm install vl53l0x i2c-bus
...OR, use an i2cdriver for development!
npm install vl53l0x i2cdriver
const VL53L0X = require('vl53l0x')
const args = [1, 0x29]
// Optionally, try developing with an i2cdriver!
// const args = ['/dev/tty.usbserial-DO01INSW', 0x29, 'i2cdriver/i2c-bus']
VL53L0X(...args).then(async (vl53l0x) => {
while(true) {
console.log(await vl53l0x.measure())
}
})
.catch(console.error)
To prevent multiple instances of i2c-bus being installed in your project- it is NOT included as a dependency. You just need to install it separately.
This also allows you to swap in a different bus, such as an i2cdriver if desired.
Creates a VL53L0X instance.
bus: The i2c-bus-promise instance
address: The i2c device address (factory default is 0x29
). Changing it is a pain and this
library doesn't aim to take that on.
Returns: The VL53L0X interface.
Gets a measurement from the device.
Returns: The distance in millimeters (Number)
There are additional functions exposed but you'll really need to read the datasheet to get an understanding of what each does. You can checkout the examples also.
getSignalRateLimit()
setSignalRateLimit(limit_Mcps)
getMeasurementTimingBudget()
setMeasurementTimingBudget(timing_budget)
getVcselPulsePeriod()
setVcselPulsePeriod(type, period_pclks)
performSingleRefCalibration(vhv_init_byte)
https://www.st.com/resource/en/datasheet/vl53l0x.pdf
MIT