在〈mBlock & Arduino(1)哈啰!LED!〉中,我們讓 Arduino Uno 板子上標示為 L 的 LED 閃爍,這是為了能立即體驗一下如何控制 Arduino,接下來,我們要外接 LED,這就需要對 Arduino 板子以及相關(guān)電子電路元件有多一點的認識。
認識數(shù)位輸出/輸入腳位
Arduino Uno 的規(guī)格說明,可以在官方網(wǎng)站的?Arduino – ArduinoBoardUno(??http://www.arduino.cc/en/Main/arduinoBoardUno)中找到,一下子完整認識板子上所有腳位沒有意義,因此,我的文件將采用到哪個講哪個的方式。
想要能點亮外接的 LED,可以使用數(shù)位輸出/輸入腳位 D0 到 D13,當作為輸出時,這些腳位的直流電流最高可以是 40 mA,高電位相對于 GND 是 5V,低電位是 0V。
GND 是 Ground 的意思,一般中文常稱為共地或接地,不過,“地”這個名稱常引起誤會,以為它真的是接到地面去了,在這邊,Ground 的意思應(yīng)該是“基準”,電路中有個共同的電位基準時,當我指電路中某點為 5V,就是指相對于共同的電位基準,也就是相對于 GND 的點是 5V。
在 Arduino Uno 板子上,D0 到 D13,以及 GND 接點的位置如下:
認識 LED
LED 的名稱是發(fā)光二極體(Light-Emitting Diode),是一種半導(dǎo)體二極體,具有陽極和陰極兩個端子,一個 LED 元件的兩只接腳長度不同,長的接腳是接正極,短的接腳是接負極,也可以借由塑膠外殼上有平面的那邊來識別負極所在:
至于半導(dǎo)體二極體的運作方式,最簡單的說法是,當二極體被施以正向電壓(也就是正極電位高于負極),且電位差達某個值,二極體能夠?qū)щ姡↙ED 的話會發(fā)出亮光),此時二極體正負極電位差幾乎固定,稱之為順向偏壓(Forward Bias),不同的二極體順向偏壓不同,需要查閱規(guī)格才能得知(LED 的話,可參考?LED?條目中的資料),當二極體被施以逆向電壓,二極體不會導(dǎo)電。
理想上,希望二極體施于正向電壓而導(dǎo)電時,能擁有無限小的電阻,而施以負向電壓時擁有無限大的電阻而不導(dǎo)電,也就是希望電壓電流曲線可以如下圖:
實際上半導(dǎo)體二極體的電壓電流曲線,可以參考維基百科?二極體?條目的這張圖:
逆向電壓實際上是還有極微小的電流,其中 Vbr 是崩潰電壓,一般約數(shù)十伏特,超過的話二極體會崩潰而導(dǎo)致大量電流通過,無論如何,必須對流經(jīng)二極體的電流做出限制,以免二極體因為電流過高而燒毀。
在銜接 LED 時,基本上會串接電阻以提供壓降、限制電流,LED 一般需要的電流為 20 mA,若 Arduino 輸出腳位為高電位 5V,假設(shè) LED 的順向偏壓為 2V,那電阻壓降則為 3V,根據(jù)歐姆定律?R = V / I,至少應(yīng)提供?3V / 0.02A,也就是 150 Ω 的電阻,保守起見,常見使用的是串接 220 Ω 的電阻,如下圖:
認識電阻色碼
每個電阻器上環(huán)繞著一圈圈的顏色,大多是四環(huán),也有五環(huán)甚至六環(huán),環(huán)的顏色各對應(yīng)至一個數(shù)字,可參考?四環(huán)電阻色碼計算器?中的圖片:
電阻連接時沒有方向之分,環(huán)的讀取就如上圖,可用電阻上環(huán)分布較密的一端為左開始判讀,以上圖的四環(huán)電阻為例,綠對應(yīng)至 5,藍對應(yīng)至 6,黃對應(yīng)至 10K,這表示電阻值是 560 KΩ,一般都會直接背“黑、棕、紅、澄、黃、綠、藍、紫、灰、白”這個口訣,代表數(shù)值 0 到 9,第三個色碼如果是黃就是 4,也就要有四個 0,就是 10K 的意思,第四條色碼則是容忍值;如果是上圖中下方的五環(huán)電阻,紅、澄、紫、黑分別對應(yīng)至 2、3、7 與 1Ω,電阻值就是 237 Ω。
懶得記的話,四環(huán)電阻色碼計算器?中可以直接輸入電阻上的色碼,它會幫你計算出電阻值,要不然直接在網(wǎng)路上搜尋“電阻色碼”,也會找到計算方式,或其他線上計算器。
認識面包板
談到面包板,就想到以前學(xué)校做實驗時的惡夢,沒想到現(xiàn)在竟然要來介紹它!面包板基本上就是橫向連通、直向連通、上下不通,例如:
同一個連通方向,表示每個孔間都是導(dǎo)通的,有的面包板沒有上圖中藍與紅的部份,如果有的話,通常藍那列會拿來接 GND,紅那列會拿來接電源正端。如果要將上面 LED 連接的概要圖,使用面包板銜接的話,可以像是:
線路復(fù)雜時,紅列接電源正端,藍列接電源負端是比較方便的作法,當然,對于簡單的線路,不一定要這么做。
Arduino Uno 外接 LED
照按以上的說明,如果想要在 Arduino Uno 上外接 LED,并利用 D3 腳位的輸出來點亮 LED,可以如下:
程式的撰寫與〈mBlock & Arduino(1)哈啰!LED!〉是相同的,你只要將其中的數(shù)位腳位 13 改為 3 就可以了。
感謝CodeData用戶:caterpillar的貢獻 著作權(quán)歸作者所有
整理:寧波家電物聯(lián)網(wǎng)云平臺,中科極動云