400 likes | 573 Views
魔法 NXT. NXT-G Programming 2009 探奇自然科學工作室. 使用者. 指令方塊面版. 程式區. 連線控制. 指令 參數區. 第一次接觸 NXT-G 軟體. Move Block 移動命令方塊. 移動方塊( MOVE ):控制機器人前進、後退、轉彎的好幫手。. Wait Block 等待命令方塊. 等待方塊( WAIT ):讓機器人進入等待狀態,一直到目前狀況符合設定條件,程式才會繼續執行。設定條件可以是「時間 TIME 」或是「感應器 SENSOR 」。. Loop Block 迴圈命令方塊.
E N D
魔法NXT NXT-G Programming 2009 探奇自然科學工作室
使用者 指令方塊面版 程式區 連線控制 指令 參數區 第一次接觸NXT-G軟體
Move Block 移動命令方塊 移動方塊(MOVE):控制機器人前進、後退、轉彎的好幫手。
Wait Block 等待命令方塊 等待方塊(WAIT):讓機器人進入等待狀態,一直到目前狀況符合設定條件,程式才會繼續執行。設定條件可以是「時間 TIME」或是「感應器 SENSOR」。
Loop Block 迴圈命令方塊 迴圈方塊(Loop):可以讓機器人程式重複執行。按下NXT的取消鍵才能將程式中斷停止。適合重複相同的動作。
挑戰練習:點到為止 試著寫出程式,執行下面的動作: 1. 直線前進 2. 等待撞到障礙物(觸碰感應器發出訊號) 3. 後退 4. 等待兩秒鐘 5. 停止程式
更改輸入端 現在的光源值 輔助光源開關 大於、小於 輸入比較數值
挑戰練習:懸崖勒馬 光源感應器 的數值小於? B馬達停止轉動 C馬達停止轉動 程式 開始 B馬達轉動 C馬達轉動
30 60 我測到的數值: 白色: 黑色: 30 60 30 60 Zip zap 軌跡車
2 3 4 X 軌跡車:轉彎方式 1.我們可以用兩個馬達命令方塊,分別控制左右輪的馬達,達到轉彎的目的。 2.調整馬達輸出力量大小,可以做出不同的轉彎效果,趕快試試看吧!
Motor Block 馬達命令方塊 馬達指令的參數調整: ① 想要控制馬達所連接的輸出端編號。 ② 正轉,反轉,停止選項 ③ 馬達輸出力量大小:數值愈大,馬達輸出量就愈大 ④ 馬達運轉期間:有無限、角度、圈數及秒數四種選擇
My Block 自製命令方塊 ★ 利用聲音命令方塊,讓NXT唱出小蜜蜂。 使用My Block功能 • 選擇想要重複執行的命令方塊。 • 按下Create My Block • My Block Builder:輸入方塊名稱,方塊意義敘述 • Icon Builder:選擇My Block 的圖示符號 • 按下Finish
輸入自製命令方塊的名稱 輸入自製命令方塊的功能敘述 我們利用六個聲音命令方塊演奏小蜜蜂的前面六個音符
選擇自製命令方塊的圖示,將圖案拖放到這裡,可以重複組合圖案,但是不要太複雜,不容易辨識。選擇自製命令方塊的圖示,將圖案拖放到這裡,可以重複組合圖案,但是不要太複雜,不容易辨識。
如何使用自製命令方塊? 1. 選擇Custom Palette 2. 選擇My Blocks 3. 拖拉你的自製命令方塊
挑戰練習:多工執行 • 設計程式達到下面攤販車叫賣的功能: • 車子前進,不斷發出聲音 • 等待觸碰感應器接收「壓下」訊號 • 聲音改變(或停止播放),車子後退直行2秒 • 車子轉彎,播放轉彎的聲音。 • 程式重複執行
Display Block 顯示命令方塊 Display Block 顯示命令方塊 • Image 圖案:選擇適當的圖檔,顯示在螢幕上 • Text 文字:顯示文字 • Drawing 圖形:畫出”點”,”線”,”圓圈” • Reset清除:清除畫面。
挑戰練習:臉上刺青 請撰寫程式,顯示一個微笑的臉,並且加上一段文字”HAPPY FACE” • 觀察你的程式,執行的狀況正常嗎? • 是不是來不及看見圖案? • 有了文字,沒有圖案?
挑戰練習:Try Touch 請撰寫程式,模擬Try Touch • 觀察你的程式,有哪些狀況? • 沒有圖案? • Wait Touch Sensor Block?
聲音感應器 聲音感應器好像人的耳朵,可以感覺「聲音的大小」(也就是音量)。這個聲音感應器其實就是一個麥克風,當周圍有聲音時,NXT就會收到一個關於聲音大小的訊號。 音量大小的單位是分貝(dB,decibel),NXT的聲音感應器最大可以偵測到90dB。為了方便判別,NXT的聲音感測器以百分比(%)表示聲音的大小。
*Data Hub:資料集線器 • 在每個命令方塊的下方可以將資料集線器拉出來。專門用來接收傳送各種資料。 • 每個集線器都有不同的插頭(Plug),可以連接資料線,插頭及資料線必須是同樣的資料型態。 • 詳細說明請參考Help說明檔。
*Data Wire:資料線 • 在命令方塊之間傳遞資訊,有”數值”(黃色)、”文字”(紅色)、”邏輯值”(綠色)三種不同顏色的資料線。 • 各種資料線有專門的資料型態,不可以混用。錯誤的資料線會變成灰色虛線。
選擇開關命令方塊 Switch Block 選擇開關命令方塊 判別的資訊種類
超音波感應器的設定 單位選擇: 公分(Centimeters) 英吋(Inches)
挑戰練習:雷射測距儀 瞄準目標,扣下扳機,根據距離判斷,發出不同聲音(或圖形)。 1 距離在80公分以下:發出Try Again聲音,顯示哭臉。 2 距離在80公分以上:發出Good Job聲音,顯示笑臉。 • 觀察你的程式,有哪些狀況? • 加上扣扳機的聲音? • 加上發射的聲音?
挑戰練習:雷射測距儀(顯示) ● 數字轉換文字命令方塊: 從CompleteAdvanced選取數字轉換文字命令方塊
隨機亂數介紹(Random) 亂數命令方塊就像一顆骰子,由NXT隨機決定骰子的點數。亂數的數字範圍可以從0到32767,每次產生的順序都不相同。我們可以利用這種隨意產生的數字讓機器人進行有趣的動作。
挑戰練習:NXT音樂創作 • 將產生的亂數數字傳送給聲音方塊。同時將亂數顯示在NXT螢幕。 • 利用資料線,把數字傳送給聲音命令方塊,聽聽看NXT也會創作音樂喔!亂數產生範圍可以改變喔!
Switch的判斷選擇設定 三個以上選項就必須用卡片方式顯示
挑戰練習:NXT划拳機 利用感應器當作開關,每按一次觸碰感應器,NXT產生亂數(範圍1-3),根據不同亂數顯示不同的圖案及聲音,大家一起來利用圖案進行剪刀石頭布遊戲。
變數介紹(Variable) A. 變數就像是一個箱子,可以存放資料,讓機器人「記住」這些資料。變數的資料分成三大類: 1. 邏輯值Logic:真(True);假(False)。 2. 數字Number:整數數值。 3. 文字Text:字元符號。 B. 我們可以對變數進行兩種動作: 1. 寫入:將資料放入變數。 2. 讀取:從變數取出資料。
比較方塊(Compare Block)可以進行數字的比較,你可以選擇大於Greater than、小於或是等於)。想要比較的數字可以直接輸入或是藉由資料線傳遞。 先寫一個簡單的程式,瞭解比較方塊的用法:
挑戰練習:計數器 • 自動計算 • 要如何才能讓NXT判斷我們按了3下觸碰感應器呢? • 我們需要使用比較方塊(Compare Block)進行比較。比較變數數值是否已經變成3。
挑戰練習:自動停車 自動停車 1. 要如何才能讓NXT判斷我們過了多少條黑線? 2. 我們需要使用哪一種感應器來判斷黑線呢? 3. 做一台小機器人車,試試看,你能讓機器人停在第四條黑線嗎?
NXT-G的進階面版指令(Advanced Palette) • 變數命令方塊(Variable) • 數學命令方塊(Math Block) • 比較命令方塊(Compare Block)