場景介紹
掌握GPIO引腳連接雙色LED模塊,編寫Python程序代碼,實現GPIO控制點亮雙色LED燈!
窗口查看引腳編號
1、在終端輸入指令:pinout
2、使用樹莓派輸入gpio readall命令查看pin狀態
輸入以下命令安裝Git
sudo apt install git-core
安裝樹莓派的Wiring Pi庫函數
樹莓派要操作GPIO口也是需要借用庫函數來實現的,名稱叫做Wiring Pi,它使用C和C++開發并且可以被python、ruby或者PHP等其他語言包轉。
樹莓派的官方系統是沒有自帶Wiring Pi庫的,需要我們自行安裝
輸入以下命令,將 WiringPi 文件下載到樹莓派系統的當前目錄
sudo git clone https://github.com/WiringPi/WiringPi
耐心等待其安裝完成。下載完成后,我們可以在當前目錄下看到一個WiringPi文件夾。
● 輸入以下命令進入 WiringPi 文件夾目錄。
cd WiringPi
● 輸入以下命令安裝 WiringPi。
sudo ./build
耐心等待安裝完成,當我們看到下面的界面沒有任何錯誤時候,就意味著安裝完成。
3、查看gpio版本,控制臺輸入如下命令:
gpio -v
最后,我們可以看到樹莓派各個管腳的狀態,輸入指令:
gpio readall
4、使用RPi.GPIO模塊
RPi.GPIO是Python的一個模塊,樹莓派默認已經安裝了該模塊。下面介紹如何使用Python的RPi.GPIO模塊控制GPIO。
1、導入RPi.GPIO模塊
import RPi.GPIO as GPIO
2、設置指定模式(強制)管腳編號
GPIO.setmode(GPIO.BOARD) #物理引腳編碼
3、設置禁用警告
如果GRIO檢測到一個引腳已經被設置成了非默認值,可以使用setwarnings()關閉警告信息。
GPIO.setwarnings(False)
4、設置引腳輸入和輸出
要將通道配置為輸入:
GPIO.setup(channel, GPIO.IN)
要將通道設置為輸出,請調用:
GPIO.setup(channel, GPIO.OUT)
為輸出通道指定一個初始值:
GPIO.setup(channel, GPIO.OUT, initial=GPIO.HIGH)
將通道設置為輸出時,同時設置多個通道:
channels = [18, 12, 13]
要讀取通道的值:
GPIO.input(channel) #返回 GPIO.LOW 或 GPIO.HIGH。
要設置配置為輸出的引腳的值:
GPIO.output(channel, state)
其中狀態可以是 GPIO.LOW 或 GPIO.HIGH。
還可以輸出到通道列表或元組:
channels = [18, 12, 13]
5、清理所有使用的通道
在程序結束時,最好清理通道,以便將所有引腳設置為默認狀態。
GPIO.cleanup()
控制雙色IED燈實驗
硬件材料
1、樹莓派4B
2、雙色LED燈模塊
3、GPIOT型擴展
4、面包板
5、杜邦線
6、Python程序
雙色LED燈原理圖
雙色IED燈接線圖
安裝FileZilla軟件
打開mu編輯器,編寫python控制LED代碼
Python控制GPIO的幾個主要操作:
導入RPi.GPIO模塊:
import RPi.GPIO as GPIO
設置引腳編碼模式:
GPIO.setmode(GPIO.BOARD)/GPIO.setmode(GPIO.BCM)
設置引腳的操作模式(即輸出還是輸入) :
GPIO.setup(2, GPIO.OUT)/GPIO.setup(2, GPIO.IN)
設置引腳的高低電平:
GPIO.output(2, GPIO.HIGH)/GPIO.output(2, GPIO.LOW)
運行Python程序
點擊運行按鈕后,會看到LED燈閃爍變色,每隔幾秒切換燈光顏色。