45959浏览
楼主: 驴友花雕

[项目] 【Arduino】168种传感器系列实验(183)VL53L0X激光测距模块

[复制链接]

驴友花雕  中级技神
 楼主|

发表于 2021-8-16 09:45:07

                                            


  【Arduino】168种传感器模块系列实验(资料代码+仿真编程+图形编程)
  实验一百八十三:GY-530 VL53L0X 激光测距 ToF测距 飞行时间测距传感器模块 IIC通信协议
  项目之六:使用Adafruit_VL53L0X.h库测量距离(范围40mm-1000mm)

  实验开源代码

  1. /*
  2.   【Arduino】168种传感器模块系列实验(资料代码+仿真编程+图形编程)
  3.   实验一百八十三:GY-530 VL53L0X 激光测距 ToF测距 飞行时间测距传感器模块 IIC通信协议
  4.   项目之六:使用Adafruit_VL53L0X.h库测量距离(范围40mm-1000mm)
  5.   模块接线:
  6.   VL53L0X  Arduino
  7.   VCC        5V
  8.   GND        GND
  9.   SCL        A5
  10.   SDA        A4
  11. */
  12. #include "Adafruit_VL53L0X.h"
  13. Adafruit_VL53L0X lox = Adafruit_VL53L0X();
  14. void setup() {
  15.   Serial.begin(115200);
  16.   // wait until serial port opens for native USB devices
  17.   while (! Serial) {
  18.     delay(1);
  19.   }
  20.   Serial.println("Adafruit VL53L0X test");
  21.   if (!lox.begin()) {
  22.     Serial.println(F("Failed to boot VL53L0X"));
  23.     while (1);
  24.   }
  25.   // power
  26.   Serial.println(F("VL53L0X API Simple Ranging example\n\n"));
  27. }
  28. void loop() {
  29.   VL53L0X_RangingMeasurementData_t measure;
  30.   Serial.print("Reading a measurement... ");
  31.   lox.rangingTest(&measure, false); // pass in 'true' to get debug data printout!
  32.   if (measure.RangeStatus != 4) {  // phase failures have incorrect data
  33.     Serial.print("Distance (mm): "); Serial.println(measure.RangeMilliMeter);
  34.   } else {
  35.     Serial.println(" out of range ");
  36.   }
  37.   delay(100);
  38. }
复制代码

回复

使用道具 举报

驴友花雕  中级技神
 楼主|

发表于 2021-8-16 09:48:08

                                            


实验串口返回情况

【Arduino】168种传感器系列实验(183)VL53L0X激光测距模块图1
  
回复

使用道具 举报

驴友花雕  中级技神
 楼主|

发表于 2021-8-16 09:50:06

                                            


实验串口绘图器返回情况

【Arduino】168种传感器系列实验(183)VL53L0X激光测距模块图1
  
回复

使用道具 举报

驴友花雕  中级技神
 楼主|

发表于 2021-8-16 10:26:48

【Arduino】168种传感器模块系列实验(资料代码+仿真编程+图形编程)
  实验一百八十三:GY-530 VL53L0X 激光测距 ToF测距 飞行时间测距传感器模块 IIC通信协议
  项目之七:查询VL53L0X模块和SSD1306 OLED模块的IIC地址

  实验开源代码

  1. /*
  2.   【Arduino】168种传感器模块系列实验(资料代码+仿真编程+图形编程)
  3.   实验一百八十三:GY-530 VL53L0X 激光测距 ToF测距 飞行时间测距传感器模块 IIC通信协议
  4.   项目之七:查询VL53L0X模块和SSD1306 OLED模块的IIC地址
  5.   模块接线:
  6.   VL53L0X  Arduino
  7.   VCC        5V
  8.   GND        GND
  9.   SCL        A5
  10.   SDA        A4
  11. */
  12. #include <Wire.h>
  13. void setup()
  14. {
  15.   Wire.begin();
  16.   Serial.begin(9600);
  17.   while (!Serial);             // Leonardo: wait for serial monitor
  18.   Serial.println("\nI2C Scanner");
  19. }
  20. void loop()
  21. {
  22.   byte error, address;
  23.   int nDevices;
  24.   Serial.println("Scanning...");
  25.   nDevices = 0;
  26.   for (address = 1; address < 127; address++ )
  27.   {
  28.     // The i2c_scanner uses the return value of
  29.     // the Write.endTransmisstion to see if
  30.     // a device did acknowledge to the address.
  31.     Wire.beginTransmission(address);
  32.     error = Wire.endTransmission();
  33.     if (error == 0)
  34.     {
  35.       Serial.print("I2C device found at address 0x");
  36.       if (address < 16)
  37.         Serial.print("0");
  38.       Serial.print(address, HEX);
  39.       Serial.println("  !");
  40.       nDevices++;
  41.     }
  42.     else if (error == 4)
  43.     {
  44.       Serial.print("Unknown error at address 0x");
  45.       if (address < 16)
  46.         Serial.print("0");
  47.       Serial.println(address, HEX);
  48.     }
  49.   }
  50.   if (nDevices == 0)
  51.     Serial.println("No I2C devices found\n");
  52.   else
  53.     Serial.println("done\n");
  54.   delay(5000);           // wait 5 seconds for next scan
  55. }
