新DiFi第14課視訊控制

Scratch2.0有[視訊控制]積木,搭配使用電腦(筆電)的攝影機就可以控制新DiFi學習板。

在[偵測]類下有3個視訊的積木。

接線圖:

使用Jump直接將D5和LEDB、D6和LEDR、D7和LEDG兩兩接上。

因為這是共陰極RGB LED,共用的負極已經內接了。

 

數位輸出為1(3.3V)時LED,數位輸出為0(0V)時LED熄滅

一、視訊控制LED顏色

碰到畫面上的紅、黃、綠色圖案時,LED燈就會亮對應的顏色

[]腳色:

[將視訊設定為(開啟)],啟動視訊攝影機。

[設定視訊透明度為90%],設定視訊影像透明度。

重複執行偵測:

[video(動作)on(這個腳色)],判斷綠色圖案是否有被碰到。

如果有碰到,數值會大於20,就讓腳位7輸出1(高電位)讓LED亮綠色。

否則就讓腳位7輸出0(低電位),讓LED不要亮綠色。

[]腳色:

重複執行偵測:

[video(動作)on(這個腳色)],判斷紅色圖案是否有被碰到。

如果有碰到,數值會大於20,就讓腳位6輸出1(高電位)讓LED亮紅色。

否則就讓腳位6輸出0(低電位),讓LED不要亮紅色。

[]腳色:

重複執行偵測:

[video(動作)on(這個腳色)],判斷綠色圖案是否有被碰到。

如果有碰到,數值會大於20,就讓腳位5輸出1(高電位)讓LED亮藍色。

否則就讓腳位5輸出0(低電位),讓LED不要亮藍色。

程式下載: 3色LED(視訊).sb2

二、視訊控制LED顏色(說出顏色)

碰到畫面上的紅、黃、綠色圖案時,LED燈就會亮對應的顏色,並說出顏色。

[]腳色:

[將視訊設定為(開啟)],啟動視訊攝影機。

[設定視訊透明度為70%],設定視訊影像透明度。

重複執行偵測:

[video(動作)on(這個腳色)],判斷綠色圖案是否有被碰到。

如果有碰到,數值會大於20,就讓腳位7輸出1(高電位)讓LED亮綠色,並說[綠燈]。

否則就讓腳位7輸出0(低電位),讓LED不要亮綠色。

[]腳色:

重複執行偵測:

[video(動作)on(這個腳色)],判斷紅色圖案是否有被碰到。

如果有碰到,數值會大於20,就讓腳位6輸出1(高低電位)讓LED亮紅色,並說[紅燈]。

否則就讓腳位6輸出0(電位),讓LED不要亮紅色。

[]腳色:

重複執行偵測:

[video(動作)on(這個腳色)],判斷綠色圖案是否有被碰到。

如果有碰到,數值會大於20,就讓腳位5輸出1(高低電位)讓LED亮藍色,並說[藍燈]。

否則就讓腳位5輸出0(電位),讓LED不要亮藍色。

程式下載3色LED說.sb2

三、視訊控制LED顏色加上音樂彈奏

碰到畫面上的紅、黃、綠色圖案時,LED燈就會亮對應的顏色,同時發出音樂聲音。

[]腳色:

[將視訊設定為(開啟)],啟動視訊攝影機。

[設定視訊透明度為70%],設定視訊影像透明度。

[設定樂器為1],設定樂器為鋼琴。

重複執行偵測:

[video(動作)on(這個腳色)],判斷綠色圖案是否有被碰到。

如果有碰到,數值會大於20,就讓腳位7輸出1(電位)讓LED亮綠色,並彈奏音符。

否則就讓腳位7輸出0(電位),讓LED不要亮綠色。

[]腳色:

重複執行偵測:

[video(動作)on(這個腳色)],判斷紅色圖案是否有被碰到。

如果有碰到,數值會大於20,就讓腳位6輸出1(高電位)讓LED亮紅色,並彈奏音符。

否則就讓腳位6輸出0(低電位),讓LED不要亮紅色。

[]腳色:

重複執行偵測:

[video(動作)on(這個腳色)],判斷綠色圖案是否有被碰到。

如果有碰到,數值會大於20,就讓腳位5輸出1(高電位)讓LED亮藍色,並彈奏音符。

否則就讓腳位5輸出0(低電位),讓LED不要亮藍色。

程式下載3色LED音樂.sb2

四、RGB三色LED調色

碰到畫面上的紅、黃、綠色圖案時,LED燈對應的顏色亮度會改變,同時發出音樂聲音,調整RGB(紅、綠、藍)的不同亮度,就可以混成各種不同的顏色。

利用PWM模擬不同的電壓輸出,控制數位腳位5、6、7的類比輸出(PWM),來控制LED三種顏色的亮度,控制混成的顏色。

因為這是共陰極RGB LED,共用的負極已經內接了。

