S3i第7課色光三原色
一、認識色光:
(1)三原色是哪三種顏色?
三原色可分為色光三原色和繪畫顏料三原色。繪畫顏料三原色是「消減型」的原色系統,三原色是洋紅色、黃色和青色。色光三原色是「疊加型」的原色系統,三原色是紅、綠、藍,三種光相加會成為白色光。
色光三原色是紅、綠、藍,這三種光依不同比例相加就可以讓你看到各種不同的顏色。
這個看到混成後的光是真的[光]嗎?
紅光加綠光混合成的黃光是真的[黃光]嗎?
(2)三原色的原理:
三原色的原理不是出於物理原因,而是由於生理原因造成的,由於人類有三種視錐細胞分別對紅、綠和藍光最敏感。人的眼睛內有幾種辨別顏色的錐形感光細胞,分別對黃綠色、綠色和藍紫色的光最敏感,如果辨別黃綠色的細胞受到的刺激略大於辨別綠色的細胞,人的感覺是黃色;如果辨別黃綠色的細胞受到的刺激大大高於辨別綠色的細胞,人的感覺是紅色。 雖然三種細胞並不是分別對紅色、綠色和藍色最敏感,但這三種光可以分別對三種錐形細胞產生刺激。不同的生物眼中辨別顏色的細胞並不相同。(註)
(3)混成光的特性:
將三原色光以不同的比例複合後,對人的眼睛可以形成與各種頻率的可見光等效的色覺。例如:紅光加綠光混合成的黃光和真正物理上的黃光並不相同,混成的黃光頻率還是紅光和綠光的頻率,不會變成黃光的頻率。
物理上用光譜儀可以看到各顏色的光(頻)譜是特定的,所以混成光並不是真的混成新的頻率的光,只是人眼睛判斷的結果。
科教館林銘照博士拍的影片可以看到光譜儀看到的光和肉眼看到的光確實不一樣。
RGB LED發出的紅、綠、藍三種顏色光,可以混成白光。但並不是按照1:1:1的比例就會真的混成視覺白光,因為RGB的視覺亮度不一樣,還有LED的品質和轉換效率都會影響混成效果。
一般家用的白光LED燈泡其實並不是真的以紅、藍、綠三色發光二極體晶粒所組成的燈泡,而是利用藍光發光二極體晶片所發出的光線激發黃光螢光粉組合成白光。
以下課程利用電腦和Arduino控制板來合成白光,RGB LED裡面有RGB三種顏色的LED,透過電腦程式學生可以調整三種顏色LED不同的輸出功率,研究三種色光的混成顏色和輸出功率之關係,也可以認識LED燈的發光特性,學會如何操作電腦來做簡易的科學實驗。
——————————-
二、認識RGB三色LED:
老師說明三原色的原理、混成光的特性,讓學生練習調整三種顏色LED不同的輸出功率,研究三種色光的混成顏色和輸出功率之關係,也可以認識LED燈的發光特性。
RGB LED 一般分為共陽極和共陰極兩種,有四隻針腳,最長的是共同接腳。
共陽極的RGB LED,共同接腳要接正極,另外三隻腳接GND時會分別亮紅、綠、藍三顏色。
共陰極的RGB LED,共同接腳要接負極,另外三隻腳接正極時會分別亮紅、綠、藍三顏色。
Q:上圖是共陰極或是共陽極的RGB LED?
A:共陰極的RGB LED
一顆RGB三色LED裡面就有RGB(紅、綠、藍)三種顏色的LED,我們用的是共陰極,有四支腳,其中最長的腳要接地(GND),其他三支腳分別控制 R、G、B 三個顏色。
————————–
接線圖:
iL學習板內建共陰極RGB LED ,已經接好電阻,共用的負極也已經內接了。
只要使用Jump直接將D9和LEDB、D10和LEDG、D11和LEDR兩兩接上就會像上圖一樣。
當類比輸出為255(5V)時LED最亮,類比輸出為0(0V)時LED熄滅。
—————————————-
三、混成色光
1.製做一個變數,讓變數可以用滑鼠左鍵拖曳(滑桿)改變變數大小
先做一個[紅]變數,在舞台區會顯示變數的圖案
————————-
滑鼠游標移到變數上,點滑鼠右鍵,再點滑鼠左鍵選[滑桿]
———————————
或是
在圖案上用滑鼠左鍵快點2下,就會變成下圖(只有數值)
在圖案上快點2下滑鼠左鍵,就會出現下圖
————————–
用滑鼠左鍵拖曳滑桿上的小點往左右滑動,就可以改變變數大小,也就是改變輸出值的大小。
依序再設定[綠]、[藍]變數,一樣在變數前要打勾,舞台區上的變數圖形要點按2次,變成可以拖曳改變數值的圖案。
2.主程式
[腳位9類比輸出(藍)],讓腳位9類比輸出的值由變數(藍)來決定。
[腳位10類比輸出(綠)],讓腳位10類比輸出的值由變數(綠)來決定。
[腳位11類比輸出(紅)],讓腳位11類比輸出的值由變數(紅)來決定。
接著用滑鼠左鍵拖曳三原色的小點(滑桿)往左右滑動,就可以改變變數大小,也就是改變輸出值的大小,輸出各種不同的顏色了。
四、混成色光(修正)
實際測試時發現(滑桿)的移動範圍為0~100,變數值最大為100,無法讓顏色輸出完全變最亮(255才可以最亮)。
程式主要跟上面一樣。
因為類比輸出值範圍為0~255,所以將輸出值做一個轉換,變數值除以100後再乘以255。
這樣就可以完整的調整3原色的輸出值,混成各種顏色。
增加一個[說….]積木來檢查轉換公式結果是否正確。
學生練習:
1.請學生試試看,轉換公式的排列會影響結果嗎?例如:先乘再除,運算符號的放入順序,變數直接乘以2.25………..
2.請學生依序調出黃光(紅+綠)、洋紅(紅+藍)、青(綠+藍)、白(藍+綠+紅)……..等顏色。
3.讓學生動手後,提醒學生觀察 RGB 三個顏色不同的調整比例和複合後顏色的關係。並不是按照 1:1:1 的比例就會真的混成視覺白光,因為 RGB 的視覺亮度不一樣,還有 LED 的品質和轉換效率都會影響混成效果。
4.請學生依序調出彩虹的七種顏色,並記錄各顏色時所調的RGB值各是多少?
5.直接將滑鼠游標移到[滑桿變數]上,點滑鼠右鍵,再點滑鼠左鍵選[用滑動鈕設定最小值與最大值]
最大值填上[255],按[確定]
[滑桿變數]的最大值就直接變成255了。
五、鍵盤控制調整RGB混成色光
改用鍵盤控制調整RGB三原色變數,混成色光。
注意:
記得先檢查[輸入法]是否為[英],當輸入法不對時,鍵盤按鍵對應的值是錯的,無法正確反應動作。
製做藍、綠、紅三個變數。
先設定3個變數值各為0(讓RGB LED 一開始先熄滅)
加上[重複無限次],讓程式不斷的去檢查按鍵的情形。
[如果(按下….鍵了嗎?)就…],如果按下指定的按鍵,就改變顏色變數。
[腳位(9)類比輸出(藍)],腳位9的輸出值由[藍]變數來決定。
[腳位(10)類比輸出(綠)],腳位10的輸出值由[綠]變數來決定。
[腳位(11)類比輸出(紅)],腳位11的輸出值由[紅]變數來決定。
延伸:
1.範例沒有考慮輸出值大於255或小於0的情形,請修改程式讓輸出值不要超出範圍。
2.使用詢問方式填入想要輸出的RGB值。
六、自動混成三原色
設計程式讓三原色自動組合成所有可能的顏色。
一開始會先全暗,然後從紅色漸亮,再混入綠,再混入藍。
因為全部顏色有1兆多種組合,全部顯示費時太久,所以跳著顯示,共1000種組合。
延伸:
1.改變顯示的顏色數
2.改變顯示的速度(加等待時間)
七、彩虹燈(隨機改變顏色和亮度)
讓RGB三色LED隨意變化顏色,形成五彩繽紛的彩虹燈
設定腳位腳位9(藍色),10(綠色),腳位11(紅色)的輸出值為隨機,配出來的顏色就會不一樣
延伸:
A、改變顯示的速度(加等待時間)
B、改變一種寫法
將[腳位(號碼)類比輸出(數量值)]指令中的(號碼)用[在9到11間隨機選一個數]替換,(數量值)用[在0到255間隨機選一個數]替換
[重複無限次]這個動作,LED的顏色和亮度也就跟著隨機改變。
延伸:
請同學思考並試試看,如何讓顏色變換速度減慢?
八、RGB三色隨機變亮度(3種顏色隨機改變亮度)
上面的隨機變色燈(彩虹燈)可以混成各種顏色,如果只要3個顏色隨機選一個顏色改變亮度,每一次亮燈完就要關燈再換另一個顏色的燈亮。
使用變數[燈]來儲存隨機選色。
將[腳位(號碼)類比輸出(數量值)]指令中的(號碼)用[燈]變數替換,(數量值)用[在0到255間隨機選一個數]替換。
[等待0.2秒]
[腳位([燈])類比輸出(0)],讓燈熄滅。
[重複無限次]這個動作。
延伸:
1.請同學思考並試試看,如何讓顏色變換速度減慢?
2.也可以設計一個[函式積木]負責關燈,每次亮完,就全部關掉。
九、打地鼠
看到紅色燈亮按R鍵、藍色燈亮按B鍵、綠色燈亮按G鍵,按對計分。
請自行設計。
———————————-
參考資料:
(1)網路維基百科http://goo.gl/R7XQhS
(2)http://www.dytc.com.tw/hot_cg4452.html
註:
淺談色盲眼鏡
正常人的視錐細胞按照它們的光譜敏感度之峰值波長被標記為:短(S)、中(M)、長 (L)的三種類型,每一種細胞各有其對應的光譜範圍(ex. M視錐細胞也能感知藍光與紅光,但是對於534nm的敏感度最強)
其中M和L這兩種視錐細胞所接受訊號強度的差異量,使我們能夠區分物體顏色是偏綠還是偏紅。
–—————————–
相關連結:
S32E(Scratch3 to Esp8266)課程目錄
http://blog.ilc.edu.tw/blog/blog/868/post/113127/750388
S3i(Scratch3 to arduino iL學習板)課程目錄
http://blog.ilc.edu.tw/blog/blog/868/post/113128/750428
S3A(Scratch3 to Arduino)課程目錄
http://blog.ilc.edu.tw/blog/blog/868/post/113129/750447
arduino iL學習板課程目錄
http://blog.ilc.edu.tw/blog/blog/868/post/111175/727272
WFduino(Arduino)課程目錄
http://blog.ilc.edu.tw/blog/blog/868/post/97509/641433
新DiFi課程目錄
http://blog.ilc.edu.tw/blog/blog/868/post/104089/678192