樹莓派-進階篇

Groot發表於2020-03-31

目標

本章主要是介紹樹莓派GPIO引腳和編號模式,使大家對GPIO引腳有一定的瞭解,為後面的硬體接入做鋪墊。

GPIO引腳介紹

  1. 新版樹莓派都有40個GPIO引腳,編碼模式主要分BCM模式和BOARD模式、除此以外還有WiringPi模式
  2. 如下圖Name列為功能引腳名稱,3.3v/5v/GND(0v負極輸出)分別代表引腳所具備的功能,GND代表公共地,5V是電源正極輸出,上圖中LED接入了電源,無需編寫程式碼樹莓派開機LED就會亮(tips: LED為什麼會亮?因為將電路插入樹莓派引腳時,電流可以流過它。這種流動稱為電流。僅當電流從長腳流向短腳時,LED才會點亮)
  3. BOARD模式呢就是樹莓派的物理引腳,左上角為1號引腳,右上角為2號引腳,從上到下依次計算,左邊為單數,右邊為偶數,如下圖中Physical列
  4. BCM模式如下圖中的BCM列,編號是無規則的
  5. 一般編碼都會使用BCM模式和BOARD模式,可以根據個人喜好,原則上每個引腳都可以輸出高電壓或低電壓或作為輸入來使用,但不建議這麼做,比如把3.3v或5v的功能引腳佔用,會導致沒有設定引腳功能前都保持高電位輸出,0v佔用會導致初始化前保持低電位輸出。應該優先選擇非3.3v、5v、0v、GND的功能引腳作為輸入或者輸出
  6. 3.3v、5v、0v、GND一般作為電源輸出。但是注意功率不大,比如驅動電機需要比較大的功率、樹莓派是不支援大電流輸出的,僅可對感測器,LED燈,樹莓派散熱風扇提供電源。

紅外避障模組使用案例

1.這是最簡單的GPIO介面模組之一。三個引腳,VCC/GND/OUT。支援3.3-5V,檢測距離2-30cm。輸出僅2個狀態:有障礙或無障礙,如下圖,藍色電位器可以改變檢測的距離

2.使用杜邦線連線樹莓派和感測器。將感測器的VCC/GND/OUT連線到樹莓派物理引腳4/6/11上,執行如下程式碼

import RPi.GPIO as GPIO
import time
# 設定引腳模式
GPIO.setmode(GPIO.BOARD)
# 設定引腳11 作為訊號輸入
GPIO.setup(11, GPIO.IN)
while (True):
    time.sleep(1)
    # 每秒獲取引腳11的輸入資訊,如果連線正確一般會輸出1或者0
    print(GPIO.input(11))

3.以上程式碼片段就可以實現實時檢測障礙的功能。當然檢測障礙還可以使用超聲波測距感測器,實時檢測前方障礙物的距離。

下一篇:樹莓派-實戰篇【基於websocket實現手機遠端控制樹莓派小車】

本作品採用《CC 協議》,轉載必須註明作者和本文連結
死磕,不要放棄,終將會有所收穫。

相關文章