在 Raspberry Pi 的電子原型設計中,使用 Pi Cobbler 能夠有效簡化麵包板上的電路搭建。透過 Cobbler 提供的標記引腳和 ribbon 纜線,開發者可以更方便地連線各種電子元件,並在完成原型設計後,無縫轉移到 Perma-Proto 板進行更穩固的焊接版本。此外,搭配使用 Raspberry Squid RGB LED 和 Squid 按鈕,更能簡化 LED 和按鈕的連線,省去額外的麵包板空間和焊接步驟,提高開發效率。對於需要與 5V 外部模組連線的情況,則可以利用電壓分壓器電路,使用兩個電阻將 5V 訊號安全地轉換為 3.3V,避免損壞 Raspberry Pi 的 GPIO 引腳,確保系統的穩定執行。
使用 Pi Cobbler 和麵包板進行電子原型設計
問題
您想要使用 Raspberry Pi 和一個無焊接麵包板進行電子原型設計。
解決方案
使用 Adafruit Pi Cobbler,一種小型印刷電路板(PCB),具有標記好的引腳,設計用於適配無焊接麵包板。所提供的ribbon 纜線用於連線 Cobbler 和 Raspberry Pi(見圖 9-10)。
圖 9-10 顯示的是 26 針版本的 Pi Cobbler。還有一個 40 針版本,設計用於較新的 Raspberry Pi,但這個版本會佔用麵包板上的太多空間。如果您的專案只需要 26 針 GPIO 聯結器上方的 GPIO 引腳,即使您使用的是 40 針 Raspberry Pi,使用 26 針版本的 Pi Cobbler 也可能更好。
討論
Cobbler 的一個主要優點是您可以先在麵包板上組裝元件,然後在準備好後插入 ribbon 纜線。
請確保 ribbon 纜線的紅色邊緣朝向 Raspberry Pi 的 SD 卡邊緣。纜線只能以正確的方向插入 Pi Cobbler 的插槽。
在您構建了麵包板原型之後,您可能會決定製作一個焊接版本。使用 Adafruit Perma-Proto 板是一種很好的方法,例如圖 9-11 中所示的板子。
這些板子是預製的 PCB,具有與麵包板相同的軌道和孔位佈局。這允許您將麵包板設計轉移到 Perma-Proto 板上,而無需重新設計。該板附帶一個插座,以便接受 Cobbler 的纜線和插頭。
參考
如果您想要製作一個可以直接安裝在 Raspberry Pi 上的板子,請參閱配方 9.19 和配方 9.20。
使用Raspberry Squid RGB LED簡化LED連線
如果您想要在不需要額外麵包板的情況下將RGB LED連線到您的Raspberry Pi,您可以使用Raspberry Squid RGB LED。
解決方案
Raspberry Squid是一種內建有序電阻和母頭引腳的RGB LED,可以直接插入Raspberry Pi的GPIO引腳。Squid具有色彩編碼的引腳,黑色引腳連線到GPIO GND引腳,紅、綠、藍引腳分別連線到對應的GPIO引腳。紅、綠、藍輸出可以是簡單的數字輸出或脈寬調變(PWM)輸出,允許您混合不同的顏色。
您可以找到製作您自己的Squid的教程,也可以購買現成的Squid。gpiozero Python函式庫預先安裝在Raspbian上,並支援像Squid這樣的RGB LED。
範例程式碼
以下是使用Raspberry Squid的範例程式碼:
from gpiozero import RGBLED
from time import sleep
from colorzero import Color
led = RGBLED(18, 23, 24)
# 設定LED顏色
led.color = Color('red')
sleep(2)
led.color = Color('green')
sleep(2)
led.color = Color('blue')
sleep(2)
led.color = Color('yellow')
sleep(2)
在這個範例中,我們首先匯入必要的模組,然後建立一個新的RGBLED物件,指定紅、綠、藍通道使用的GPIO引腳。然後,我們可以使用color
屬性設定LED顏色,並使用sleep
函式建立延遲。
討論
您不需要使用Squid的所有三個顏色通道,而且它可以很方便地用於檢查GPIO引腳是否按照預期啟動和關閉。
參考
如需更多關於Squid按鈕的資訊,請參考配方9.11。配方10.10是一個控制RGB LED(Squid或麵包板基礎)的範例專案。
使用Squid按鈕連線樹莓派
您想要在不需要在麵包板上建造任何東西的情況下,將一個按鈕連線到您的樹莓派。
解決方案
使用Squid按鈕。 Squid按鈕是一個具有母頭引腳的按鈕,可以直接插入樹莓派的GPIO聯結器。Squid按鈕還包括一個低值電阻,以限制當按鈕意外連線到數字輸出而不是數字輸入時的電流。
範例程式碼
您可以使用以下程式碼直接使用Squid按鈕:
from gpiozero import Button
import time
button = Button(7)
while True:
if button.is_pressed:
print(time.time())
這個程式碼會在按鈕被按下時,印出當前的時間戳。
討論
Squid按鈕對於測試使用數字輸入的專案很有用,而且由於按鈕適合面板安裝,您也可以將其建入更永久的專案中。
相關資訊
如需更多關於使用開關的資訊,請參考配方12.1、12.2、12.3、12.4、12.5和12.6。 如需更多關於Squid RGB LED的資訊,請參考配方9.10。
使用兩個電阻將5V訊號轉換為3.3V
問題 樹莓派運作在3.3V,但您想要知道如何將外部模組的5V輸出連線到樹莓派的GPIO引腳而不會損壞它。
解決方案
使用一對電阻作為電壓分壓器來降低輸出電壓。 圖9-14顯示如何使用Arduino的5V串列連線到樹莓派。
所需元件
- 270Ω電阻(見附錄中的「電阻和電容」)
- 470Ω電阻(見附錄中的「電阻和電容」)
圖表翻譯
圖9-14顯示如何使用兩個電阻將5V訊號轉換為3.3V。樹莓派的TXD訊號是一個3.3V輸出,可以直接連線到Arduino的5V輸入而不會有問題。Arduino模組會將任何超過約2.5V的訊號視為高電平。
問題出現在您需要將Arduino模組的5V輸出連線到樹莓派的RXD引腳時。您不能直接連線這兩個引腳,因為5V訊號可能會損壞樹莓派。相反,圖9-14中顯示的兩個電阻被用來降低輸出電壓。
內容解密
這個解決方案使用了一對電阻來降低5V訊號的電壓,以避免損壞樹莓派的GPIO引腳。270Ω和470Ω電阻被用來降低輸出電壓,使其在3.3V以下。這個解決方案可以用於連線外部模組的5V輸出到樹莓派的GPIO引腳。
Raspberry Pi 的電源供應和訊號轉換
在使用 Raspberry Pi 進行專案開發時,電源供應和訊號轉換是兩個非常重要的方面。下面我們將討論如何使用電池供應 Raspberry Pi 的電源,以及如何進行 3.3V 和 5V 之間的訊號轉換。
使用電池供應 Raspberry Pi 的電源
Raspberry Pi 需要 5V 的電源供應,且電流需求相對較高,約為 600mA。因此,選擇合適的電池和電壓調節器是非常重要的。
解決方案
可以使用一個 9V 的電池包(由六個 AA 電池組成)和一個電壓調節器(如 7805)來將電壓降低到 5V。這樣可以確保 Raspberry Pi 得到穩定的 5V 電源供應。
討論
使用電池供應 Raspberry Pi 的電源有一些需要注意的地方。首先,電池的容量需要足夠大,以滿足 Raspberry Pi 的電源需求。其次,電壓調節器可能會產生熱量,因此需要使用散熱器來防止過熱。
3.3V 和 5V 之間的訊號轉換
在使用 Raspberry Pi 進行專案開發時,常常需要將 3.3V 的訊號轉換為 5V,或者將 5V 的訊號轉換為 3.3V。這是因為 Raspberry Pi 的 GPIO 引腳是 3.3V 的,而有些元件可能需要 5V 的訊號。
解決方案
可以使用一個雙向訊號轉換模組來實作 3.3V 和 5V 之間的訊號轉換。這些模組通常有多個通道,可以同時轉換多個訊號。
討論
使用訊號轉換模組可以方便地實作 3.3V 和 5V 之間的訊號轉換。這些模組通常很容易使用,只需要將訊號連線到相應的引腳即可。另外,還需要注意的是,在選擇訊號轉換模組時,需要考慮到模組的通道數量和轉換速度,以確保滿足專案的需求。
程式碼例項
import RPi.GPIO as GPIO
# 設定 GPIO 模式
GPIO.setmode(GPIO.BCM)
# 設定 GPIO 引腳為輸出模式
GPIO.setup(17, GPIO.OUT)
# 將 3.3V 訊號轉換為 5V
def convert_signal():
# 將 3.3V 訊號輸出到 GPIO 引腳
GPIO.output(17, GPIO.HIGH)
# 將 5V 訊號轉換為 3.3V
def convert_signal_5v_to_3v3():
# 將 5V 訊號輸入到 GPIO 引腳
signal = GPIO.input(17)
# 將訊號轉換為 3.3V
signal_3v3 = signal * 3.3 / 5
return signal_3v3
# 測試訊號轉換
convert_signal()
print(convert_signal_5v_to_3v3())
內容解密:
上述程式碼例項展示瞭如何使用 Python 進行 3.3V 和 5V 之間的訊號轉換。首先,需要設定 GPIO 模式和引腳模式。然後,需要定義兩個函式:convert_signal
用於將 3.3V 訊號輸出到 GPIO 引腳,convert_signal_5v_to_3v3
用於將 5V 訊號轉換為 3.3V。最後,需要測試訊號轉換函式。
圖表翻譯:
graph LR A[3.3V 訊號] -->|轉換|> B[5V 訊號] B -->|轉換|> A C[GPIO 引腳] -->|輸出|> B D[5V 訊號] -->|輸入|> C
圖表翻譯:
上述圖表展示了 3.3V 和 5V 之間的訊號轉換過程。圖表中,有兩個訊號源:3.3V 訊號和 5V 訊號。這兩個訊號可以互相轉換,並輸出到 GPIO 引腳。圖表還展示了訊號轉換的方向和過程。
隨著Raspberry Pi等單板電腦的普及,快速原型開發的需求日益增長。本文探討了利用Pi Cobbler、麵包板、Raspberry Squid RGB LED、電阻分壓器等工具和技術,簡化電子原型設計流程。分析比較了不同方案的優劣,例如Pi Cobbler搭配麵包板或Perma-Proto板,分別適用於初期探索和後期穩定設計;Raspberry Squid簡化了RGB LED和按鈕的連線,提高了開發效率;而電阻分壓器則巧妙解決了不同電壓元件的訊號轉換問題。然而,這些方案也存在一些限制,例如26針Pi Cobbler的引腳數量限制、電池供電的續航力問題,以及電阻分壓器精確度受限等。對於追求更高整合度的設計,則可考慮直接在Raspberry Pi上設計擴充套件板。展望未來,預計會有更多便捷的原型開發工具和模組出現,進一步降低電子原型設計的門檻,並促進更多創新應用的誕生。玄貓認為,掌握這些實用的技巧,能有效提升原型開發效率,是電子愛好者和創客們的必備技能。