2013-07-16 1294 views
4

我正在为我的PI开发传感器包。我已经添加了Sparkfun的TMP102温度传感器。在GPIO上,它由引脚1供电,引脚6接地,引脚3和引脚5处理串行数据。我写了一个python脚本来读取数据,一切正常。树莓派GPIO上的多个传感器

我的问题是我现在想要在GPIO上增加第二个传感器,BMP085压力传感器也在Sparkfun的分线板上。我发现的接线示例表明,它需要挂接到与TMP102相同的GPIO引脚。他们都应该注册为串行设备,但我不确定如何将所有内容连接在一起。

我是一个心脏的程序员,所以连接电子设备使人紧张。 :-)

任何建议将不胜感激。

谢谢。

+0

此网站的编程问题。连接一个Pi绝对是主题。 –

+0

够公平的。我可以认为这是在硬件层面编程......但我承认这一点;这个问题对于RPi网站来说有点深刻,我希望吸引一些经验丰富的眼睛的注意力。你有一个相当于Stackoverflow的硬件的建议吗? – codingCat

+0

为了回答我自己的问题,StackExcange现在有自己的硬件/电子站点启动并运行:http://electronics.stackexchange.com/ – codingCat

回答

5

如果您的传感器使用I2C并且看起来像TMP102和BMP085那样,那么您很幸运。

I2C旨在让多个设备共享相同的2线接口。每个设备都必须具有不同的地址,因此您需要确保设备不会发生冲突。您将不得不阅读传感器的数据表或其他文档,以了解如何设置地址。

一旦为每个传感器配置了地址,您应该可以将两个设备连接到相同的SDA和SDL引脚。

+1

谢谢。硬件信息似乎有两个品种。 60页的技术规范假设了完整的知识,并且没有任何解释,或者一页页面的例子假设没有任何知识和解释。无论哪种方式,除非这个例子正是你想要的,你是不幸的。你的回答让我知道,我不会通过将它们连接在一起来炸毁我的Pi或传感器。这给了我一点实验的信心。现在,让我看看我的运气是否成立,他们使用不同的地址。其他任何人希望权衡一些更多的细节? – codingCat

+1

检查Sparkfun产品页面上的bildr链接我认为他们在文本和/或代码示例中具有I2C地址。 – Craig

+0

接线完成。 TMP102在地址44,bmp085在地址77.现在简单的部分是:编码来读取数据。 :-) – codingCat

1

是的,只要没有地址冲突,就可以将多个传感器连接到i2c总线。一个警告:小型电路板(分线板)上的多个传感器会在SDA和SLC线路上拉电阻。由于理论上可能在该总线上添加多达128个传感器,所以多个上拉电阻将成为问题。一个是必需的,两个肯定是好的,但我不知道你可以添加多少后。有必要将它们从分线板上拆下。