http://www.geekfan.net/8972/
本文由 極客范 - Boyd Wang 翻譯自 Adafruit.com。歡迎加入極客翻譯小組,同我們一道翻譯與分享。轉載請參見文章末尾處的要求。
概覽
樹莓派最令人興奮的特點之一是它有一個GPIO連接器可以用來接其他的硬件設備。
GPIO連接器實際上是由許多不同類型的接口組成的:
- 真正的GPIO(General Purpose Input Output,通用輸入/輸出)針腳,你可以用來控制LED燈的開和關。
- I2C(Inter-Integrated Circuit)接口針腳,使你能夠僅使用2個控制針腳連接硬件模塊。
- SPI(Serial Peripheral Interface,串行外設接口)接口用以連接SPI設備,概念上與I2C接口類似,但是標准不同。
- Serial Rx和Tx針腳用於和其他的串行外圍設備通信。
另外,一些針腳可被用於PWM(pulse Width Modulation, 脈沖寬度調制)進行電源控制,以及PPM(Pulse Position Modulation,脈沖位置調制)控制馬達。
在這篇教程裡,你實際上用不著組裝任何東西,但你將學到如何配置你的樹莓派並且安裝有用的類庫來為連接外部電子元件做准備。
GPIO連接器
下面的圖表展示了第一版樹莓派的GPIO連接器的針腳(當這篇文章發布時存在的版本)第二版的只是用27針替換了21針,其他都是一樣的。
除了供電針腳(包括GND,3.3V和5V),所有的GPIO針腳均可被用於數字輸入或輸出。標記為SCL和SDA的針腳可被用於I2C。標記為MOSI,MISO和SCKL的針腳可以用於連接高速SPI設備。
所有針腳有一個3.3V的邏輯電平並且不是5V安全的,所以輸出電平是O-3.3V並且輸入電平也不應高於3.3V。如果想要連接5V的輸出電平作為樹莓派的輸入電平,你需要使用一個電平位移器
一個流行的連接到樹莓派的做法是接一塊擴展板(Pi Cobbler)。
這裡使用了一個帶狀電纜來連接GPIO到一個無焊點的面包板上,這樣你就可以在它上面連接其他電子元件了。
Adafruit Pi Code
為了方便那些想要連接電子元件到他們的小派上的人們,Adafruit編寫了許多可以擴展的非常有用的代碼集合。這包含了大量電子元件的簡單Python類庫,例如顯示,傳感器和PWM控制等等。
要獲得這些代碼,你需要使用一個名為」git」的軟件。這預裝在Occidentalis裡面了,但是在Raspbian上你必須通過在終端裡輸入下面的命令來安裝。
你會在桌面上找到終端LX Terminal的快捷方式。
在我們更加深入之前,先運行一下下面的命令。這將會確保能找到你所要安裝的軟件包並且是最新版本。無論你是在什麼路徑下。
update命令將會花費一點時間,特別是當你第一次在小派上運行的時候。最終它會變成一個命令提示符」$」並且這時已經可以敲下一個命令了。
一旦git安裝完成(如果原來沒有裝過)你就可以使用下面的命令」check out」 Adafruit Pi Python代碼庫到你自己的小派上了。
如果上面的步驟出現了一些問題,你會看到一條錯誤信息。通常導致安裝失敗的原因有以下幾點:
- 網絡連接問題
- 命令拼寫錯誤。要記得Linux下是大小寫敏感的。最好是在樹莓派上直接打開這個頁面,這樣你就只需要復制粘貼就可以了
在這裡你將會找到好多好東東,我們會在今後的教程裡用到它們。
配置GPIO
GPIO針腳可被用於數字輸出和數字輸入。作為數字輸出,你可以寫程序切換某些針的高低電平。如果置為3.3V就是高電平,0V就是低電平。要使得一個針腳控制LED燈,你需要一個1kΩ的電阻連接到LED上,因為GPIO針腳可管理的電量很小。
如果你用針腳作為數字輸入,你可以把開關和簡單的傳感器連到一針上然後檢查它是否打開或關閉(也就是是否激活)。
一些使用GPIO的Adafruit項目:
- http://learn.adafruit.com/raspberry-pi-e-mail-notifier-using-leds
- http://learn.adafruit.com/playing-sounds-and-using-buttons-with-raspberry-pi
- http://learn.adafruit.com/basic-resistor-sensor-reading-on-raspberry-pi
要使用Python對GPIO端口進行編程,我們需要安裝一個十分有用的Python 2 類庫,它叫做Rpi.GPIO。這個Python類庫使我們了能夠十分容易的控制GPIO針腳。
安裝流程對於Raspbian或者Occidentalis來說都是一樣的。實際上,一些版本的Raspbian已經包含了這個類庫,但是也推薦你升級到最新版本,這是值得的。
要安裝RPI.GPIO,你首先需要安裝RPi.GPIO所需的Python Development toolkit。
通過下面的命令來安裝:
然後安裝Rpi.GPIO:
你可能會收到提示,只需要按』Y'確認就行了。
就是這樣了,現在你可以嘗試我上面提到的那些項目了。
配置I2C
I2C是一個廣泛使用的芯片通信設計標准。所以我們可以在樹莓派上連接許多帶I2C接口的芯片和模塊。
以下是一些使用I2C設備和模塊的Adafruit項目:
- http://learn.adafruit.com/mcp230xx-gpio-expander-on-the-raspberry-pi
- http://learn.adafruit.com/adafruit-16×2-character-lcd-plus-keypad-for-raspberry-pi
- http://learn.adafruit.com/adding-a-real-time-clock-to-raspberry-pi
- http://learn.adafruit.com/matrix-7-segment-led-backpack-with-the-raspberry-pi
- http://learn.adafruit.com/mcp4725-12-bit-dac-with-raspberry-pi
- http://learn.adafruit.com/adafruit-16-channel-servo-driver-with-raspberry-pi
- http://learn.adafruit.com/using-the-bmp085-with-raspberry-pi
如果你正在使用Occidentalis,那你的小派已經配置好I2C接口了,如果你使用Raspbian,你需要打開LXTerminal終端窗口並且輸入下面的命令:
並且在文件末尾添加下面兩行:
編輯完成後,你需要重啟來使改動生效。
如果在Raspbian上你的I2C有問題,那最好升級到最新版本。這篇教程的測試版本是2012-10-28。
I2C總線允許你連接多個設備到樹莓派上,每一台設備都有一個唯一地址,這通常可以通過改變模塊上的跳線進行設置。能看到哪台設備連接到你的小派上非常有用,因為這樣可以讓你確保所有事情都正常工作。
要達到這一點,你需要在命令行裡敲入下面的命令來安裝i2c-tools工具。
根據你的發行版,你可能會找到一個這樣的文件:
如果沒有這個文件,那什麼都不用動,如果找到了這個文件,你需要編輯它注釋掉下面兩行:
..通過在行首添加一個』#'來進行注釋。
通過鍵入下面的命令打開編輯器:
..然後像下圖那樣編輯文件,然後使用CTRL+X和CTRL+Y保存退出。
一旦完成,你就可以通過下面的命令看到連接的設備了(假設你使用的是512MB的Model B型樹莓派)
上圖顯示有兩個I2C地址被使用 – 0×40和0×70。
注意如果你還使用的是先前版本的樹莓派(256MB的Model B型)那你需要把命令改為:
樹莓派不同型號的I2C端口不同。所以要記住:512M的小派使用i2c端口1,256MB的使用端口0!
測試和配置
最好的測試方法是挑選一個項目(最好從一個十分簡單的項目開始)然後自己親手試一試。
下面是我推薦的一些可以作為入門項目的教程:
- http://learn.adafruit.com/raspberry-pi-e-mail-notifier-using-leds
- http://learn.adafruit.com/playing-sounds-and-using-buttons-with-raspberry-pi
- http://learn.adafruit.com/matrix-7-segment-led-backpack-with-the-raspberry-pi
原文鏈接: Adafruit.com 翻譯: 極客范 - Boyd Wang
譯文鏈接: http://www.geekfan.net/8972/
[ 轉載請保留原文出處、譯者和譯文鏈接。 ]