首页 > 编程语言 >【雕爷学编程】Arduino动手做(158)---VL53L0X激光测距模块3

【雕爷学编程】Arduino动手做(158)---VL53L0X激光测距模块3

时间:2023-07-11 14:00:42浏览次数:45  
标签:动手做 Arduino 158 编程 模块 address VL53L0X Serial display

37款传感器与执行器的提法,在网络上广泛流传,其实Arduino能够兼容的传感器模块肯定是不止这37种的。鉴于本人手头积累了一些传感器和执行器模块,依照实践出真知(一定要动手做)的理念,以学习和交流为目的,这里准备逐一动手尝试系列实验,不管成功(程序走通)与否,都会记录下来—小小的进步或是搞不掂的问题,希望能够抛砖引玉。

 

【Arduino】168种传感器模块系列实验(资料代码+仿真编程+图形编程)

实验一百五十八:GY-530 VL53L0X 激光测距 ToF测距 飞行时间测距传感器模块 IIC通信协议

 

【Arduino】168种传感器模块系列实验(资料代码+仿真编程+图形编程)

  实验一百五十八:GY-530 VL53L0X 激光测距 ToF测距 飞行时间测距传感器模块 IIC通信协议

  项目之七:查询VL53L0X模块和SSD1306 OLED模块的IIC地址

  实验开源代码

 

/*

 【Arduino】168种传感器模块系列实验(资料代码+仿真编程+图形编程)

  实验一百五十八:GY-530 VL53L0X 激光测距 ToF测距 飞行时间测距传感器模块 IIC通信协议

 项目之七:查询VL53L0X模块和SSD1306 OLED模块的IIC地址

 模块接线:

 VL53L0X Arduino

 VCC    5V

 GND    GND

 SCL    A5

 SDA    A4

*/



#include <Wire.h>

void setup()

{

 Wire.begin();

 Serial.begin(9600);

 while (!Serial);       // Leonardo: wait for serial monitor

 Serial.println("\nI2C Scanner");

}

void loop()

{

 byte error, address;

 int nDevices;

 Serial.println("Scanning...");

 nDevices = 0;

 for (address = 1; address < 127; address++ )

 {

  // The i2c_scanner uses the return value of

  // the Write.endTransmisstion to see if

  // a device did acknowledge to the address.

  Wire.beginTransmission(address);

  error = Wire.endTransmission();

  if (error == 0)

  {

   Serial.print("I2C device found at address 0x");

   if (address < 16)

    Serial.print("0");

   Serial.print(address, HEX);

   Serial.println(" !");

   nDevices++;

  }

  else if (error == 4)

  {

   Serial.print("Unknown error at address 0x");

   if (address < 16)

    Serial.print("0");

   Serial.println(address, HEX);

  }

 }

 if (nDevices == 0)

  Serial.println("No I2C devices found\n");

 else

  Serial.println("done\n");

 delay(5000);      // wait 5 seconds for next scan

}

  

实验串口返回情况

 

 【Arduino】168种传感器模块系列实验(资料代码+仿真编程+图形编程)

  实验一百五十八:GY-530 VL53L0X 激光测距 ToF测距 飞行时间测距传感器模块 IIC通信协议

  项目之八:使用 VL53L0X 进行范围测量并在 SSD1306 OLED 上显示(mm)

  实验开源代码

 

/*

 【Arduino】168种传感器模块系列实验(资料代码+仿真编程+图形编程)

 实验一百五十八:GY-530 VL53L0X 激光测距 ToF测距 飞行时间测距传感器模块 IIC通信协议

 项目之八:使用 VL53L0X 进行范围测量并在 SSD1306 OLED 上显示(mm)

 模块接线:SSD1306 OLED模块相同

 VL53L0X Arduino

 VCC    5V

 GND    GND

 SCL    A5

 SDA    A4

*/

#include <Wire.h>

#include "Adafruit_VL53L0X.h"

#include <SPI.h>

#include <Adafruit_GFX.h>

#include <Adafruit_SSD1306.h>

Adafruit_SSD1306 display = Adafruit_SSD1306();

Adafruit_VL53L0X lox = Adafruit_VL53L0X();

#if (SSD1306_LCDHEIGHT != 32)

#error("Height incorrect, please fix Adafruit_SSD1306.h!");

#endif

void setup() {

 Serial.begin(9600);

 display.begin(SSD1306_SWITCHCAPVCC, 0x3C); // initialize with the I2C addr 0x3C (for the 128x64)

 // init done

 display.display();

 delay(1000);

 Wire.begin();

 if (!lox.begin()) {

  Serial.println(F("Failed to boot VL53L0X"));

  while (1);

 }

 // text display big!

 display.setTextSize(4);

 display.setTextColor(WHITE);

}

void loop() {

 VL53L0X_RangingMeasurementData_t measure;

 lox.rangingTest(&measure, false); // pass in 'true' to get debug data printout!

 if (measure.RangeStatus != 4) { // phase failures have incorrect data

  display.clearDisplay();

  display.setCursor(0, 0);

  display.print(measure.RangeMilliMeter);

  display.print("mm");

  display.display();

  Serial.println();

  delay(50);

 } else {

  display.display();

  display.clearDisplay();

  return;

 }

}

  

