指令方塊綜合應用

 軟體安裝&環境簡介   流程控制   指令方塊綜合應用    NXC編撰NXT程式  2014/02/03 謝碧景(c)編製更新

一、Move Block控制馬達運轉指令方塊

 範例1:讓馬達以90% Power正轉1圈。(檔名:NXT-G_move-1.rbt

 1.loop迴圈包含1個Move指令方塊。
 2.參數設定→馬達連接:B Port,旋轉方向Direction:正轉,Power:90,Action:Coast滑行。

註:
參數設定說明:
(1) Port:設定馬達連接至輸出埠(A、B、C),可多選控制多個馬達。
(2) Direction:設定馬達旋轉方向為正轉、反轉(即逆轉)、或停止。
(3) Steering:當同時控制兩個馬達時,參數可控制兩個馬達旋轉速度的不同(左右輪),讓車子達成轉彎的效果。
(4) Power:馬達電力0~100,數字越大,電力及馬達的旋轉速度越大。
(5)Duration:馬達旋轉期間的限制:Unlimited(不限制)、Degrees(角度)、Rotations(圈數)、Seconds(秒數)。
(6)Next Action:馬達運轉完後停止的方式,分兩種模式:Brake(剎車),或Coast(滑行)。

二、Wait Block等待指令方塊

基本面板中Wait指令,如下圖,包含右側不同之指令方塊(Time、Touch、Light、Sound、Distance、Color Sensor),分別依時間和各種感應器設定等待的條件。



範例2:按一下觸碰感應器,馬達會旋轉1圈。(檔名:NXT-G_wait-1.rbt)

 1.程式編輯面板:迴圈內【Touch→Move】指令方塊
 2.參數設定:觸碰感應器Sensor接到輸入埠 Prot 1,Action:Pressed。
 

三、Display Block&資料線&資料集線器

(一)資料線&資料集線器(Data Hub)

  • 程式將感應器或運算所得值傳給其他指令應用,則可利用資料線來傳送。資料線兩端為資料的輸入及資料的輸出。
  • 傳輸資料的型態分為數字(資料線為黃色)、邏輯(資料線為綠色)、文字(資料線為橙色)。
 範例3:將超音波測得的數值(輸出)傳送(輸入)給馬達做為控制馬達的電力。(檔名:NXT-G_data-1.rbt)
  • 示範程式:如下程式碼。
 1.Complete Palette完整面板→選取【SensorsUltrasonic Sensors→放至Start】處。
2.參數設定:Sensor 接到輸入埠 Prot 4,滑鼠點擊方塊底部,即可下拉展開資料集線器(Data Hub)

 3.Common Palette 基本面板選取Move→放至Ultrasonic Sensors】後
4.滑鼠點擊Move方塊底部,下拉展開資料集線器。


 5.滑鼠點擊Sensors資料集線器之輸出點 (滑鼠碰觸會顯示Distance)。
6.點擊Move資料集線器之輸入點,資料做為馬達的電力

 7.資料線連接完後,可收合資料集線器,再插入Loop,並拖曳Sensors及Move至Loop內。
8.Sensors參數設定為Centimeters公分,即可下載至NXT並執行。
  • 程式碼完成後,如下操作測試程
1.將USB線接上NXT主機,再按下NXT主機電源( 橙色按鈕:電源ON)。
2.按下【下載程式】即程式下載至NXT主機。
3.將USB線與NXT主機分離,即可測試程式。


(二)『Display Block』資料顯示

  • 選取【Complete Palette】完整面板→選取【Action】:包含Motor、Sound、Display、Send Message、Color Lamp

  • NXT主機的畫面顯示,如下圖參數設定,分為Image(影像)、Text(文字)、Drawing(繪圖)、Reset(重置),預設為Image影像模式;而感應器或馬達所回傳的資料都是數值資料型態,故欲顯示在LCD螢幕上,必須先將數值轉換成文字後才能顯示出。

 範例4:承上例,在LCD螢幕上顯示出超音波測得的值。

四、Variable Block & Math Block

  • 選取【Complete Palette】完整面板→選取【Data】:包含、Logic、Math、Compare、Range、Random、Variable、Constant
    • Variable Block 變數方塊:參數設定→資料型態包含Logic(邏輯)、Number(數值)、Text(文字)。
    • Math Block 數學方塊:參數設定→Operation 包含加法、減法、乘法、除法、絕對值、平方根等運算。

 範例5:新年倒數顯示:LCD螢幕上顯示出數字倒數,由10~1,後顯示“Happy New Year”。

五、感應器(sensor)應用

 範例6:入館人數統計,LCD螢幕會顯示入館人數,按下主機Enter按鈕開始計算,若按下觸碰感應器(Touch Sensor),則人數累加1,並顯示。