PICOBOARD感測器基礎用法
驅動程式在這裡
第二章 基礎篇 Scratchboard的能耐-認識Scratchboard上的5種感測器
◎學習目標:
2-1按鍵感測器的運用
2-2聲音感測器的運用
2-3光線感測器的運用
2-4滑桿感測器的運用
2-5電阻感測器的運用
◎課程實作
注意事項,在開始使用所有感測器之前,你應該將感測器板連接驅動完成,否則會造成SCRATCH程式抓不到偵測值而當掉。
2-1按鍵感測器的運用:
按鈕感測器位置
圖2-1-1
觀察按壓按鈕感測器後ScratchBoard監視器的變化,當按下按鈕時,顯示為True,按下按鈕時,顯示為false,如下圖
圖2-1-2
練習一,一般用法,設定小貓在按壓按鈕時變胖,我們利用「偵測器(按下按鈕)」、「如果否則」並包覆「重複執行」,讓電腦一直重複偵測是否有按下按鈕,如果有按下按鈕,就將魚眼特效設定為100,否則為0,程式(程式2-1A)如下
圖2-1-3
點選綠旗開始執行,執行結果如下
圖2-1-4
圖2-1-5
練習二,按壓按鈕瞬間動作,設定小貓在“按下按鈕瞬間”變胖,我們利用「如果」迴圈並包覆「重複執行」,讓電腦一直重複偵測是否有按下按鈕,當按鈕狀態由未按下的false→改變成按下的true時,就廣播變胖特效,在廣播程式中為了讓變胖特效被看見,因此使用了等待0.5秒,而使用廣播才不會將程式拖慢導致偵測出現空窗期,程式(2-1B)如下:
圖2-1B
練習三,放開按鈕瞬間動作
如果是要按鈕放掉時才產生動作,則只要修改顛倒將“偵測器按下按鈕”和“偵測器按下按鈕不成立”互換即可。
圖2-1C
2-2聲音感測器的運用
聲音感測器位置
圖2-2-1
觀察聲音感測器在ScratchBoard監視器的變化,你會發現在聲音的欄位,數字一直跳動,聲音感測值上下限在0-100之間,而聲音越大聲,數字就越大。
圖2-2-2
練習一,無段用法,我們將聲音的感測值直接放進鬼的特效設定中,因為鬼特效變化的範圍恰好也是0(存在)-100(隱形透明),因此不用額外做調整,並記得設定重複執行,同時為避免程式執行太快,人類眼睛無法捕捉變化,因此迴圈中增加一個0.1秒等待時間(非必要,視情況而定),讓聲音偵測及畫面顯示慢下來,程式如圖
圖2-2-3
點選綠旗執行後發現,聲音越大,小貓越透明,當聲音到達100時,小貓會消失
圖2-2-4
圖2-2-5
練習二,哨兵值用法,選定一個值,在大於、小於或等於此數值時產生動作。我們設定當聲音感測器的值大於50的時候,就讓小貓說請安靜點,小於50的時候,就說你們很乖,由於感測器值本身是一個橢圓形的數值積木,因此必須加上六角形的判斷積木才能放置在控制程式中做為判斷,同時別忘記要隨時判斷的程式,都要加上重複執行,如果怕變動太快,就要加上等待時間,程式如圖
圖2-2-6
點綠旗後執行結果如圖
圖2-2-7
圖2-2-8
練習三,多重範圍選擇,將聲音偵測的結果,切割成多個部分,範例中我們將聲音的偵測值分為三部分,如果在100~67,我們設定小貓的高度停在Y座標=100的位置,如果在66-34,我們設定小貓的高度停在Y座標=0的位置,如果在33-0,我們設定小貓的高度停在Y座標=-100的位置,如下圖
圖2-2-9
當點選綠旗執行時,聲音的數值一定會落在其中一個區間中,因此小貓的高度會在三個位置中變動,如圖
圖2-2-10
圖2-2-11
圖2-2-12
2-3光線感測器的運用
光線感測器位置
圖2-3-1
觀察光線的變化對比ScratchBoard監視器上光線偵測器的變化,當光線強時數字變大,當光線弱時,數字變小,可以使用手電筒或開關電燈測試,如下圖
圖2-3-2
練習一,設計一個會隨著光線無段變化的舞台背景
我們先點選舞台,並在背景選擇匯入一張圖片,並將舊的空白背景刪除。
圖2-3-3
撰寫舞台背景程式,使用外觀積木裡的亮度特效設定,將光線的偵測值置入,做為亮度的設定值,並設定重複執行,讓程式不斷偵測光線的亮度,然後調整舞台背景所呈現的亮度。程式如2-3-4
圖2-3-4
執行後你會發現,當光線亮度比較亮時,舞台畫面有些過亮過白,然後光線暗時,舞台背景還是很亮,如圖
圖2-3-5
圖2-3-6
我們必須做一點調整,讓光線的值所產生的舞台背景亮度比較適合現場的情況,因此我們使用運算積木,將光線的偵測值預先減掉50,再放進外觀的亮度設定中,如此一來現場的光線和舞台的亮度就會比較吻合了。程式如2-3-7
圖2-3-7
練習二,哨兵值用法,選定一個值,在大於、小於或等於此數值時觸發某個事件,本例中,我們讓光線大於80時,小貓會說早安,否則就閉嘴。所以我們使用如果否則來控制流程,並不斷的重複偵測。
圖2-3-8
當光線值大於80時,小貓會說早安
圖2-3-9
當光線值小於80時,小貓不說話
圖2-3-10
練習三,多重範圍選擇,將光線偵測的結果,切割成多個部分,按照光線偵測值的落點,範例中我們將光線的偵測值分為三部分,如果在100~67,我們設定小貓因為太陽太大,快被蒸發而求救,如果在66-34,我們設定小貓抱怨太陽太熱,如果在33-0,我們設定小貓最舒服自在
圖2-3-11
執行之後,光線很強時,小貓快要消失,且說要被蒸發了
圖2-3-12
執行之後,光線中等時,小貓消失一半,抱怨太陽太大
圖2-3-13
執行之後,光線很暗時,小貓最舒適
圖2-3-14
2-4滑桿感測器的運用
滑桿感測器的位置
圖2-4-1
觀察移動滑桿時ScratchBoard監視器上滑桿偵測器的數字變化,數字會從0-100變化
練習一,無段用法,我們來做一個塔防遊戲的炮台,讓滑桿可以控制炮口轉動的方向。
首先,新增一個巫師角色,並設定其造型中心在背部與魔術棒同一高度的位置, 以利巫師轉向時看起來比較自然,並將巫師位置置放於左側中間,我們假定巫師棒的位置向右。
圖2-4-2
設定外觀的『面向』積木,將滑桿偵測值置入,並設定重複執行,如程式2-4-3
圖2-4-3
因為滑桿的偵測值是0-100,與角色的轉向方位不同,因此我們要將偵測值做一點調整,我們先用100將它減去,目的是為了讓角色旋轉方向反轉,並和滑桿移動方向配合,然後將結果乘上1.75倍,這是目測並調整出來的值,讓主角旋轉的角度控制在右方,0-180度位置。程式如2-4-4
圖2-4-4
點選綠旗後執行結果如下,當我們滑動滑桿時,巫師會拿著魔術棒在右邊180度的範圍內旋轉
圖2-4-5
圖2-4-6
圖2-4-7
2-5電阻感測器的運用
電阻感測器的位置
圖2-5-1
一共有四個電阻感測器可以任意使用,我們將鱷魚夾線連接在電阻感測器D的插孔,然後觀察ScratchBoard監視器上電阻感測器D的數字變化,你會發現當鱷魚夾分開時,D的數值停留在100
圖2-5-2
圖2-5-3
當鱷魚夾互碰時,D的數值則停留在0
圖2-5-4
圖2-5-5
有趣的是,鱷魚夾果中間接上含有水分,或是會導電的東西的話
例如把鱷魚夾夾在2B鉛筆畫的兩端
如圖2-5-6
你會發現電阻感應D的數字竟然會變化,本例D的值約95
如圖2-5-7
例如把鱷魚夾夾在檸檬皮的兩端
如圖2-5-8
你會發現電阻感應D的數字停留在約79
如圖2-5-9
把鱷魚夾夾在檸檬比較多水分的果肉而且靠近一點的話
如圖2-5-10
你會發現電阻感應D的數字變得更小,本例約為71
如圖2-5-11
如果把鱷魚夾夾在水杯的兩端
如圖2-5-12
你會發現電阻感應D的數字停留在約71
如圖2-5-13
如果把水杯擠些檸檬汁下去,把檸檬也丟進去
如圖2-5-14
你會發現電阻感應D的數字縮小到46
如圖2-5-15
是不是很有趣?你可以多多做一些嘗試,你會發現原來越會導電的東西,在這裡的數字越小,而越不會導電的東西,在這裡的數字越大,有沒有想起國小自然課物體的導電性實驗、還有水溶液酸鹼性導電的實驗呢?有沒有想到一些有趣的應用呢?人體其實也會導電的哦,你可以試試用兩隻手分別握住鱷魚夾兩端,你會發現數字跳動,而且如果雙手是潮濕的效果更明顯,所以手如果濕濕的,最好不要按電燈開關,以免容易觸電啦!