Arduino实验场景图

 

 

 

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

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

实验串口输出情况

 

 

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

项目之十:串口显示VL53L0X测距波形

 

实验串口绘图器返回情况

 

 

标签:动手做,Arduino,158,编程,模块,address,VL53L0X,Serial,display
From: https://www.cnblogs.com/eagler8/p/17544452.html

相关文章

  • 【雕爷学编程】Arduino动手做(158)---VL53L0X激光测距模块2
    37款传感器与执行器的提法,在网络上广泛流传,其实Arduino能够兼容的传感器模块肯定是不止这37种的。鉴于本人手头积累了一些传感器和执行器模块,依照实践出真知(一定要动手做)的理念,以学习和交流为目的,这里准备逐一动手尝试系列实验,不管成功(程序走通)与否,都会记录下来—小小的进步或是搞......
  • 【雕爷学编程】Arduino动手做(158)---VL53L0X激光测距模块
    37款传感器与执行器的提法,在网络上广泛流传,其实Arduino能够兼容的传感器模块肯定是不止这37种的。鉴于本人手头积累了一些传感器和执行器模块,依照实践出真知(一定要动手做)的理念,以学习和交流为目的,这里准备逐一动手尝试系列实验,不管成功(程序走通)与否,都会记录下来—小小的进步或是搞......
  • 【雕爷学编程】Arduino动手做(141)---AS608光学指纹识别模块2
    37款传感器与执行器的提法,在网络上广泛流传,其实Arduino能够兼容的传感器模块肯定是不止这37种的。鉴于本人手头积累了一些传感器和执行器模块,依照实践出真知(一定要动手做)的理念,以学习和交流为目的,这里准备逐一动手尝试系列实验,不管成功(程序走通)与否,都会记录下来—小小的进步或是搞......
  • CF1585F Non-equal Neighbours - 容斥 - dp - 单调栈
    题目链接:https://codeforces.com/problemset/problem/1585/F题解:难难难考虑容斥:设\(A_i\)表示\(b_i\neqb_{i+1}\)(\(i=1,2,\cdots,n-1\))时对应的\(\{b_i\}\)方案的答案那么答案就是$$\bigcap_{{i=1}}^{n}A_{i}=|U|-\left|\bigcup_{i=1}^n\overline{A_i}\right|$$......
  • 【雕爷学编程】Arduino动手做(153)---2.4寸TFT液晶触摸屏模块8
    37款传感器与执行器的提法,在网络上广泛流传,其实Arduino能够兼容的传感器模块肯定是不止这37种的。鉴于本人手头积累了一些传感器和执行器模块,依照实践出真知(一定要动手做)的理念,以学习和交流为目的,这里准备逐一动手尝试系列实验,不管成功(程序走通)与否,都会记录下来—小小的进步或是搞......
  • 【雕爷学编程】Arduino动手做(153)---2.4寸TFT液晶触摸屏模块6
    37款传感器与执行器的提法,在网络上广泛流传,其实Arduino能够兼容的传感器模块肯定是不止这37种的。鉴于本人手头积累了一些传感器和执行器模块,依照实践出真知(一定要动手做)的理念,以学习和交流为目的,这里准备逐一动手尝试系列实验,不管成功(程序走通)与否,都会记录下来—小小的进步或是搞......
  • 【雕爷学编程】Arduino动手做(153)---2.4寸TFT液晶触摸屏模块5
    37款传感器与执行器的提法,在网络上广泛流传,其实Arduino能够兼容的传感器模块肯定是不止这37种的。鉴于本人手头积累了一些传感器和执行器模块,依照实践出真知(一定要动手做)的理念,以学习和交流为目的,这里准备逐一动手尝试系列实验,不管成功(程序走通)与否,都会记录下来—小小的进步或是搞......
  • 【雕爷学编程】Arduino动手做(156)---OTTO两足舵机机器人
    37款传感器与执行器的提法,在网络上广泛流传,其实Arduino能够兼容的传感器模块肯定是不止这37种的。鉴于本人手头积累了一些传感器和执行器模块,依照实践出真知(一定要动手做)的理念,以学习和交流为目的,这里准备逐一动手尝试系列实验,不管成功(程序走通)与否,都会记录下来—小小的进步或是搞......
  • 【雕爷学编程】Arduino动手做(154)---AFMotor电机扩展板模块3
    37款传感器与执行器的提法,在网络上广泛流传,其实Arduino能够兼容的传感器模块肯定是不止这37种的。鉴于本人手头积累了一些传感器和执行器模块,依照实践出真知(一定要动手做)的理念,以学习和交流为目的,这里准备逐一动手尝试系列实验,不管成功(程序走通)与否,都会记录下来—小小的进步或是搞......
  • 【雕爷学编程】Arduino动手做(154)---AFMotor电机扩展板模块2
    37款传感器与执行器的提法,在网络上广泛流传,其实Arduino能够兼容的传感器模块肯定是不止这37种的。鉴于本人手头积累了一些传感器和执行器模块,依照实践出真知(一定要动手做)的理念,以学习和交流为目的,这里准备逐一动手尝试系列实验,不管成功(程序走通)与否,都会记录下来—小小的进步或是搞......