點亮LED

      在〈點亮LED〉中尚無留言

GPIO

樹莓派上有 40 根可以安插杜邦線的接腳,這是 GPIO 通用界面 (General Purpose Input/Output)。

各個接腳的 pin 腳編號及 GPIO 編號如下

請注意,以 pin 11 接腳而言,Python 定義它的 GPIO 編號為 17,但在 Java 則定義為 GPIO 0,完全依使用的語言自行定義的號碼。

線路接法

正極接上 pin 2 或 4,GND 接 pin 6,則為恒亮的狀態。

正極接 pin 11/13/15 (GPIO17/27/22),則需使用本篇最下面的程式碼點亮。

基本常識

1.  電子元件能承受的最大極限以電壓為主,電流不用理會。比如某燈泡最大電壓不可超過110V,那麼輸入220V 就一定燒毀
2. 電子元件標示 110V, 2A,這是標示最大耗電量為220W。若輸入 110V, 20A,那是安全的,因為供電端的 20A 是指最大供應瓦數,並不會直接輸出20A 給電子元件。
3. 電子元件承受不了那麼大的電壓時,可以用電阻降低電壓,不過這會讓電阻發熱耗電就是了。

公式為 V = I * R。若 V 恆定,那麼 R 愈大,I 愈小。也就是輸出功率(耗電)是固定的,所以結果是電子元耗電,而電阻也跟著耗電。

電阻計算法

正極與 Led 之間必需接一個電阻,電阻值的計算需有如下常識。

1. GPIO 輸出電壓為 5V,最大輸出電流約 50 mA。
2. V = I * R

紅黃錄的Led,電壓為2V,最佳電流為20mA,藍白 Led 為 3.3V。樹莓派的GPIO輸出電壓為 5V,依 V = I * R 計算,I 要維持在 20mA,則 5 = 0.02 * R,所以 R 必需為 250 Ω. 而 Led 本身的電阻值約 100Ω,所以在接正電壓前,必需串接100~150 Ω 的電阻。

程式碼

完整程式碼如下

import RPi.GPIO as gpio
import time
led = 17
gpio.setmode(gpio.BCM)
gpio.setup(led, gpio.OUT)
try:
    while True:
        gpio.output(led, gpio.HIGH)
        time.sleep(0.1)
        gpio.output(led, gpio.LOW)
        time.sleep(0.1)
except KeyboardInterrupt:
    pass
gpio.cleanup()

todo

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *