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