【问题标题】:How to read analog data from GPIO, Android-things如何从 GPIO、Android-things 读取模拟数据
【发布时间】:2017-03-20 13:27:50
【问题描述】:

尝试从 gpio 读取模拟数据,但只看到一种将信号强度返回为 LOW 或 HIGH(布尔值)的方式。 在文档和代码参考中找不到任何解决方案。 现在甚至可能吗?

【问题讨论】:

  • 可以指定您使用的引脚并粘贴您的代码吗?
  • 例如 BCM13 (Rpi 3),但没有代码,只是找不到如何从那里读取非布尔值
  • 我在我的原始答案中添加了有趣的博文,展示了如何为 Android Things 构建自己的 ADC 模块(这篇文章的作者包含了使用它的 Android 库)。您可能会发现这很有用。
  • 解决我的问题:如果您有一个 Arduino 到 RPI 并使用通过 UART 转换的模拟输入/输出,您可以将 Arduino 连接,为此发表了一篇文章:article link
  • 太棒了!明天试试!

标签: android-things


【解决方案1】:

Raspberry Pi 3 没有analog-to-digital converter,因此您只能从其GPIO 获取布尔值(高/低)。因此,为了获得模拟数据,您需要在项目中使用外部 ADC 模块。

编辑:我发现 this interesting blogpost 展示了如何在 Android Things 上测量模拟输入。

【讨论】:

    【解决方案2】:

    对于 Raspberry Pi,您需要使用 ADS1115 等模数转换器。

    【讨论】:

    【解决方案3】:

    如果您还在寻找,我为 Adafruit MCP3008 ADC 编写了一个类和示例

    https://github.com/PaulTR/AndroidThingsMCP3008ADC

    【讨论】:

    • 嗨,保罗,使用 TMP36,通道 0 读取的读数为 257,我认为根据我的室温这是不正确的,我刚刚使用了具有相同引脚配置的 MCP3008 代码。有什么建议可能是错的吗?
    • @MahendraChhimwal 如果这是直接读数,您可能需要将其转换为温度。你可能想要 (value - 50) / 10,这应该给你 20.7C,大约是 70F。
    猜你喜欢
    • 1970-01-01
    • 2017-11-24
    • 1970-01-01
    • 2010-10-14
    • 2021-05-01
    • 1970-01-01
    • 2017-09-07
    • 1970-01-01
    • 2012-03-13
    相关资源
    最近更新 更多