Android Things Tutorial(七)認識Raspberry Pi的GPIO與基本零件 by Michael | CodeData
top

Android Things Tutorial(七)認識Raspberry Pi的GPIO與基本零件

分享:

Android Things Tutorial(六)第一個Android Things應用程式 << 前情

Raspberry Pi的GPIO

到目前為止,你應該完成工作電腦的開發環境,還有Raspberry Pi的執行環境的安裝、設定與測試。想要把應用程式放在Raspberry Pi這類的單板電腦上運作,主要有這幾種情況:

  • 應用程式的需求比較簡單,甚至不需要圖形使用者介面,所以不需要太高的硬體效能與資源,這樣可以節省一些硬體的成本
  • 應用程式需要讀取一些感應器的資訊,例如氣溫、大氣壓力或物體的距離,依照需求儲存與使用這些資訊
  • 應用程式需要控制硬體的設備,例如LED、馬達或家用電器

Raspberry Pi這類的單板電腦,都會提供一組用來輸出與輸入用的介面,稱為「Gereral-Purpose Input/Output、GPIO」,Raspberry Pi 3 Model B有40個GPIO針腳,位置是在下面圖片紅色框的部份:

att_07_01

Raspberry Pi提供的GPIO,除了一般的電源,例如編號1號的3.3V、2號的5V與6號的GND,其它會根據不同的用途有各自的名稱,例如編號12號的PWM0/BCM18、16號的BCM23與3號的I2C1(SDA),下面的圖片是所有針腳的名稱:

att_07_02

在後續討論的內容,會經常出現「請你把某個腳位連接到某個裝置」的說明,像「PWM0」或「BCM18」這樣的名稱,也會出現在程式碼裡面。

連接並點亮LED

接下來的說明開始需要一些其它設備或零件,這樣才能夠真正體驗GPIO的功能,在執行一些測試之前,會把Raspberry Pi以外需要的零件列出來:

  • LED
  • 杜邦線
  • 麵包板與麵包板連接線
  • 電阻

這些零件會很常使用,這是它們實際的樣子:

att_07_03

接下來的內容說明一些相關零件的基本概念,主要是讓你先認識它們,並不需要照著說明執行任何工作。這些零件可以在一般的電子材料行購買,現在很多拍賣與購物網站也都可以買的到,使用LED、杜邦線這些名稱搜尋看看,不過建議先看完接下來的介紹,再決定要購買的規格與數量。

LED

如果你還沒有接觸過這些電子零件,可以先認識這些零件的基本概念。LED是Light Emitting Diode的縮寫,通常稱為發光二極體,在生活中的應用雖然已經很常見,不過這裡需要的是單顆LED的零件,並不是一般市面上賣的LED燈泡。

LED在提供電源給它以後就會發亮,主要的顏色有紅、綠、藍、黃、白、暖與琥珀色,LED需要的電壓會根據顏色而不一樣,紅、黃、淺綠的電壓是1.8到2.4v之間,白、藍、深綠的電壓是3.0到3.6v之間。LED需要的電流大多是20MA,電壓與電流的大小可以控制LED的亮度。過大的電壓與電流會燒壞LED,甚至可能會讓你聞到燒焦的味道。

LED零件有兩個針腳,使用長短來分辨正、負極,長的是正極,短的是負極。

杜邦線

要讓Raspberry Pi連接各種零件,例如LED、感應器或馬達,都需要使用電線連接到對應的GPIO針腳。這種用來連接的電線稱為杜邦線,下面的圖片是它的外觀:

att_07_04

根據不同的用途,杜邦線有一些不同規格,常見長度有20與30公分,兩端分為公與母兩種接頭:

att_07_05

Raspberry Pi的GPIO是突出的針腳(公),所以杜邦線的一端需要母的接頭,另外一端需要依照連接的零件選擇,如果有兩條像這樣兩端都是母接頭的杜邦線:

att_07_06

這裡的線路只是用來認識杜邦線的用途,這樣的作法很容易讓LED燒掉。

如果想要使用Raspberry Pi的電源輸出點亮LED,可以參考這個線路圖,把一條杜邦線插入GPIO的一號(3.3V)針腳,另一端插入LED長的針腳。另一條杜邦線插入GPIO的六號(GND)針腳,另一端插入LED短的針腳,這樣就可以使用GPIO的電源輸出點亮LED:

att_07_07

麵包板與麵包板連接線

在開發與測試的過程,為了方便在Raspberry Pi連接各種零件,通常會使用一塊麵包板,先把需要的GPIO針腳連接到麵包板,在麵包板插入LED或其它零件,再把它們連接起來。下面的圖片使用麵包板在Raspberry Pi的GPIO連接八顆LED:

