3.6. 電子學基礎

要從 GPIO 接腳驅動任何外部裝置,接腳的另一端都需要一個電路。基礎電子學中的三個概念——電壓、電流,以及兩者透過電阻所建立的關係——會出現在每一個這類電路裡。

3.6.1. 電壓、電流、電阻

  • 電壓(伏特,V)是電路中兩點之間的電位差。晶片的供電軌相對於接地可能為 3.3 V;被驅動為高電位的 GPIO 接腳同樣處於 3.3 V。

  • 電流(安培,A,或毫安培,mA)是電荷在導線中的流動。電流總會回到它的源頭,因此要讓任何電流流動,電路必須形成一個從供電端回到接地端的完整迴路。

  • 電阻(歐姆,Ω)代表路徑對電流流動的阻礙程度。電阻的作用是在已知電壓下將電流設定為一個已知的值。

歐姆定律將三者連結在一起:

一個分成三個區域的三角形,頂端標示為 V, 底部標示為 I 與 R;其重新整理後的形式 V = IR、I = V/R、R = V/I 環繞在它周圍。

歐姆定律的三種形式。

用文字表達:電阻兩端的電壓等於流過它的電流乘以電阻值。已知三者中的任意兩個,便可透過代數運算求得第三個。

3.6.2. 二極體

二極體是一種雙端元件,它只在一個方向(從陽極陰極)導通電流,並在另一個方向阻擋電流。

二極體的電路符號——一個指向右方、 抵著一條垂直長條的三角形——左側標示為陽極, 右側標示為陰極。LED 變體會在符號旁加上兩個 向外的箭頭,表示發出的光。

二極體只會從陽極往陰極導通。LED 是一種在導通時會發光的二極體。

二極體還有一個順向電壓Vf)——當電流在導通方向流動時,它兩端的電壓降。一旦施加的電壓達到 Vf,二極體的行為就大致像一條導線;低於該值時,幾乎沒有電流流動。

3.6.3. LED

發光二極體(LED)是一種將其導通電流轉換為可見光或紅外光的二極體。亮度會隨電流增減;色彩則由 LED 的化學成分決定,而非由驅動方式決定。

典型的 LED 順向電壓:

  • 紅色:1.8 -- 2.2 V

  • 綠色或黃色:2.0 -- 2.4 V

  • 藍色或白色:2.8 -- 3.4 V

指示用 LED 的合適工作電流為 5 -- 20 mA。較高的電流會更亮,但會縮短 LED 的壽命,也可能超出 GPIO 接腳的驅動上限。

3.6.4. 限流電阻

將 LED 直接接在 GPIO 接腳與接地之間,會讓幾乎不受限制的電流流過:一旦達到順向電壓,LED 看起來就近乎短路。在接腳與 LED 之間加入一個串聯電阻,可將電流設定在安全值。

一個電路:GPIO 接腳透過電阻 R 連接到 LED 的陽極;LED 的陰極接到接地。標示中標出 接腳處的 Vsupply、電阻兩端的 V_R、LED 兩端的 Vf, 以及繞行迴路流動的電流 If。

串聯電阻設定 LED 的電流。

供電電壓在電阻與 LED 之間分配:LED 降下其順向電壓,電阻降下其餘的部分。根據歐姆定律:

R = (Vsupply - Vf) / If

對於由 3.3 V GPIO 接腳以 10 mA 驅動的紅色 LED(Vf 2.0 V):

R = (3.3 - 2.0) / 0.010 = 130 Ω

實務上,選取最接近且較大的標準值(150 Ω 或 220 Ω)。結果是 LED 略微暗一些,但有更健康的安全裕度。當不在意確切亮度時,以 200 -- 470 Ω 作為合理的預設值是個明智的選擇。

3.6.5. 為何每個部分都重要

每個 GPIO 輸出電路的樣貌,都源自上述四個概念:

  • 電壓決定接腳上可用的能量。3.3 V 的 GPIO 有 3.3 V 可以分配給接在它與接地之間的任何元件。

  • 二極體(在此例中為 LED)會以其順向電壓降的形式消耗掉一部分電壓,並拒絕在錯誤方向導通——它決定了方向以及固定的分配份額

  • 限流電阻消耗掉剩餘的電壓,並將剩下的預算轉換為受控的電流。少了它,LED 會抽取接腳所能供應的任何電流——通常足以摧毀其中之一或兩者。

  • 歐姆定律使得電阻值可以被計算出來:在已知剩餘電壓與所需電流的情況下,R 可透過代數運算求得。

電壓、電流、電阻、二極體,以及一條重新整理過的方程式,就足以設計出每一個基本的 GPIO 輸出級。

這些相同的元件一直都藏在板載 LED 的背後。machine.LED("LED_RED").on() 之所以能點亮 LED,是因為相機的電路板早已提供了它周圍的一切——限流電阻、通往接地的導線、LED 本身——而這個類別只是切換它們背後晶片上的 GPIO。「一行程式碼點亮一顆 LED」的說法是對的;它只是「驅動那個電路」的一種簡短說法。把這層抽象剝開,剩下的正是上面的那個電路。

machine.Pin 就是同一塊晶片,只是沒有周圍那些元件被暴露出來。指令碼直接控制接腳的電壓;你則自行提供電阻(依歐姆定律決定大小)、LED,以及通往接地的回流路徑。這四個相同的概念,會以略有不同的組合形式,再次出現在開關防彈跳、PWM 濾波以及馬達驅動的背後。