配置環境
系統:Raspbian11(64位)
設備:樹莓派CM4
一、寫在前面
主要為了測試我撿漏買的CM4的拓展版
拓展板子沒有焊接引腳,但是預留的接口
手動焊接一下
測試成功 ,說明我撿的這塊板子的GPIO基本是正常的,而且沒有引腳被擋到,賺到了!
使用傳感器:激光頭傳感器模塊 KY-008
二、樹莓派使用GPIO口的基礎知識
1.GPIO 引腳的定義(編號方法)
在樹莓派上使用GPIO一般就用下面三種,第一種就是板子上的1、2、3....、40,用起來傻瓜式,只是僅能在樹莓派上用,一般用python開發。第二種就是CPU定義的引腳編號。第三種和Arduino兼容,一般使用C語言開發。我這里就用第一種。
(1)排針引腳編號(BOARD)。
(2)CPU 定義引腳編號(BCM)。
(3)WiringPI 編號。
引腳圖:
輸入gpio -v
查看自己樹莓派GPIO的版本
輸入gpio readall
查看我們接口編號的定義。
我這個板子不是官方的,檢測不出來,但是能看到20個引腳。
2.使用板子上引腳編號,進行編程
RPi.GPIO 是一個控制樹莓派上的 GPIO通道的軟件包。該軟件包提供了一個類來控制樹莓派上的 GPIO。 在樹莓派的 Raspbian 系統鏡像中默認安裝了 PRi.GPIO,因此可以直接使用。
PRi.GPIO官方的wiki: https://sourceforge.net/p/raspberry-gpio-python/wiki/BasicUsage/
如果你沒有打開GPIO的使用開關,你還需要去系統設置里面把 GPIO enable
我這里用的就是編號11的引腳,使用激光發生器來測試下,上代碼
# @墨蘇 2021/12/25
import RPi.GPIO as GPIO
import time
if __name__ == "__main__":
pin_sig = 11 #使用板子編號11的引腳
GPIO.setmode(GPIO.BOARD) # 按物理位置對GPIO進行編號
GPIO.setup(pin_sig, GPIO.OUT) # 設置這個GPIO為輸出模式
GPIO.output(pin_sig, GPIO.HIGH) # 設置輸出高電平
try:
while True:
print('亮3秒')
GPIO.output(pin_sig, GPIO.HIGH) # 亮
time.sleep(3)
print('滅3秒')
GPIO.output(pin_sig, GPIO.LOW) # 滅
time.sleep(3)
except KeyboardInterrupt:
print('\n Ctrl + C QUIT')
finally:
GPIO.cleanup() # 把引腳恢復初始狀態,否則下次使用這個引腳會報錯,會顯示它上個模式中
代碼運行結果就是開始放的圖片
相關推薦:玩轉樹莓派系列文章