复制代码
回复

使用道具 举报

驴友花雕  中级技神
 楼主|

发表于 2021-8-16 10:40:56

                                            


实验串口返回情况

【Arduino】168种传感器系列实验(183)VL53L0X激光测距模块图1

回复

使用道具 举报

驴友花雕  中级技神
 楼主|

发表于 2021-8-16 11:11:00

                                            


  【Arduino】168种传感器模块系列实验(资料代码+仿真编程+图形编程)
  实验一百八十三:GY-530 VL53L0X 激光测距 ToF测距 飞行时间测距传感器模块 IIC通信协议
  项目之八:使用 VL53L0X 进行范围测量并在 SSD1306 OLED 上显示(mm)

  实验开源代码

  1. /*
  2.   【Arduino】168种传感器模块系列实验(资料代码+仿真编程+图形编程)
  3.   实验一百八十三:GY-530 VL53L0X 激光测距 ToF测距 飞行时间测距传感器模块 IIC通信协议
  4.   项目之八:使用 VL53L0X 进行范围测量并在 SSD1306 OLED 上显示(mm)
  5.   模块接线:SSD1306 OLED模块相同
  6.   VL53L0X  Arduino
  7.   VCC        5V
  8.   GND        GND
  9.   SCL        A5
  10.   SDA        A4
  11. */
  12. #include <Wire.h>
  13. #include "Adafruit_VL53L0X.h"
  14. #include <SPI.h>
  15. #include <Adafruit_GFX.h>
  16. #include <Adafruit_SSD1306.h>
  17. Adafruit_SSD1306 display = Adafruit_SSD1306();
  18. Adafruit_VL53L0X lox = Adafruit_VL53L0X();
  19. #if (SSD1306_LCDHEIGHT != 32)
  20. #error("Height incorrect, please fix Adafruit_SSD1306.h!");
  21. #endif
  22. void setup() {
  23.   Serial.begin(9600);
  24.   display.begin(SSD1306_SWITCHCAPVCC, 0x3C);  // initialize with the I2C addr 0x3C (for the 128x64)
  25.   // init done
  26.   display.display();
  27.   delay(1000);
  28.   Wire.begin();
  29.   if (!lox.begin()) {
  30.     Serial.println(F("Failed to boot VL53L0X"));
  31.     while (1);
  32.   }
  33.   // text display big!
  34.   display.setTextSize(4);
  35.   display.setTextColor(WHITE);
  36. }
  37. void loop() {
  38.   VL53L0X_RangingMeasurementData_t measure;
  39.   lox.rangingTest(&measure, false); // pass in 'true' to get debug data printout!
  40.   if (measure.RangeStatus != 4) {  // phase failures have incorrect data
  41.     display.clearDisplay();
  42.     display.setCursor(0, 0);
  43.     display.print(measure.RangeMilliMeter);
  44.     display.print("mm");
  45.     display.display();
  46.     Serial.println();
  47.     delay(50);
  48.   } else {
  49.     display.display();
  50.     display.clearDisplay();
  51.     return;
  52.   }
  53. }
复制代码

回复

使用道具 举报

驴友花雕  中级技神
 楼主|

发表于 2021-8-16 12:02:29

                                            


实验场景图

【Arduino】168种传感器系列实验(183)VL53L0X激光测距模块图1

回复

使用道具 举报

驴友花雕  中级技神
 楼主|

发表于 2021-8-16 12:36:01

本帖最后由 驴友花雕 于 2021-8-16 13:52 编辑

                                            


实验场景

动态图  【Arduino】168种传感器系列实验(183)VL53L0X激光测距模块图1

回复

使用道具 举报

驴友花雕  中级技神
 楼主|

发表于 2021-8-16 13:53:59

                                            


实验开源仿真编程(Linkboy V4.62)

项目之九:串口显示VL53L0X测距

【Arduino】168种传感器系列实验(183)VL53L0X激光测距模块图1

回复

使用道具 举报

驴友花雕  中级技神
 楼主|

发表于 2021-8-16 13:56:23

                                            


实验串口输出情况


【Arduino】168种传感器系列实验(183)VL53L0X激光测距模块图1
  
回复

使用道具 举报

修远  见习技师

发表于 2021-8-16 14:16:29

