2013-07-16 75 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個傳感器,所以多個上拉電阻將成爲問題。一個是必需的,兩個肯定是好的,但我不知道你可以添加多少後。有必要將它們從分線板上拆下。