NXT崑山課程簡報

Download Report

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. 加上發射的聲音?
挑戰練習:雷射測距儀(顯示)
● 數字轉換文字命令方塊:
從
CompleteAdvanced
選取數字轉換文字命
令方塊
隨機亂數介紹(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)