Arduino驱动VL6180X光学测距传感器(OLED显示)

news2024/11/26 16:41:45

Arduino驱动VL6180X光学测距传感器(OLED显示)

  • 简介
    • 原理
    • 模块参数
    • 接线图
    • 代码
    • 结果

简介

VL6108X三合一光电模块,芯片内集成了IR VSEL(vertical-cavity surface-emitting laser)红外垂直腔面发射激光器光源、接近传感器、环境光传感器(ALS)。这是一项突破性的技术,可以独立于目标反射率来测量绝对距离。VL6180不是通过测量物体反射回来的光量来估计距离(这很大程度上受颜色和表面的影响),而是精确地测量光到达最近的物体并反射回传感器所需的时间。
在这里插入图片描述

原理

VL6180X模块使用飞行时间(ToF)测量原理实现了接近传感器;VL6180X含有SPAD(单光子雪崩二极管)检测器阵列,它能检测单个光子从发射到接触目标然后返回模块的时间,与信号幅度结合计算出实际距离,而不依赖物体的反射率,此实际距离测量能力亦可产生简单但可靠的一维手势控制。
在这里插入图片描述

在这里插入图片描述

模块参数

红外激光器器波长:850nm
通信接口:IIC(400kHz),地址0x29(7位),两个可编程GPIO
最佳工作温度:-10~60℃
测距性能参数:
测距(接近)范围:0~100mm 误差13mm 某些外部环境条件下,例如黑暗环境下可超过100mm
温度漂移:9~15mm 电压漂移:3~5mm
转换时间:15ms
环境光传感性能参数:
环境光范围:1~100kLux 16位输出
环境光增益范围:1~40(八级)
环境光灵敏度:0.36Lux/count(535nm LED @ 1 kLux. Measured @ gain 20)
角度响应:42度
线性误差:5%(1~300Lux),10%(300~7500Lux)
增益误差:1%(增益20),7%(增益1~10)

接线图

ArduinoVL6180XOLED
5VVCCVCC
GNDGNDGND
A4SDASDA
A5SCLSCL

代码

#include <Wire.h>
#include "MHEtLive_VL6180X.h"

MHEtLive_VL6180X vl = MHEtLive_VL6180X();

#include <Adafruit_SSD1306.h>  //1306的库文件
#define OLED_RESET 13                   //设置复位是13号引脚
Adafruit_SSD1306 display(OLED_RESET);
void setup() {
  Serial.begin(115200);
 
 display.begin(SSD1306_SWITCHCAPVCC,0x3C); //刷新
  display.clearDisplay(); //清屏
  display.setTextColor(WHITE);   //字体白色
  display.display();  //显示

  // wait for serial port to open on native usb devices
  while (!Serial) {
    delay(1);
  }
 
  Serial.println("MHEtLive VL6180x test!");
  if (! vl.begin()) {
    Serial.println("Failed to find sensor");
    while (1);
  }
  Serial.println("Sensor found!");
}

