注意,本篇將直接使用GPIO針腳,這是很危險的,搞不好的話會弄壞板子、弄壞板子上的晶片,安全的用法則該使用緩衝板(譬如Mike Cook的Buffer Board)。若你把rpi板子搞壞了,可別說我沒警告你喔。
下圖是rpi的功能區塊圖,左上角就是GPIO的排針。

雖然針腳有26個,但其中6個保留不用,另外有3個是5v、3.3v、0v(GND),所以還有17個針腳可用。

首先是硬體的部份,需製作一條排線,將rpi的針腳接出來。至少需要買一條排線與一個牛角母座。
26線的排線。我買彩色的,比較容易分辨。

牛角母座(2x13),用來壓排線。

將排線平平放進牛角母座的中間,不要突出來。

然後,應該用虎鉗壓緊,但我沒有,於是用鐵鎚敲一敲,嗯,還不錯嘛。

這一端就可以插進rpi的GPIO針腳了。

至於排線的另一端,在這篇裡只需要腳位1(3.3V)與腳位11(GPIO 0),所以我把這兩條線剝皮,腳位1接到紅線,腳位11接到藍紫線。

然後將這兩條線接到麵包板。
紅線(腳位1、3.3V)接LED的正極長腳,
LED負極短腳接1k ohm電阻,
電阻另一腳接藍紫線(腳位11、GPIO 0)。

硬體的部份完成囉。
然後是軟體的部份,將使用RPi.GPIO這套Python程式庫控制GPIO,請到這裡http://pypi.python.org/pypi/RPi.GPIO找到下載網址,我下載的是RPi.GPIO 0.3.1a(RPi.GPIO-0.3.1a.tar.gz)。
下載後解壓縮,
$ tar zxvf RPi.GPIO-0.3.1a.tar.gz
然後切換進入解壓縮後的目錄,以下列指令進行安裝,
$ sudo python setup.py install
但是卻安裝失敗,錯誤訊息說少了Python.h檔,到網路上搜尋後發現需要安裝python-dev這個套件,
$ sudo apt-get install python-dev
然後就能成功安裝RPi.GPIO了。
(目前需要自己手動安裝RPi.GPIO,將來此程式庫應該會被打包成套件。)
(2012.09.27更新:新的映像檔2012-09-18-wheezy-raspbian.img已經內建RPi.GPIO套件。)
接下來要開始寫程式了,請以root身分執行python,
$ sudo python
匯入程式庫,
>>> import RPi.GPIO as GPIO
使用rpi板子的腳位編號,
>>> GPIO.setmode(GPIO.BOARD)
將腳位11(GPIO 0)設為輸出模式,此時LED應該會亮起來,
>>> GPIO.setup(11, GPIO.OUT)
設定為HIGH,LED會熄滅,
>>> GPIO.output(11, GPIO.HIGH)
設定為LOW,LED又會亮起來,
>>> GPIO.output(11, GPIO.LOW)
然後寫個迴圈,讓LED不停閃爍,
>>> while True :
... GPIO.output(11, GPIO.HIGH)
... time.sleep(1)
... GPIO.output(11, GPIO.LOW)
... time.sleep(1)
哇,成功啦,想停止的話請按下Ctrl-C。
後記:
最好還是用虎鉗或老虎鉗壓排線,若用鐵鎚敲可能會敲壞喔,如下所示。
嗚嗚,壞掉啦,壓不緊了。

既然壞了,就拆開看看裡面的樣子吧。

參考資料:
Dr. Monk's DIY Electronics Blog的GPIO LED blink from Python using Slice of Pi。 我用排線接出GPIO針腳,而Dr. Monk使用Slice of Pi這塊擴充板將GPIO腳位接出來。

Raspberry Pi Spy的Simple Guide to the RPi GPIO Header and Pins與Control LED Using GPIO Output Pin,也是以Python程式庫RPi.GPIO以GPIO腳位讓LD閃爍。
RPi.GPIO程式庫的網站。
Hardware lesson with Gert: make your own ribbon cable connector,自己製作排線,比較省錢。
各種牛角母座與牛角公座。我在這篇將排線剝皮直接使用,一般來說會以母座與公座相連接。
Raspberry Pi的GPIO腳位配置。
RPi Low-level peripherals,rpi維基百科裡關於低階周邊的資料。
Tutorial: How to use your Raspberry Pi like an Arduino,以python、bash、c寫程式控制GPIO腳位。
Benchmarking Raspberry Pi GPIO Speed,以shell script、python、c、perl寫程式測試rpi的rpi的速度。
Jeremy's Blog的Raspberry Pi 7 segment displays,驅動七段顯示器。