当前位置:首页 > 工业控制 > 电路设计项目集锦
[导读]该项目使用带有 TF-Luna 激光雷达传感器的 Arduino Uno 来实时测量距离。Arduino 通过 I2C 从 TF-Luna 读取距离数据并对其进行处理。测量得到的距离随后通过 XBee S2C 模块进行无线传输。

该项目使用带有 TF-Luna 激光雷达传感器的 Arduino Uno 来实时测量距离。Arduino 通过 I2C 从 TF-Luna 读取距离数据并对其进行处理。测量得到的距离随后通过 XBee S2C 模块进行无线传输。

在接收端,另一个与系统(Arduino/PC)相连的 XBee 模块会接收传输的数据,并显示或记录距离信息。

该装置提供了一种简单的无线距离监测系统,无需在感应单元和接收单元之间进行物理连接。它可用于基本的远程监测、障碍物检测或监控应用。

项目概述

•内容类型:硬件/物联网

•平台:Arduino 单元(ATmega328P)

•IDE:Arduino IDE

•配置工具:迪吉·XCTU

•协议:I2C(TF-Luna 激光雷达)+ UART(Xbee)

设备与组件

•微控制器

•Arduino UNO(采用 ATmega328P 芯片,工作电压为 5 伏)

传感器

•Benewake TF-Luna 激光雷达——测量范围为 0.2 米至 8 米,支持 I2C 或 UART 接口

无线的

•Digi XBee S2C(ZigBee)

•适用于 3.3 伏逻辑电平转换的 XBee 探针板/护板(推荐使用)

被动元件及配件

•跳线(M-M 和 M-F)

•面包板

•USB转串口适配器(适用于连接至电脑的接收型 XBee 设备)

软件与工具

•Arduino IDE — 软件开发与串行监视器

•Digi·XCTU — 蓝牙模块固件更新及 AT 模式配置

•Wire.h — 内置的 Arduino I2C 库(无需单独安装)

•SoftwareSerial.h — 用于控制 XBee 的发送/接收功能

其工作原理:

该项目通过使用以 I2C 模式运行的 TF-Luna 激光雷达传感器(地址为 0x10)来持续测量距离实现。Arduino Uno 使用 Wire 库初始化 I2C 总线,并在循环内部发送一个命令(0x00)以向传感器请求测量数据。然后,它从 TF-Luna 请求 7 个字节的数据,并在读取这些字节到数组之前检查是否所有字节都已可用。通过使用位移运算将两个字节组合起来计算距离:(data[1] << 8) | data[0],同时也以类似的方式提取信号强度。测量到的距离会打印到串行监视器中以用于调试,然后使用 snprintf 将其转换为格式化字符串(例如,“ D 120\n”)。这个字符串通过 XBee 模块使用软件串口(在引脚 2(RX)和 3(TX)上)以 9600 波特速率无线传输。由于 XBee 正在以透明(AT)模式运行,它直接将接收到的串行数据无线传输。在接收端,另一个 XBee 模块将相同的数据输出到连接的系统中,从而实现实时无线距离监测。循环以 1 秒的延迟运行,定期发送更新的距离值。

布线与引脚连接

TF-Luna 与 Arduino Uno(I2C)之间的连接

•SDA → A4 : I2C 数据

•SCL → A5 : I2C 时钟

•GND → GND :公共接地点

•VCC(5V)→ 5V:电源供应器

Xbee S2C 与 Arduino Uno(软件串口)

•DOUT(TX)→ D2 :Xbee 发送 → Arduino 接收

•DIN(RX)→ D3:Arduino 发送 → XBee 接收

•GND → GND :公共接地点

•VCC(3.3V)→ 3.3V:电源(使用稳压后的 3.3V)

使用 XCTU 进行 XBee 配置

在使用之前,请先通过 XCTU 对 Xbee 进行配置。

代码概述

分步操作:

1. 图书馆与设置

2. 设置功能

3. 从 TF-Luna 获取数据

4. 从传感器读取数据

5. 提取距离与信号

6. 调试输出

7. 对 Xbee 数据进行格式化处理

8. 通过 XBee 发送

9. 延误

完整流程

TF-Luna(I2C)

↓

Arduino 读取 7 个字节

↓

提取距离

↓

转换为字符串

↓

通过软件串口发送(使用引脚 3)

↓

XBee 发射器 )) ) XBee 接收器

↓

接收器显示“D 120”

注释

注意事项:

- 仅使用 3.3 伏电源为 XBee 模块供电 - 确保线路连接正确并保持公共接地端连接良好

提示:

使用 Digi XCTU 配置 XBee 之前,请先进行设置 - 使用串行监视器进行调试 - 保持数据格式简单以便于解析

补充说明: - 若通信失败,请检查波特率和发送/接收连接 - 避免信号干扰以获得更好的无线性能 - 可通过添加多个传感器或节点来扩展系统

本文编译自hackster.io

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除( 邮箱:macysun@21ic.com )。
关闭