This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] HDC2022:通过 I2C 多路复用器从多个传感器读取数据

Guru**** 1133870 points
Other Parts Discussed in Thread: HDC2080, HDC2022
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/sensors-group/sensors/f/sensors-forum/1183150/hdc2022-reading-data-from-multiple-sensors-through-i2c-multiplexer

器件型号:HDC2022
主题中讨论的其他器件:HDC2080

您好!

我已将2个传感器# HDC2022 (ADDR = 0x40和0x41)连接到 1个8 I2C 多路复用器(PCA9548至 Arduino -总共= 16个传感器)的每个输出、并尝试逐一从所有传感器读取数据。 是否有人可以共享用于从多个传感器读取数据的示例代码? 我使用的是 HDC2080库、能够从一个传感器读取数据。

此致、

Veera

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Veera -  

    感谢您发帖!  

    在这里、您需要 (通过每个通道在每个环路上)复制地址0x40的代码、并在轮询0x40之后添加地址0x41。 然后、您需要命令 PCA9548切换通道并重复该循环。 (由于 PCA 设备通道的默认状态均已禁用,因此我假设您已向特定通道发出命令,正如您所说的,您已经能够在0x40处与设备通信。) 然后再切换和循环六次、以从所有16个器件捕获数据。  

    具体而言、对于多路复用器、要寻址下一个通道(如果您使用命令字节0x01从 PCA9548的通道0开始)、您将发送0x02、以开启通道1并关闭通道0。  请参阅 此处的第16和17页:https://www.ti.com/lit/ds/symlink/pca9548a.pdf 

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    谢谢 Josh。 我已修改代码并尝试编译代码、但多次初始化/调用以下函数"HDC2080传感器(0x41)"时、我会遇到错误。 通过电子邮件向您发送了代码。 请看一下、并告诉我这个问题。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    Veera -  

    请在下面找到附件和图片、以帮助您组织代码、从而通过多路复用器完成部件设置和使用。  

    e2e.ti.com/.../4745.HDC2_5F00_PCA9548_5F00_Mux_5F00_logic.pdf

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    Veera -

    我能够挖掘出一个巨型2560、并为您绘制了这张草图、这是对两个 HDC2传感器的一秒循环读取、一个在地址0x40上、另一个在0x41上。 我用我的硬件测试了这一点。 您仍需要添加特定于 PCA 的代码和循环,当然还有测试。 请告诉我、如果您使其正常工作/或通过回复或重新发布而卡住。   

    e2e.ti.com/.../0x40_5F00_0x41_5F00_HDC20xx_5F00_Example_5F00_12_5F00_2022.ino

    这是 UART 上的输出、因此您可以将其作为 csv 进行记录、并在终端前面添加时间戳、同时仍以逗号正确分隔