att_07_08

麵包板有幾種不同的尺寸,選擇630洞的尺寸比較夠用。麵包板上面有很多洞可以用來插入杜邦線的公頭,或是插入LED與其它零件。麵包板上的洞分為垂直與水平連接,下面圖片中線條穿越的洞都是連接在一起的:

att_07_09

所以只要下面的線路圖,把GPIO的一號(3.3V)與六號(GND)針腳連接到麵包板,需要電源的的零件都可以從垂直的洞連接:

att_07_10

這裡的線路只是用來認識麵包板的用途,這樣的作法很容易讓LED燒掉。

如果一次要點亮多顆LED燈的話,就可以使用這樣的作法,把所有的LED長腳插入與3.3V垂直的洞,短腳插入與GND垂直的洞:

att_07_11

這裡的線路只是用來認識麵包板的用途,這樣的作法很容易讓LED燒掉。

麵包板上水平連接的洞,在以後連接感應器的時候會經常使用,不過現在可以先看看這種點亮LED的作法。先依照下面的線路圖把LED插在麵包板上,再使用公-公的杜邦線,通常稱為麵包板連接線,連接到3.3V與GND垂直的洞,同樣可以點亮LED:

att_07_12

麵包板連接線(公-公的杜邦線)通常需要不同的長度,才不會讓接完線路後的麵包板變得很雜亂,市面上可以找到各種不同長度的一組連接線,你可以考慮購買這樣的麵包板連接線。

att_07_13

電阻

從上面介紹的內容,你可以發現直接把LED接在GPIO提供的電源,是一件很不好的作法,LED需要的電流大多是20MA,如果超過太多的話,就很容易燒壞LED。Raspberry Pi的3.3V最大輸出電流是50mA,所以很容易燒壞LED,使用5V的時候要更小心,它的輸出電流是根據提供給Raspberry Pi的電源決定的,所以在連接零件的時候,不小心把3.3V接到5V,在電流過大的情況下,如果零件本身沒有保護的功能,就很容易發生燒壞的情況。

為了保護LED,應該要連接電阻限制通過的電流,不過電流也會影響LED的量度,所以也不適合使用太大的電阻值。一般使用220 ohm到1k ohm的電阻都可以,不過電阻值越大的話,LED的亮度就會減低。

在電子材料行可以直接購買指定電阻值的電阻,例如220 ohm,電阻使用顏色標示電阻值,使用不同的顏色線條換算,如果你想要確認電阻值,可以到這個網站查詢:http://www.digikey.com/en/resources/conversion-calculators/conversion-calculator-resistor-color-code-4-band

att_07_14

依照電阻上的顏色選擇完後,就會自動幫你計算它的電阻值:

att_07_15

為了避免燒壞LED這類電流需求比較小的零件,在連接的時候就要加上電阻。像下面這個圖型的連接方式,把LED的短針腳接在GND,長針腳插入麵包板;使用麵包板連接線連接3.3V,最後使用220 ohm的電阻連接LED的長針腳與3.3V:

att_07_16

點亮兩顆LED

現在可以把這些零件接在一起,試試看點亮兩顆LED:

  • 麵包板
  • LED兩顆
  • 220 ohm電阻兩個
  • 公-母杜邦線兩條
  • 麵包板連接線(公-公杜邦線)三條

依照下面的線路圖連接所有的零件:

att_07_17

如果你的Raspberry Pi已經接上電源,兩顆LED在連接以後就會點亮了,關閉電源Raspberry Pi的以後,LED才會關閉。你可以使用這樣的連接方式,試試看第三或第四棵LED。

下一步

在認識基本的GPIO電源與基本的零件以後,接下來就可以開發Andriod Things App,在應用程式裡控制GPIO的輸出,就可以點亮或關閉LED。

相關的檔案都可以在GitHub瀏覽與下載。

http://github.com/macdidi5/Android-Things-Tutorial

後續 >> Android Things Tutorial(八)GPIO輸出 – LED

分享:
按讚!加入 CodeData Facebook 粉絲群

留言

留言請先。還沒帳號註冊也可以使用FacebookGoogle+登錄留言

關於作者

張益裕。目前的工作是講師與作者,專長是教育訓練課程規劃、教材編製與課程推廣,技術書籍與專欄寫作。涵蓋的領域有OOAD、Java程式設計、JavaFX、Java Embedded、Android與SQL。已出版電子書Google Play圖書Pubu

熱門論壇文章

熱門技術文章