驴友花雕 发表于 2021-8-16 11:11
【Arduino】168种传感器模块系列实验(资料代码+仿真编 ...

你好,我是新手,能解答我的一些困惑吗?
可以的话加一下VX吗
P733000
回复

使用道具 举报

驴友花雕  中级技神
 楼主|

发表于 2021-8-16 14:32:42

本帖最后由 驴友花雕 于 2021-8-16 14:37 编辑

                                            


实验一百八十三:GY-530 VL53L0X 激光测距 ToF测距 飞行时间测距传感器模块 IIC通信协议
实验开源仿真编程(Linkboy V4.62)
项目之十:串口显示VL53L0X测距波形

【Arduino】168种传感器系列实验(183)VL53L0X激光测距模块图1

回复

使用道具 举报

驴友花雕  中级技神
 楼主|

发表于 2021-8-16 14:33:49

本帖最后由 驴友花雕 于 2021-8-16 14:38 编辑

                                            


修远 发表于 2021-8-16 14:16
你好,我是新手,能解答我的一些困惑吗?
可以的话加一下VX吗
P733000

加你了,月月鸟吗
回复

使用道具 举报

驴友花雕  中级技神
 楼主|

发表于 2021-8-16 14:39:42

本帖最后由 驴友花雕 于 2021-8-16 14:43 编辑

                                            


实验串口绘图器返回情况

【Arduino】168种传感器系列实验(183)VL53L0X激光测距模块图1
  
回复

使用道具 举报

驴友花雕  中级技神
 楼主|

发表于 2021-9-8 07:57:17

Arduino 系列传感器和执行器模块实验目录清单:
一块扩展板完成Arduino的10类37项实验(代码+图形+仿真)
https://mc.dfrobot.com.cn/thread-280845-1-1.html
连杆形式的腿机构十一种:盘点机器人行走背后的机械原理
https://mc.dfrobot.com.cn/thread-308097-1-1.html
【花雕动手做】超低成本,尝试五十元的麦克纳姆轮小车!
https://mc.dfrobot.com.cn/thread-307863-1-1.html
【花雕动手做】超迷你哦,用徽商香烟盒做个智能小车!
https://mc.dfrobot.com.cn/thread-307907-1-1.html
【花雕动手做】太搞笑啦,一支胶管制成二只蠕动机器人
https://mc.dfrobot.com.cn/thread-308046-1-1.html
【花雕动手做】快餐盒盖,极低成本搭建机器人实验平台
https://mc.dfrobot.com.cn/thread-308063-1-1.html
【花雕动手做】特别苗条,使用微波传感器控制的纤细小车
https://mc.dfrobot.com.cn/thread-308866-1-1.html
【花雕动手做】脑洞大开、五花八门的简易机器人66种
https://mc.dfrobot.com.cn/thread-307900-1-1.html

实验一百五十八:QMC5883L电子指南针罗盘模块 三轴磁场传感器GY-271
https://mc.dfrobot.com.cn/thread-308195-1-1.html
实验一百六十三:BMI160 6轴惯性运动传感器 16位3轴加速度+超低功耗3轴陀螺仪  I2C/SPI 14LGA
https://mc.dfrobot.com.cn/thread-310371-1-1.html
实验一百六十五:2.4 英寸 TFT LCD 触摸屏模块 XPT2046 PCB ILI9341 240x320 像素 8 位 SPI 串口显示器
https://mc.dfrobot.com.cn/thread-309803-1-1.html
实验一百七十六:6mm大尺寸8x8LED方块方格点阵模块 可级联 红绿蓝白色 可选8级亮度
https://mc.dfrobot.com.cn/thread-309845-1-1.html
实验一百八十三:GY-530 VL53L0X 激光测距 ToF测距 飞行时间测距传感器模块 IIC通信协议
https://mc.dfrobot.com.cn/thread-310273-1-1.html
实验一百八十五:MAX4466声音传感器 驻极体话筒放大器 麦克风可调功放模块 microphone
https://mc.dfrobot.com.cn/thread-310193-1-1.html
实验一百八十九:TDA1308 硅麦克风 数字咪头放大模块 拾音器放大板 楼氏SUNLEPHANT
https://mc.dfrobot.com.cn/thread-310246-1-1.html
实验一百九十三:TCS34725颜色识别传感器 RGB IIC明光感应模块 ColorSensor
https://mc.dfrobot.com.cn/thread-310209-1-1.html
实验二百:RCWL-0515微波雷达感应开关 人体感应 智能感应探测传感器 12-15米远距离2.7G微波检测模块
https://mc.dfrobot.com.cn/thread-310313-1-1.html
实验二百零三:Air724UG合宙 Cat14G模块 DTU物联网UART串口通信数据TCP透传 核心板组合套餐
https://mc.dfrobot.com.cn/thread-310342-1-1.html
实验二百零九:Gravity: I2C & UART BC20 NB-IoT & GNSS通信模块 NB-IoT广域低功耗无线通信 GPS/北斗精准定位
https://mc.dfrobot.com.cn/thread-310433-1-1.html


回复

使用道具 举报

glwz007  初级技匠

发表于 2021-9-14 11:07:39

谢谢分享!非常详细的教程。
回复

使用道具 举报

驴友花雕  中级技神
 楼主|

发表于 2021-9-14 14:36:12

glwz007 发表于 2021-9-14 11:07
谢谢分享!非常详细的教程。

谢谢鼓励!
回复

使用道具 举报

123
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

为本项目制作心愿单
购买心愿单
心愿单 编辑
[[wsData.name]]

硬件清单

  • [[d.name]]
btnicon
我也要做!
点击进入购买页面
上海智位机器人股份有限公司 沪ICP备09038501号-4

© 2013-2024 Comsenz Inc. Powered by Discuz! X3.4 Licensed

mail