樹莓派的優勢在於Liunx操作系統加GPIO口,其中IO口時物聯網組成中不可缺少的,高低電平的控制是很有必要的存在,再加有python的支持,玩轉GPIO相對就容易多了
管腳編號
BCM: 編號側重 CPU 寄存器,根據 BCM2835 的 GPIO 寄存器編號。
wpi: 編號側重實現邏輯,把擴展 GPIO 端口從 0 開始編號,這種編號方便編程。正如下圖 WiringPi 欄。
引腳物理編號排序:方形焊接口為1腳,兩兩為序,先短后長

配置GIPO為輸出
1、首先對 RPi.GPIO 進行設置
|
|
2、設置某個輸出針腳狀態為高電平:
|
|
3、設置某個輸出針腳狀態為低電平:
|
|
4、程序結束后進行清理
|
|
注意,您可以讀取使用 input() 函數設置的輸出通道的當前狀態。例如對輸出進行切換:
|
|
配置GIPO為輸入:
1、首先對 RPi.GPIO 進行設置:
|
|
2、判斷輸入電平狀態:
GPIO.input(12)#返回0/GPIO.LOW/False/1/GPIO.HIGH/True |
3、上下拉配置:
| GPIO.setup(12, GPIO.IN, pull_up_down=GPIO.PUD_UP)//上拉 # 或者 GPIO.setup(12, GPIO.IN, pull_up_down=GPIO.PUD_DOWN)//下拉 |
4、輪詢檢測:
|
|
5、邊緣檢測1: GPIO.RISING(上升)、GPIO.FALLING(下降)、GPIO.BOTH(兩者均可)
|
|
6、邊緣檢測2:
|
|
7、程序結束后進行清理
| GPIO.cleanup() #釋放引腳 |
配置GIPO的PWM輸出:
1、首先對 RPi.GPIO 進行設置:
| import RPi.GPIO as GPIO GPIO.setmode(GPIO.BOARD) GPIO.setup(12, GPIO.OUT)#輸出 p = GPIO.PWM(12, 50) #創建一個 PWM 實例:通道,頻率(一般為50HZ,可為100HZ) |
2、啟用 PWM:
| p.start(dc) # dc 代表占空比(范圍:(熄滅)0.0 <= dc >= 100.0(最亮)) |
3、更改頻率:
| p.ChangeFrequency(freq) # freq 為設置的新頻率,單位為 Hz |
4、更改占空比:
| p.ChangeDutyCycle(dc) # 范圍:0.0 <= dc >= 100.0 |
5、停止PWM:
| p.stop() #停止 PWM GPIO.cleanup()#釋放 |
一次性設置多個引腳
|
