简介

这款测距模组是一个基于单点TOF技术,采用850nm LED光源,配合独特的光学、结构、电路设计而成的低成本测距模组,实现中短距离的测距需求,测距范围为 0.2m~12m,结合相应的滤波算法处理,可以得到极低的测量噪声。 该款测距模组同时支持 I2C 和 UART 的通信,便于终端产品的集成。在测距方面提供单次被动测量和连续主动测量,以满足不同终端产品的实际使用需求。

技术规格

注:除了能在各主板上使用外,模组还可以直接在上位机使用,上位机软件与使用教程在最下方的PDF资料文件中。

引脚示意图

引脚示意图
标号 名称 功能描述
1 SCL I2C 通讯时钟线
2 SDA I2C 通讯数据线
3 GND_LED 光源供电地
4 VCC_LED 光源供电电源(5V)
5 TX UART 发送数据线
6 RX UART 接收数据线
7 GND 模块主供电地
8 VCC 模块主供电电源(5V)

使用教程

准备

Arduino I2C接线图

下载DFRobot LIDAR 07库文件如何安装库文件

I2C接线图

示例代码

/**
 * @file measureDistance.cpp
 * @brief 此示例演示了LIDAR07基本测距功能,范围在0.2m-12m(工作电压5V)
 * @n 连线规则:传感器正面从右至左分别是PIN1-PIN8
 * @n          PIN1----------------------SCL--------------------主控SCL(IIC模式)
 * @n          PIN2----------------------SDA--------------------主控SDA(IIC模式)
 * @n          PIN3----------------------光源供电地--------------主控GND
 * @n          PIN4----------------------光源供电电源(5V)--------主控VCC
 * @n          PIN5----------------------TX---------------------主控设置用于和传感器进行串口通信的串口的RX引脚(UART模式)
 * @n          PIN6----------------------RX---------------------主控设置用于和传感器进行串口通信的串口的TX引脚(UART模式)
 * @n          PIN7----------------------模块主供电地------------主控GND
 * @n          PIN8----------------------模块主供电电源(5V)------主控VCC
 * @copyright  Copyright (c) 2010 DFRobot Co.Ltd (http://www.dfrobot.com)
 * @licence     The MIT License (MIT)
 * @author [yangfeng]<feng.yang@dfrobot.com>
 * @version  V1.0
 * @date  2021-04-16
 * @get from https://www.dfrobot.com
 * @url  https://github.com/DFRobot/DFRobot_LIDAR07
 */
#include"DFRobot_LIDAR07.h"

//如果使用的是IIC模式请开启USE_IIC这个宏
//#define USE_IIC
#ifdef USE_IIC  
DFROBOT_LIDAR07_IIC  LIDAR07;
#endif

//如果使用的是UART模式请开启USE_UART这个宏,默认开启USE_UART,USE_IIC、USE_UART两种模式不能同时使用
#define USE_UART
#ifdef USE_UART

#if defined(ESP8266)||defined(ARDUINO_AVR_UNO)
#include <SoftwareSerial.h>
SoftwareSerial  mySerial(4,12);//GPIO4对应主控板的RX,GPIO12对应主控板的TX
/**!
 * esp32 Serial1 的 TX 是 GPIO10,RX 是 GPIO9 
 * mega2560 Serial1 的 TX 是 GPIO18,RX 是 GPIO19 
 * M0 Serial1 的 TX 是 GPIO1,RX 是 GPIO0 
 * leonardo Serial1 的 TX 是 GPIO1,RX 是 GPIO0 
 */
#endif
DFROBOT_LIDAR07_UART  LIDAR07;  
#endif

void setup() {
  uint32_t version;
  Serial.begin(115200);
#ifdef USE_IIC
  while(!LIDAR07.begin()){
    Serial.println("The sensor returned data validation error");
    delay(1000);
  }
#endif

#ifdef USE_UART
#if defined(ESP8266)||defined(ARDUINO_AVR_UNO)
  mySerial.begin(115200);
  while(!LIDAR07.begin(mySerial)){
    Serial.println("The sensor returned data validation error");
    delay(1000);
  }
#else
  Serial1.begin(115200);
  while(!LIDAR07.begin(Serial1)){
    Serial.println("The sensor returned data validation error");
    delay(1000);
  }
#endif
#endif

  version = LIDAR07.getVersion();
  Serial.print("VERSION: ");
  Serial.print((version>>24)&0xFF,HEX);
  Serial.print(".");Serial.print((version>>16)&0xFF,HEX);
  Serial.print(".");Serial.print((version>>8)&0xFF,HEX);
  Serial.print(".");Serial.println((version)&0xFF,HEX);

  LIDAR07.startFilter();  //使能过滤器后可以调用LIDAR07.stopFilter()进行关闭过滤器
}

void loop() {
  int errinfo;
  while(!LIDAR07.startMeasure()){
    Serial.println("Incorrect data was returned");
    delay(1000);
  }
  Serial.print("Distance:");Serial.print(LIDAR07.getDistanceMM());Serial.println(" mm");
  Serial.print("Amplitude:");Serial.println(LIDAR07.getSignalAmplitude());
  delay(1000);
}

示例结果

结果图

各类主板兼容性

兼容性图

常见问题

还没有客户对此产品有任何问题,欢迎通过 qq 或者论坛联系我们! 更多问题及有趣的应用,可以访问论坛进行查阅或发帖

更多

DFRobot 商城购买链接

通信协议与规格书

上位机软件

上位机操作说明.pdf