void loop() {

  
  
  float lux = vl.readLux(VL6180X_ALS_GAIN_5);

  //Serial.print("Lux: "); Serial.println(lux);
  
  uint8_t range = vl.readRange();
  uint8_t status = vl.readRangeStatus();

  if (status == VL6180X_ERROR_NONE) {  
    Serial.print("Range: "); Serial.println(range);
 //*****************************************************
        display.setTextSize(1);       //字体大小为2号
        display.setCursor(35,0); 
        display.print("VL6180");
        display.setCursor(0,12); 
        display.print("Range:");
        display.print(range);
   
//*****************************************************  
  }

结果

串口显示:
在这里插入图片描述
OLED显示:

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1342743.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

《网络是怎样连接的》1.2、1.3、1.4节图表(自用)

图2.1&#xff1a;浏览器调用socket库中的解析器&#xff0c;向DNS服务器询问域名的ip地址 &#xff08;图中的gethostbyname是解析器的名称&#xff1b;协议栈是操作系统的网络控制软件&#xff0c;也称协议驱动、TCP/IP驱动&#xff09; 图2.2 DNS服务器根据客户端查询信息查…

解析Web自动化测试工具能做什么?

随着互联网的蓬勃发展&#xff0c;Web应用程序在我们生活和工作中扮演着愈发重要的角色。为确保这些Web应用程序的质量、稳定性和安全性&#xff0c;Web自动化测试工具应运而生。本文将介绍Web自动化测试工具的多重功能&#xff0c;以及它们如何在软件开发生命周期中发挥关键作…

分享一套超有价值的JAVA开源MES系统

商业开源的一套超有价值的JAVA制造执行MES系统源码 亲测 带本地部署搭建教程 教你如何在本地运行运行起来。 开发环境&#xff1a;jdk11tomcatmysql8springbootmaven 需要源码&#xff0c;私信我获取。 一、系统概述&#xff1a; MES制造执行系统&#xff0c;其定位于制造执…

OKCC语音机器人的人机耦合来啦

目前市场上语音机器人的外呼形式基本就分为三种&#xff0c;一种纯AI外呼&#xff0c;第二种也是目前主流的AI外呼转人工。那么第三种也可能是未来的一种趋势&#xff0c;人机耦合&#xff0c;或者也叫人机协同。 那么什么是人机耦合呢&#xff1f; 人机耦合是为真人坐席创造相…

springCould中的OpenFeign-从小白开始【6】

目录 1.简单介绍❤️❤️❤️ 2.能干嘛❤️❤️❤️ 3.简单入门 ❤️❤️❤️ 4.超时控制 ❤️❤️❤️ 5.日志打印❤️❤️❤️ 1.简单介绍❤️❤️❤️ OpenFeign是一个用于微服务架构中的声明式、模板化的HTTP客户端库。它简化了编写服务间通信的代码&#xff0c;使得开…

nrm的保姆级使用教程

&#x1f4e2; 鸿蒙专栏&#xff1a;想学鸿蒙的&#xff0c;冲 &#x1f4e2; C语言专栏&#xff1a;想学C语言的&#xff0c;冲 &#x1f4e2; VUE专栏&#xff1a;想学VUE的&#xff0c;冲这里 &#x1f4e2; CSS专栏&#xff1a;想学CSS的&#xff0c;冲这里 &#x1f4…

Linux开发工具——gdb篇

Linux下调试工具——gdb 文章目录 makefile自动化构建工具 gdb背景 gdb的使用 常用命令 总结 前言&#xff1a; 编写代码我们使用vim&#xff0c;编译代码我们使用gcc/g&#xff0c;但是我们&#xff0c;不能保证代码没问题&#xff0c;所以调试是必不可少的。与gcc/vim一样&…

Oracle 拼接字符串

语法 使用||拼接如果内容中有单引号&#xff0c;则可在该单引号前面再加一个单引号进行转义 例子 比如有一个业务是根据需要生成多条插入语句 select insert into des_account_des_role(des_account_id, roles_id) values( || id || , || (select id from des_role where wo…

统一入口,全面提升工作效率,WorkPlus超级APP引领数字化办公新潮流

在数字化办公的时代&#xff0c;企业往往面临着多个应用管理的挑战。员工需要在众多应用之间切换&#xff0c;记忆不同的登录凭证&#xff0c;这不仅分散了注意力&#xff0c;还降低了工作效率。为了应对这一问题&#xff0c;企业需要一站式的解决方案&#xff0c;通过整合繁杂…

【Linux】chage命令使用

chage命令 chage用来更改linux用户密码到期信息&#xff0c;包括密码修改间隔最短、最长日期、密码失效时间等。 语法 chage [参数] 用户名 chage命令 -Linux手册页 选项及作用 执行令 &#xff1a; chage --help 执行命令结果 参数 -d, --lastday 最近日期 …

C++ Qt开发:SqlRelationalTable关联表组件

Qt 是一个跨平台C图形界面开发库&#xff0c;利用Qt可以快速开发跨平台窗体应用程序&#xff0c;在Qt中我们可以通过拖拽的方式将不同组件放到指定的位置&#xff0c;实现图形化开发极大的方便了开发效率&#xff0c;本章将重点介绍SqlRelationalTable关联表组件的常用方法及灵…

卖家速进!海外社媒矩阵玩起来,让你拥有海量曝光!

作为跨境人&#xff0c;我们都知道利用海外社交媒体去引流&#xff0c;像现在这么多拥有庞大流量的社媒平台&#xff0c;想获得更好的引流效果&#xff0c;那就离不开做社媒矩阵了&#xff0c;打造社交媒体矩阵可以为卖家建立更优流量池&#xff0c;今天龙哥就分享有关社媒矩阵…

Java智慧工地源码,Spring Cloud +UniApp +MySql技术开发,支持多端展示

智慧工地解决方案依托计算机技术、物联网、云计算、大数据、人工智能、VR&AR等技术相结合&#xff0c;为工程项目管理提供先进技术手段&#xff0c;构建工地现场智能监控和控制体系&#xff0c;弥补传统方法在监管中的缺陷&#xff0c;最线实现项目对人、机、料、法、环的全…

JavaScript之常用的事件

文章目录 前言为什么使用事件呢?常用的触发事件窗口事件onbluronfocusonresize窗口加载事件 表单事件onchangeoninput 键盘事件onkeydownonkeyup 鼠标事件onclickondblclickonmousemoveonmouseoutonscroll 总结窗口事件总结表单事件总结键盘事件总结鼠标事件总结 前言 在网页中…

京东年度数据报告-2023全年度烘干机十大热门品牌销量榜单

相较于洗衣机&#xff0c;烘干机市场虽然起步较晚&#xff0c;但在消费升级的浪潮中&#xff0c;烘干机的价值越来越被更多的家庭认可和信赖&#xff0c;行业整体也越来越成熟。不过&#xff0c;随着市场的趋向饱和&#xff0c;烘干机市场的增长也日趋乏力&#xff0c;2023年烘…

Redis:原理速成+项目实战——初识Redis、Redis的安装及启动、Redis客户端

&#x1f468;‍&#x1f393;作者简介&#xff1a;一位大四、研0学生&#xff0c;正在努力准备大四暑假的实习 &#x1f30c;上期文章&#xff1a;首期文章 &#x1f4da;订阅专栏&#xff1a;Redis速成 希望文章对你们有所帮助 在此之前&#xff0c;我做过的项目里面也用到了…

引领创业新风潮,花为缘享奢二手奢侈品买卖如何突出重围脱颖而出

数据显示&#xff0c;中国消费者的奢侈品消费金额占全球的份额从2000年的1%左右提升到2017年的33%。奢侈品消费的主战场仍是品牌发源地的欧洲和美国&#xff0c;中国消费者奢侈品消费规模全球第一。奢侈品逆势增长与持续涨价这件事&#xff0c;无疑预示着二级奢侈品转售市场将迎…

HarmonyOS 组件生命周期

接下来 我们来说组件生命周期 组件包括两个生命周期 aboutToAppear 组件准备加载时触发 aboutToDisappear 组件销魂时触发 我们组件编写代码如下 Entry Component struct Index {State state:boolean true;build() {Row() {Column() {if(this.state){subassembly()}Button(…

66biolinks v42.0.0 已注册 – 生物短链接、URL 缩短器、QR 码和 Web 工具 (SAAS) 源码

66biolinks v42.0.0&#xff1a;全能生物短链接与网络工具平台 一、开篇介绍 66biolinks v42.0.0是一款集生物链接、URL缩短器、二维码和网络工具于一体的综合性软件解决方案。作为社交生物链接平台的佼佼者&#xff0c;66biolinks提供了全方位的功能&#xff0c;旨在满足用户…