三色 LED
三色 LED 是由紅、綠、藍,三種不同顏色的 LED 所組成,因此可以發出最少三種顏色的光,也由於三色 LED 內部含有三顆 LED 燈,所以它具有 VCC、R、B、G 四支針腳,我們也可以分別控制每個顏色的強弱,進一步達到混合顏色的效果。
教學影片
影片對應範例:https://blockly.webduino.io/?page=tutorials/rgbled-2
接線與實作
要控制三色 LED 燈,我們必須要使用 PWM 的腳位 ( Pulse Width Modulation,脈衝寬度調變 ),這是一種將類比信號轉換為波段並且輸出的腳位,可以改變輸出的信號大小,透過輸出信號的強弱,我們就可以做出各種不同顏色的混合,但因為開發板的不同,我們需要選擇對應的腳位來使用 ( 基本上在 Arduino 的開發板,有「~」記號的就是 PWM 腳位 )。
接線的方式就是將三色 LED 燈接上杜邦線 ( 一公一母 ) ,把 v 接在 3.3v 的位置 ( 避免電壓過高,造成三色 LED 燈會發出微弱的光線 ),R ( 紅色 ) 接在 6,B ( 藍色 ) 接在 10,G ( 綠色 ) 接在 9,如果沒有這些腳位,可以選擇其他有 PWM 的腳位來接 ( 3、5、11 )。
因為共用的接頭為 3.3v,因此這種三色 LED 稱作「三色共陽」的 LED,另外一種如果共用的接頭為 GND,則是「三色共陰」的 LED。
由於 Webduino 支援開發板種類只會越來越多,接線圖先使用馬克一號與 Fly 示範,對於其他開發板來說,只要紅綠藍三個顏色都接 PWM 腳位 ( 有 ~ 符號的數字腳 ),V 的針腳接 3.3v,仍會有一樣的效果。
馬克一號接線示意圖:
Fly 接線示意圖:
基本操作
打開 Webduino Blockly 編輯工具 ( https://blockly.webduino.io ),在畫面中放入開發板積木,填入 Device ID,在開發板內放入三色 LED 的積木,腳位設定紅色 6,綠色 9,藍色 10,三色 LED 變數名稱設定為 rgbled。
開發板的積木在「開發板控制」目錄下,三色 LED 積木在「發光元件 > 三色 LED」的目錄下。
要讓三色 LED 發出紅光,只需要使用「rgbled 設定顏色」的積木,設定顏色為紅色,就會發出紅色光。
如果要讓三色 LED 隨機發出顏色,只要將顏色的積木換成「隨機顏色」就可以。
隨機顏色的積木在「基本功能 > 顏色」目錄下。
填入裝置 Device ID,確認開發板上線,點選右上方紅色按鈕執行,就可以看到三色 LED 發出紅色光或是隨機顏色光了。
範例解答 ( 雲端平台 ):https://blocklypro.webduino.io/#XJLjG4LYMn
範例解答 ( 體驗版 ):https://goo.gl/Ux1GHD
網頁按鈕操控三色 LED
更進一步我們可以透過網頁操控三色 LED,打開 Webduino Blockly 的網頁互動測試區,下拉選單選擇「按鈕行為」,畫面裡會出現好幾個網頁按鈕,此時在右下角也會出現對應的積木功能可以選擇。
放入「點選按鈕...執行」的積木,放入對應顯示的顏色,如果選擇黑色就是把三色 LED 燈關起來,如此一來就可以在點擊按鈕的時候,發出對應的顏色。
填入裝置 Device ID,確認開發板上線,點選右上方紅色按鈕執行,並開始點按網頁互動區裡的按鈕,就可以輕鬆地控制三色 LED 燈的顏色了。
範例解答 ( 雲端平台 ):https://blocklypro.webduino.io/?demo=demo-area-05#RY5jrNzdm9
範例解答 ( 體驗版 ):https://goo.gl/cbdHcy
相關參考
- 範例解答 ( 雲端平台 ):https://blocklypro.webduino.io/?demo=demo-area-05#RY5jrNzdm9
- 範例解答 ( 體驗版 ):https://goo.gl/cbdHcy
- 範例完整程式碼:http://bin.webduino.io/kila/edit?html,css,js,output
聯絡我們
如果對於 Webduino 產品有興趣,歡迎透過下列方式購買:
個人線上購買:https://store.webduino.io/ ( 支援信用卡、超商取貨付款 )
企業&學校採購:來信 [email protected] 或來電 07-3388511。
如果對於這篇教學有任何問題或建議,歡迎透過下列方式聯繫我們:
Email:[email protected] ( 如對於產品有使用上的問題,建議透過 Email 附上照片或影片聯繫 )
Facebook 粉絲團:https://www.facebook.com/webduino/
Facebook 技術討論社團:https://www.facebook.com/groups/webduino/