在實作之前先來看看 RPI 的 I / O 腳
RPI 上面共有 26 支 GPIO 腳位 ( 2 x 13 ) ,如下圖:
在使用這些腳位的時候要非常小心,因為 RPI 上面並沒有保護電路,所以千萬不能直接輸入
3.3 V 以上的電壓到任一腳位上,運氣好只燒掉 1 支腳 ,運氣不好整塊板子就死掉了!!
所以最好在接到任何負載之前,先接到緩衝器 (Buffer) 或二極體以免回衝。
=======================================================================
接下來就是 GPIO 控制 LED 的部分:
由於這是個簡單的範例,所以就沒有接上保護的電路,直接實作,但是
如果接錯線讓板子燒掉的話,請自行負責喔!!
首先將 3.3V (pin 1) 接到 LED的正端,然後接上保護電阻 (220~1K),
最後接上 GPIO0 (pin 11) ,這樣硬體的部分就完成了,如下圖:
再來就是程式的部分,我是使用 Python 來控制 GPIO:
由於新版的 Raspbian 已經內建 GPIO 套件了,所以不用下載安裝
打開終端機,用 pi 執行以下指令:
sudo python
就會看到下面的訊息
Python 2.7.3 (default, Mar 18 2014, 05:13:23)
[GCC 4.6.3] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>>
先匯入 GPIO & 時間 函式庫
>>>import RPI.GPIO as GPIO
>>>import time
定義使用RPI的腳位編號
>>>GPIO.setmode(GPIO.BOARD)
設定輸出腳位
>>>GPIO.setup(11, GPIO.OUT)
讓 Pin 11 輸出 Low,這個時候就可以看到 LED亮起來了
>>>GPIO.output(11, GPIO.LOW)
讓 Pin 11 輸出 High,這樣就可以關掉LED
>>>GPIO.output(11, GPIO.HIGH)
要離開 Python 要輸入以下命令
>>>exit()
實際影片:
再來就可以把我們剛剛輸入的指令寫成檔案來執行:
vim XXX.py
#!/usr/bin/python import RPi.GPIO as GPIO import time GPIO.setmode(GPIO.BOARD) ledPin=11 print "Setup Pin 11 is Output..." GPIO.setup(ledPin,GPIO.OUT) print "Starting..." while True: GPIO.output(ledPin,GPIO.HIGH) print "Set Output HIGH" time.sleep(1) GPIO.output(ledPin,GPIO.LOW) print "Set Output LOW" time.sleep(1)
存檔後就可以執行以下指令來執行我們的程式:
sudo python XXX.py
實際影片:
沒有留言:
張貼留言