简介
这款激光测距传感器针对市面上测距传感器体积大、响应时间长、安装适配性差等问题而着重设计,体积只有指甲盖大小,测量范围可达4m,具备了体积小、盲区小、响应时间短、安装适配性高、防尘防水、寿命长、可靠性高等一系列优点。
传感数I2C输出,用户可搭配Arduino的IO扩展板使用,广泛应用于智能感应家具、家居安防、智能检测、智能控制、机器人避障、物体接近与存在检测等。
技术规格
- 测距范围:2~400cm
- 测距精度:≤25cm@±1cm,>25cm@±S*4%cm(实测误差5mm左右)
- 工作电压:3.3~5V
- 空闲电流:2mA
- 工作电流:<19mA
- 通讯方式:I2C
- I2C地址:0x74
- 输出响应时间:19-38ms
- 上电延迟工作时间:≤800ms
- 检测角度:19°
- 工作温度:-15°C~60°C
- 工作湿度:65%~80%RH
- 存储温度:-30°C~80°C
- 存储湿度:65%~90%RH
引脚示意图
标号 | 名称 | 功能描述 |
---|---|---|
红线 | VCC | 电源输入正极 |
黑线 | GND | 电源接地线 |
黄线 | SCL | I2C时钟线SCL |
绿线 | SDA | I2C数据线SDA |
尺寸图
安装开孔建议图
使用教程
准备
- 硬件
Arduino UNO x1
激光测距传感器-4m x1
- 软件
Arduino IDE,点击下载 Arduino IDE
接线图
示例代码
#include "Wire.h"
#define address 0x74
uint8_t buf[2] = { 0 };
void setup() {
Serial.begin(115200);
Wire.begin();
}
uint8_t dat = 0xB0;
int distance = 0;
void loop() {
writeReg(0x10, &dat, 1);
delay(50);
readReg(0x02, buf, 2);
distance = buf[0] * 0x100 + buf[1] + 10;
Serial.print("distance=");
Serial.print(distance);
Serial.print("mm");
Serial.println("\t");
delay(100);
}
uint8_t readReg(uint8_t reg, const void* pBuf, size_t size) {
if (pBuf == NULL) {
Serial.println("pBuf ERROR!! : null pointer");
}
uint8_t* _pBuf = (uint8_t*)pBuf;
Wire.beginTransmission(address);
Wire.write(®, 1);
if (Wire.endTransmission() != 0) {
return 0;
}
delay(20);
Wire.requestFrom(address, (uint8_t)size);
for (uint16_t i = 0; i < size; i++) {
_pBuf[i] = Wire.read();
}
return size;
}
bool writeReg(uint8_t reg, const void* pBuf, size_t size) {
if (pBuf == NULL) {
Serial.println("pBuf ERROR!! : null pointer");
}
uint8_t* _pBuf = (uint8_t*)pBuf;
Wire.beginTransmission(address);
Wire.write(®, 1);
for (uint16_t i = 0; i < size; i++) {
Wire.write(_pBuf[i]);
}
if (Wire.endTransmission() != 0) {
return 0;
} else {
return 1;
}
}
串口查看传感器检测到的距离值
常见问题
还没有客户对此产品有任何问题,欢迎通过 qq 或者论坛联系我们!
更多问题及有趣的应用,可以访问论坛进行查阅或发帖