mblock第六課(RGB三色LED)
一顆RGB三色LED裡面就有RGB(紅、綠、藍)三種顏色的LED,我們用的是共陰極,有四支腳,其中最長的腳要接地,其他三支腳分別控制 R、G、B 三個顏色。
為了避免電流太大,負極接地前先接一顆電阻;
其他三支腳分別接D9、D10、D11
————————-
一、使用鍵盤按鍵來控制LED
程式設計請參考第四課(LED紅綠燈)
二、搶答
程式設計請參考第四課(LED紅綠燈)
三、綠色、藍色、紅色輪流亮
程式設計請參考第四課(LED紅綠燈)
四、呼吸燈
程式設計請參考第五課(pwm)
五、色光三原色
參考教案:
http://blog.ilc.edu.tw/blog/blog/868/post/2172/583619
老師說明三原色的原理、混成光的特性,讓學生練習調整三種顏色LED不同的輸出功率,研究三種色光的混成顏色和輸出功率之關係,也可以認識LED燈的發光特性。
先做一個紅色變數,在舞台區會顯示變數的圖案,在圖案上用滑鼠左鍵點一下,就會變成下圖(只有數值)
在圖案上再點一下滑鼠左鍵,就會出現下圖
用滑鼠左鍵拖曳小點往左右滑動,就可以改變變數大小,也就是改變輸出值的大小。
依序再設定綠色、藍色變數,一樣在變數前要打勾,舞台區上的變數圖形要點按2次變成可以拖曳改變數值的圖案。
程式開始先讓三個顏色的輸出為0(燈熄滅)
然後設定D9輸出為藍色,D10輸出為綠色,D11輸出為紅色
接著用滑鼠左鍵拖曳三原色的小點往左右滑動,就可以改變變數大小,也就是改變輸出值的大小,輸出各種不同的顏色了。
例如:
1.請學生依序調出黃光(紅+綠)、洋紅(紅+藍)、青(綠+藍)、白(藍+綠+紅)……..等顏色。
2.讓學生動手後,提醒學生觀察 RGB 三個顏色不同的調整比例和複合後顏色的關係。並不是按照 1:1:1 的比例就會真的混成視覺白光,因為 RGB 的視覺亮度不一樣,還有 LED 的品質和轉換效率都會影響混成效果。
3.請學生依序調出彩虹的七種顏色,並記錄各顏色時所調的RGB值各是多少。
程式下載:RGB調色.sb2
比較兩顆不同的RGB LED發出的光也不一樣
延伸:
1.設計程式讓三原色自動組合成所有可能的顏色。
2.比較不同的電阻接法,產生的顏色變化也會不一樣。
3.改用鍵盤控制調整RGB三顏色變數。
兩顆RGB LED的各腳位同時輸出相同的PWM值,但是因為電阻的接法不同,混色後的顏色也不同。
程式下載:RGB比較.sb2
六、彩虹燈(隨機顏色+亮度)
讓RGB三色LED隨意變化顏色,形成五彩繽紛的彩虹燈
1.固定時間變色
設定D9(藍色),D10(綠色),D11(紅色)的輸出值為隨機,配出來的顏色就會不一樣
顯示後等待0.2秒,再變換下一個隨機顏色
程式下載:彩虹燈.sb2
2.隨意時間變色
設定D9(藍色),D10(綠色),D11(紅色)的輸出值為隨機
顯示後等待時間也改成隨機選擇
程式下載:彩虹燈(時間隨機).sb2
七、打地鼠
看到紅色燈亮按R鍵、黃色燈亮按Y鍵、綠色燈亮按G鍵,按對計分
(請參考林信良老師的書)
八、學生創作:
1.提供多組材料讓學生自由創作
2.學生尋求其他組同學合作創作更多元的作品
例如:
用LED編排圖形、文字
模擬廣告看板
———————————-
相關連結:
Arduino初級班課程目錄
http://blog.ilc.edu.tw/blog/blog/868/post/93477/605771
Arduino課程準備
http://blog.ilc.edu.tw/blog/blog/868/post/93477/599681
Arduino第一課(概論、連接)
http://blog.ilc.edu.tw/blog/blog/868/post/93477/599732
Arduino第二課(LED)
http://blog.ilc.edu.tw/blog/blog/868/post/93477/599733
Arduino第三課(用鍵盤控制LED)
http://blog.ilc.edu.tw/blog/blog/868/post/93477/600369
Arduino第四課(LED紅綠燈)
http://blog.ilc.edu.tw/blog/blog/868/post/93477/600422
Arduino第五課(pwm)
http://blog.ilc.edu.tw/blog/blog/868/post/93477/600854
Arduino第六課(RGB三色LED)
http://blog.ilc.edu.tw/blog/blog/868/post/93477/600855
Arduino第七課(蜂鳴器)
http://blog.ilc.edu.tw/blog/blog/868/post/93477/602388
Arduino第八課(按鍵)
http://blog.ilc.edu.tw/blog/blog/868/post/93477/602288
Arduino第九課(可變電阻)
http://blog.ilc.edu.tw/blog/blog/868/post/93477/602290
Arduino第十課(光敏電阻)
http://blog.ilc.edu.tw/blog/blog/868/post/93477/602291
Arduino第十一課(伺服馬達)
http://blog.ilc.edu.tw/blog/blog/868/post/93477/605139
Arduino第十二課(離線執行)
http://blog.ilc.edu.tw/blog/blog/868/post/93477/605798
———————————–
Arduino進階班課程目錄
Arduino第十三課(超音波感測器)
http://blog.ilc.edu.tw/blog/blog/868/post/93477/620602
Arduino第十四課(搖桿)
http://blog.ilc.edu.tw/blog/blog/868/post/93477/620718
Arduino第十五課(人體紅外線感測器)
http://blog.ilc.edu.tw/blog/blog/868/post/93477/620975
Arduino第十六課(主動式紅外線感測器)
http://blog.ilc.edu.tw/blog/blog/868/post/93477/621311
Arduino第十七課(繼電器)
http://blog.ilc.edu.tw/blog/blog/868/post/93477/622442
Arduino第二十課(電腦裡的馬達)
http://blog.ilc.edu.tw/blog/blog/868/post/93477/614292