1、1內思高工電子科樂高機器人均質化樂高機器營隊 主講人:陳俊湧日 期 :2013.102一.NXT 介紹 1.硬體架構 2.軟體描述二.NXT-G 基礎面板 1.馬達模組 2.等待模組 3.迴圈模組 4.判斷模組 5.聲音模組 6.顯示模組 7.記錄/學習模組三.NXT-G 進階面版 1.資料中心 2.感測器模組 3.資料模組 4.高級模組四.應用實例3一.NXT 介紹 1.硬體架構 2.軟體描述41.NXT硬體架構NXT基本組成:NXT控制器、伺服馬達、觸控感測器(port 1)、聲音感測器(port 2)、紅外線感測器(port 3)、超音波感測器(port 4)5NXT 控制器:主處理器-
2、32bits ARM7、256k Flash、64k SRAM、工作頻率 48M Hz輔助運算器-8bits AVR、4k Flash、512bits SRAM、工作頻率 9M Hz藍牙通訊模組-藍牙核心規範2.0+EDR系統、內建47K RAM、外建8M Flash、工作頻率 26M HzUSB2.0 通訊介面-傳輸速度 12M bits/s輸入埠 X4 輸出埠 X3螢幕 揚聲器電源 連接線6NXT 控制器面板說明:1.My File-儲存NXT上編寫及電腦下載的軟體2.Try Me-測試感測器及馬達工作狀態3.NXT Program-不需透過電腦可以直接在NXT控制器上編輯程式控制機器人4
3、.Setting-查看NXT的設置 ex.NXT版本、揚聲器、關機模式5.View-查看感測器及馬達的工作狀態和數據6.Bluetooth-透過藍牙技術和其它藍牙設備進行通訊傳輸72.軟體描述:NXT-G 使用LabView開發的編輯軟體(1)圖形化編輯(循序、選擇、迴圈)-43個模組命令圖塊(2)循序漸進式的介面-基礎面板、進階面板、自訂面板(3)39個實際案例8NXT-G 基礎面板-軟體介面NXT 整個工作面板分為 1.模組面板、2.編程區面板、3.控制面板、4.參數設置面板、5.教學區面板 五個面板 91.模組面板:基本面版、完整面板和自定面板三個面板 可以設置A、B、C 三個輸出埠連接
4、方式,馬達轉動方向、轉速級別和延續時間等 記錄A、B、C 埠輸出動作,可以設置記錄時間,然後通過“播放”功能,將剛才NXT 執行的動作複製出來透過程式下載音效檔案到NXT,並保存在“Sound Files”檔中,也可以自己來編寫 基本面板(一)基本面板:輸出功能模組、記錄功能模組、聲音功能模塊、顯示功能模組、等待功能模組、迴圈功能模組、分支功能模組等七個模組10基本面板(二)可以顯示圖像和文字,我們可以通過將“數位轉換為文字”功能,將馬達和感測器的資料適時顯示在NXT 螢幕上 有時間和感測器等待模組,包括觸動感測器、聲音感測器、光電感測器和超聲波感測器等 等待模組 包括“無限迴圈、時間迴圈、感
5、測器迴圈、次數迴圈和邏輯判斷迴圈”分支條件有感測器和參數值判斷,感測器分支包括“觸動、聲音、光電、超聲波、溫度、角度、計時器、藍牙通訊和NXT 按妞”,參數值分支包括“數位判斷、邏輯判斷和文字判斷”11完整面板:基本功能模組、輸出功能模組、感測器設置模組、結構模組、資料運算模組、高級功能模組等六個模組,可以完成VB、C 語言所有的功能 包含“基本面板”裏所有的功能模組輸出功能模組,包括馬達、燈泡、發送資訊(通過藍牙)、聲音和NXT顯示器輸出模組 可以設置NXT 感測器、RCX 感測器、計時器感測器、NXT 按鈕和接收信息(通過藍牙)模組 包括“等待、迴圈、分支”結構功能模組和停止輸出功能模組
6、可以定義變數,能進行資料運算,包括加、減、乘、除、大小、範圍和邏輯判斷 包括文字模組、數位轉換文字模組、保持啟動模組、檔存儲模組、校准模組、重置馬達模組12自定面板:包括自己定義的模組和下載的模組,通過自定模組,我們可以設置自己的功能模塊 能自己設計模組,根據需求可以設計成不同的圖示,能進行個性化命名,將一段程式模組化可以把任務分解成若干小任務來單獨完成,方便閱讀可以從網路上下載模組,滿足自己的需求132.編程區面板 程式開始圖 編寫程式時直接將要使用的功能模組從 “模塊面板”中拖到編程區進行設置即可 143.控制面板(1)點擊彈出NXT 視窗,能查看NXT 連接狀態、可用記憶體空間、電池電量
7、和版本等資訊(2)下載程式到NXT,需要人為操作才能運行程式。(3)下載程式到NXT,當下載成功後NXT 會自動運行剛下載的程式(4)下載被選中的程式到NXT 並運行,可以單獨下載程式中的副程式進行測試。(5)停止,中斷正在下載的程式。154.參數設置面板:NXT 軟體中只有43 個功能模組(不包括自定義模組),但每個功能模組都有對應的參數面板,通過修改參數可以使模組實現不同的功能 165.教學區面板教學區面板(一一)點擊積木塊圖示進入機器人教學區(39個範例)從這裏我們可以訪問樂高工程學網站和樂高教育網175.教學區面板教學區面板(二二)18二.NXT-G 基礎面板 1.馬達模組 2.等待模
8、組 3.迴圈模組 4.判斷模組 5.聲音模組 6.顯示模組 7.記錄/學習模組19 1.馬達模組(1)馬達連接到NXT 的哪個輸出埠。(2)馬達運行的方向。(3)馬達的能量。(4)馬達運轉狀態202.等待模組(一)感測器所連接的埠等待模式觸控感測器(port 1)212.等待模組(二)聲音感測器(port 2)紅外線感測器(port 3)222.等待模組(三)超音波感測器(port 4)其它感測器:NXT按扭、接收訊息、旋轉角度、溫度、壓力 等等感測器233.迴圈模組:通過迴圈模組可以重複執行某一段指令 設置條件-時間,次數,一個邏輯信號或者感測器的狀態 1.無窮迴圈2.設置條件243.迴圈模
9、組(二)設置條件-感測器、計數、邏輯感測器計數邏輯254.判斷模組:通過該模組可以在兩種不同情況間進行選擇 設置條件-邏輯信號、感測器的狀態 265.聲音模組:通過這個模組可以演奏一個音效檔案或者音節 這個圖示顯示是演奏音效檔案還是音節。這個圖示顯示模組是開始還是停止演奏聲音。這個圖示顯示模組的音量。四個橘黃色條代表音量最大。可以通過資料中心來改變聲音模組的屬性 275.聲音模組(二):模組設定(1)音效檔-內建或下載轉成.rso檔存於音效檔案夾(2)透過音節特性可以自行編曲 286.顯示模組:通過這個模組可以在NXT 的液晶屏上顯示一幅圖,寫入文 字,或者畫一個形狀 模組狀態 可以通過連接資
10、料線到其他模組的資料中心來改變數值297.學習/記錄模組:通過該模組可以讓機器人據有學習功能。也就是說機器人可以把機器人所做的動作先記錄下來,然後再按照剛才的動作模仿一遍。30三.NXT-G 進階面版 1.資料中心 2.感測器模組 3.資料模組 4.高級模組311.資料中心透過模組下面的資料中心可完成模組之間的資料傳遞、運算等功能點選打開AA 輸入端BB 輸出端CC 數位資料線(黃色)DD 邏輯資料線(綠色)EE 文本資料線(橙色)FF 壞線(灰色)322.感測器模組(1)光電感測器模組 (2)NXT 按鈕模組(3)聲音感測器模組 (4)觸動感測器模組(5)超聲波感測器 (6)計時器模組 33
11、(1)光電感測器模組光電感測器模組 用來監測環境光值。通過資料線將感測器偵測到數值和觸發值做比較,然後將一個邏輯信號(真/假)傳遞出來 顯示光電感測器所連接埠。可以通過配置面板來進行埠定義。顯示所設置的觸發點是多少。顏色條越多,所設觸發值越大。顯示“發光”特性是否打開。將模組放置到編程區後會自動打開光電感測器模組的資料中心。34介面介面資料類型資料類型範圍範圍數值代表什麼數值代表什麼埠數值1-41=埠1,2=埠2,3=埠3,4=埠4觸發點數值0-100用來做比較的數值大於/小於邏輯值真/假用來比較的邏輯值 真=大於,假=小於發光邏輯值真/假決定光電感測器自身的燈是打開還是關閉是/否邏輯值真/假
12、比較的結果光值數值0-100經過處理的數值原始值數值0-1024沒經過處理的數值光電感測器資料中心埠的不同特性光電感測器資料中心埠的不同特性 35(2)NXT NXT 按鈕模組按鈕模組當NXT 某個按鈕被觸發的時候,該模組將會通過資料線輸出一個“真”信號。1.顯示NXT 按鈕被觸發的方式。2.顯示哪一個NXT 按鈕被觸發。3.將該模組放置到編程區域後會自動打開 模組的資料中心。1.選擇觸發哪一個按鈕。2.選擇觸發按鈕的觸發方式。36NXT NXT 按鈕模組資料中心埠的不同特性按鈕模組資料中心埠的不同特性 介面介面資料類型資料類型範圍範圍數值代表什數值代表什麼麼按鈕數值1-31=向右鍵2=向左鍵
13、3=確認鍵動作數值0-20=按下1=鬆開2=按下後鬆開是/否邏輯值真/假比較的結果37(3)(3)聲音感測器模組聲音感測器模組用來監測聲音。通過資料線能夠將聲音感測器採集到的當前值和聲音是否高於觸發值或者低於觸發值所產生的邏輯信號(真/假)傳遞出來。1.顯示聲音感測器所連接的埠。2.顯示所設置觸發值的大小。3.將模組放置到編程區後會自動打開其資料中心。1.選擇聲音感測器所連接埠。2.通過滑條來設定觸發值或者在輸入框內鍵入數值來設定。亦可以透過下拉功能表來設定“真”“假”。38聲音感測器模組資料中心埠的不同特性聲音感測器模組資料中心埠的不同特性 介面介面資料類型資料類型範圍範圍數值代表什麼數值代
14、表什麼埠數值1-41=埠1,2=埠2,3=埠3,4=埠4觸發值數值0-100所對比的數值大於/小於邏輯值真/假用來比較的邏輯值:真=大於,假=小於dBA邏輯值真/假真=dBA 模式假=dB 模式是/否邏輯值真/假比較的結果聲音值數值0-100經過處理的數值原始值數值0-1024沒有經過處理的原始值39(4)觸動感測器模組觸動感測器模組 該模組在程式中的某一部分檢測觸動感測器的狀態。通過資料線傳送出所檢測出來的狀態,即邏輯信號(真或者假)。顯示觸動感測器連接到了幾埠。顯示哪一種觸動感測器的狀態來 發送“真”信號將觸動感測器模組拖拽到編程區後 會自動打開其資料中心。選擇觸動感測器所連接埠。觸動感測
15、器的觸發有三種方式。通過回饋控制箱來測試你的觸動感測器。40觸動感測器模組資料中心埠的不同特性觸動感測器模組資料中心埠的不同特性 介面介面資料類型資料類型範圍範圍數值代表什麼數值代表什麼埠數值1-41=埠1,2=埠2,3=埠3,4=埠4動作數值0-20=按下1=彈開2=緩衝是/否邏輯值真/假比較的結果原始值數值0-1024感測器所讀取的原始值41(5)超聲波感測器超聲波感測器該模組探測物體的最大範圍是250 cm。透過資料線,能夠將模組測得數值和超聲波設定的數值比較,然後將信號(真/假)發送給其他模組。顯示超聲波感測器所連接的埠。顯示超聲波感測器是靠近探測物還是遠離探測物。將模組拖拽到編程區後
16、,會自動打開該模組的資料中心。選擇超聲波感測器所連接埠。測量範圍選擇讀取方式,釐米或英寸。通過回饋控制箱能夠即時讀取超聲波感測器所讀取的數值。42介面介面資料類型資料類型範圍範圍數值的涵義數值的涵義埠數值1-41=埠1,2=埠23=埠3,4=埠4觸發值數值0-255(cm)0-100(in)對比的數值大於/小於邏輯值真/假用來比較的邏輯值:真=大於,假=小於是/否邏輯值真/假比較的結果距離數值0-255(cm)0-100(in)感測器所讀取的數值超聲波感測器模組資料中心埠的不同特性超聲波感測器模組資料中心埠的不同特性 43(6)計時器模組計時器模組當程式開始執行,NXT 內置的三個計時器將自動
17、開始計時。通過該模組可以選擇讀取某一個計時器當前的值或者將某個計時器清零,重新計時。透過資料線:傳送將當前計時器的值給其它模組透過邏輯線:傳送比較結果的邏輯值給其它模組。顯示監測哪一個內部計時器。將該模組拖拽到編程區後會 自動打開其資料中心選擇所要監測的計時器。如果選擇“讀取”,計時器模組將會監測程式中已經設定好的某個位置。如果選擇“重置”,將會將該計時器清零。也可以在程式中放入另外一個計時器來進行監測。在輸入框內鍵入觸發值(單位為秒)或者通過下拉功能表來指定“真”的區域範圍。44顯示計時器模組資料中心埠的不同特性顯示計時器模組資料中心埠的不同特性 介面介面資料類型資料類型範圍範圍數值代表的涵
18、義數值代表的涵義計時器數值1-31=計時器1,2=計時器2,3=計時器3觸發值數值0-100用來比較的數值大於/小於邏輯值真/假用來對比的邏輯值:真=大於,假=小於重置邏輯值真/假真=重置計時器假=讀取計時器是/否邏輯值真/假比較的結果計時器的值數值0-4294967296以毫秒為單位的計時器的值453.資料模組(1)比較模組 (2)運算模組(3)邏輯模組 (4)隨機模組(5)範圍模組 (6)變數模組46(1)比較模組該模組能夠決定一個數是大於,小於還是等於另外一個數。輸入的數值可以鍵入或者是通過資料線來動態定義。打開比較模組的資料中心,將會在其左側看到兩個輸入埠,在其右側有三個輸出埠。比較之
19、後的結果將從最底部的輸出埠輸出可以鍵入輸入的數值或者通過資料線來動態定義。通過下拉功能表,可以選擇3 種不同的比較方式:大於()小於()等於(=)47(2)運算模組執行簡單的數學運算,比如加,減,乘和除。輸入值可以鍵入或者通過資料線動態定義。資料中心的左側有兩個輸入埠(在左側),三個輸出埠(在右側)等式的結果將通過最底部的輸出埠輸出 輸入值可以鍵入或者通過資料線來進行動態定義。通過下拉功能表可以進行四種運算:加(+)減(-)乘(*)除(/)48(3)邏輯模組該模組在其輸入端執行一個邏輯操作,然後通過資料線將真/假結果輸出。輸入可透過按鈕來定義或者資料線來動態定義。左側有兩個輸入端,右側有三個輸
20、出端邏輯模組判斷後的結果從最底部的埠輸出 選擇輸入A 和輸入B 或者通過資料線來對輸入值 進行動態定義。通過下拉功能表你可以選擇四種運算:AND OR NOT EXOR49(4)隨機模組:通過該模組能夠產生一個亂數 資料中心的左側有兩個輸入埠(在左側),三個輸出埠(在右側)等式的結果將通過最底部的輸出埠輸出 50(5)範圍模組該模組能夠判斷一個數是在一定數值範圍之內還是之外。數值範圍以在輸入框內輸入,使用滑條定義或者通過資料線動態定義。結果邏輯(真/假)信號將通過資料線傳遞出去。資料中心有三個輸入埠(左側)和四個輸出埠(右側)輸入埠可以通過其他模組的資料中心來動態定義模組的邏輯輸出將通過最底部
21、的輸出端輸出;判斷值可以輸入,也可以通過資料線動態定範圍的上限和下限可以通過滑條,鍵入數值,或者通過資料線動態定義通過下拉功能表可以選擇兩種操作:範圍內()範圍外()51 (6)變數模組a.a.模組功能模組功能:變數存儲在NXT 記憶體空間的某個位置。其他模組可以通過資料線來存取變數值。b.b.創建一個變數創建一個變數命名&資料型態Read/Write524.高級模組(1)校準模組 (2)檔案模組(3)保持啟動模組 (4)數字轉成文字模組(5)重置馬達模組 (6)文件模組53(1)校準模組使用這個模組來校準聲音或者光電感測器所探測到的最小值(0%)和最大值(100%)選擇感測器所連接埠。選擇所
22、要校準的感測器。通過這個下拉功能表,可以選擇校準一個新的值 或刪除先前設定的值。選擇校準感測器的最大值或是最小值。透過資料線可以對數值參數進行動態定義 54(2)檔案模組通過這個模組能夠將資料以文件的形式保存到NXT 表示該模組是設置為:寫,讀,關閉,或者刪除檔。55(3)保持啟動模組阻止NXT 進入自動關機模式 保持啟動模組沒有可設置的 56(4)數字轉成文字模組將一個數值(比如感測器讀取的數值)轉換成文字同時顯示在NXT 的液晶螢幕上輸入值可以輸入或者通過資料線進行動態定義 輸入值可以通過連接到資料中心左側的埠來進行動態定義文字輸出只能從右側的埠輸出 可以輸入數值或者通過資料線進行動態定義
23、 57(5)重置馬達模組:互動式伺服馬達有一個自動校正機構可以使機器人 運動更精確 模組右上角的字母代表重置哪個埠的電機 選擇要控制的輸出埠 58(6)文件模組:將一組字元組合到一起形成文件輸出文字將通過右側的輸出埠輸出可以通過輸入埠相對的輸出埠將輸入端的資訊傳遞出去 通過A,B,C 來輸入不同的文字或者通過資料線動態定義 59四.應用實例機器人沿黑線行走,當機器人碰到牆壁,就停止任務。第一步:機器人走黑線 60第一個傳動模組設置 第二個光電模組設置 61第三個傳動模組設置 第四個傳動模組設置 62第五個光電模組設置 第六個傳動模組設置 63第七個觸動感應器設置 64第二步:判斷是否碰到牆壁如果碰到牆壁,則使用“停止模組”停止整個程序的運行 65第三步:完整程序66The End