類比輸出255(3.3V)時LED,類比輸出為0(0V)時LED熄滅

在舞台背景畫出漸暗、漸亮(因為不能直接輸入中文,可以利用繪圖軟體製作圖片,再匯入,舞台大小為寬480像素、高360像素)。

製作紅、綠、藍三個變數,來控制RGB顏色亮度

製作6個顏色腳色,碰觸後分別增加或減少LED的亮度變數

紅、綠、藍腳色代表碰觸後變數值減少(變暗),圖案放左邊;紅亮、綠亮、藍腳色代表碰觸後變數值增加(變亮),圖案放左邊。

為了區別漸暗和漸亮,設定樂器為1(鋼琴,代表漸暗)和樂器12(長笛,代表),讓碰觸時發出的樂器聲音不一樣。

將變數值放中間可以觀察變數的改變情形。

數值愈小愈數值愈大愈

[]腳色:

[將視訊設定為(開啟)],啟動視訊攝影機。

[設定視訊透明度為50%],設定視訊影像透明度。

[設定樂器為1],設定樂器為鋼琴。

[設定變數(綠)為0],將亮度變數一開始設定為0(暗)

重複執行偵測:

[video(動作)on(這個腳色)],判斷綠色圖案是否有被碰到。

如果有碰到,數值會大於20,就 [ 將變數綠改變 -10 ] (變暗), [ 腳位7類比輸出(綠) ] ,並彈奏音符。

[如果 (綠) 變數 > 0 ],因為類比輸出(PWM)的值在0~255之間,怕變數變成負數,所以增加這個判斷。

[]腳色:

 

[設定樂器為1],設定樂器為鋼琴。

[設定變數(紅)為0],將亮度變數一開始設定為0(暗)

重複執行偵測:

[video(動作)on(這個腳色)],判斷紅色圖案是否有被碰到。

如果有碰到,數值會大於20,就 [ 將變數紅改變 -10 ] (變暗), [ 腳位6類比輸出(紅) ] ,並彈奏音符。

[如果 (紅) 變數 > 0 ],因為類比輸出(PWM)的值在0~255之間,怕變數變成負數,所以增加這個判斷。

[]腳色:

[設定樂器為1],設定樂器為鋼琴。

[設定變數(藍)為0],將亮度變數一開始設定為0(暗)

重複執行偵測:

[video(動作)on(這個腳色)],判斷藍色圖案是否有被碰到。

如果有碰到,數值會大於20,就 [ 將變數藍改變 -10 ] (變暗), [ 腳位5類比輸出(藍) ] ,並彈奏音符。

[如果 (藍) 變數 > 0 ],因為類比輸出(PWM)的值在0~255之間,怕變數變成負數,所以增加這個判斷。

[綠亮]腳色:

[設定樂器為12],設定樂器為長笛。

重複執行偵測:

[video(動作)on(這個腳色)],判斷綠色圖案是否有被碰到。

如果有碰到,數值會大於20,就 [ 將變數綠改變 10 ] (變亮), [ 腳位7類比輸出(綠) ] ,並彈奏音符。

[如果 (綠) 變數 <255 ],因為類比輸出(PWM)的值在0~255之間,怕變數大於255,所以增加這個判斷。

[]腳色:

[設定樂器為12],設定樂器為長笛。

重複執行偵測:

[video(動作)on(這個腳色)],判斷紅色圖案是否有被碰到。

如果有碰到,數值會大於20,就 [ 將變數紅改變 10 ] (變亮), [ 腳位6類比輸出(紅) ] ,並彈奏音符。

[如果 (紅) 變數 <255 ],因為類比輸出(PWM)的值在0~255之間,怕變數大於255,所以增加這個判斷。

[]腳色:

[設定樂器為12],設定樂器為長笛。

重複執行偵測:

[video(動作)on(這個腳色)],判斷藍色圖案是否有被碰到。

如果有碰到,數值會大於20,就 [ 將變數藍改變 10 ] (變亮), [ 腳位5類比輸出(藍) ] ,並彈奏音符。

[如果 (藍) 變數 <255 ],因為類比輸出(PWM)的值在0~255之間,怕變數大於255,所以增加這個判斷。

當碰到畫面上的紅、黃、綠色圖案時,LED燈對應的顏色亮度會改變,調整上面的RGB(紅、綠、藍)的不同亮度,就可以混成各種不同的顏色的光。

程式下載3色LED(PWM).sb2

———————————-

相關連結:

新DiFi課程目錄
http://blog.ilc.edu.tw/blog/blog/868/post/104089/678192

DiFi課程目錄
http://blog.ilc.edu.tw/blog/blog/868/post/100870/660551

WFduino(Arduino)課程目錄
http://blog.ilc.edu.tw/blog/blog/868/post/97509/641433 

roc

宜蘭縣國小資訊小站

您可能也會喜歡…