660 likes | 838 Views
內思高工電子科 樂高機器人. 均質化 樂高機器營隊. 主講人 : 陳俊湧 日 期 : 2013.10. NXT 介紹 1. 硬體架構 2. 軟體描述 二 .NXT-G 基礎面板 1. 馬達模組 2. 等待模組 3. 迴圈模組 4. 判斷模組 5. 聲音模組 6. 顯示模組 7. 記錄 / 學習模組 NXT-G 進階面版 1. 資料中心 2. 感測器模組
E N D
內思高工電子科 樂高機器人 均質化 樂高機器營隊 主講人 : 陳俊湧 日 期 : 2013.10
NXT 介紹 1.硬體架構 2.軟體描述 二.NXT-G 基礎面板 1.馬達模組 2.等待模組 3.迴圈模組 4.判斷模組 5.聲音模組 6.顯示模組 7.記錄/學習模組 • NXT-G 進階面版 1.資料中心 2.感測器模組 3.資料模組 4.高級模組 四. 應用實例
一.NXT 介紹 1.硬體架構 2.軟體描述
1.NXT硬體架構 NXT基本組成 : NXT控制器、伺服馬達、觸控感測器(port 1)、 聲音感測器(port 2)、紅外線感測器(port 3)、超音波感測器(port 4)
NXT 控制器: 主處理器 --- 32bits ARM7、256k Flash、64k SRAM、工作頻率 48M Hz 輔助運算器 --- 8bits AVR、4k Flash、512bits SRAM、工作頻率 9M Hz 藍牙通訊模組 --- 藍牙核心規範2.0+EDR系統、內建47K RAM、 外建8M Flash、工作頻率 26M Hz USB2.0 通訊介面 --- 傳輸速度 12M bits /s 輸入埠 X4 輸出埠 X3 螢幕 揚聲器 電源 連接線
NXT 控制器面板說明 : • My File --- 儲存NXT上編寫及電腦下載的軟體 • Try Me --- 測試感測器及馬達工作狀態 • NXT Program --- 不需透過電腦可以直接在NXT控制器上編輯程式控制機器人 • Setting --- 查看NXT的設置 ex. NXT版本、揚聲器、關機模式 • View --- 查看感測器及馬達的工作狀態和數據 • Bluetooth --- 透過藍牙技術和其它藍牙設備進行通訊傳輸
2.軟體描述 : NXT-G 使用LabView開發的編輯軟體 (1) 圖形化編輯 (循序、選擇、迴圈) --- 43個模組命令圖塊 (2) 循序漸進式的介面 --- 基礎面板、進階面板、自訂面板 (3) 39個實際案例
NXT-G 基礎面板 --- 軟體介面 NXT 整個工作面板分為 1.模組面板、2.編程區面板、3.控制面板、4.參數設置面板、5.教學區面板 五個面板
1.模組面板 : 基本面版、完整面板和自定面板三個面板 基本面板: 輸出功能模組、記錄功能模組、聲音功能模塊、顯示功能模組、等待功能模組、迴圈功能模組、分支功能模組等七個模組 基本面板(一) 可以設置A、B、C 三個輸出埠連接方式,馬達轉動方向、轉速 級別和延續時間等 記錄A、B、C 埠輸出動作,可以設置記錄時間,然後通過“播 放”功能,將剛才NXT 執行的動作複製出來 透過程式下載音效檔案到NXT,並保存在“Sound Files”檔 中,也可以自己來編寫
基本面板(二) 可以顯示圖像和文字,我們可以通過將“數位轉換為文字”功 能,將馬達和感測器的資料適時顯示在NXT 螢幕上 有時間和感測器等待模組,包括觸動感測器、聲音感測器、光電感測器和超聲波感測器等 等待模組 包括“無限迴圈、時間迴圈、感測器迴圈、次數迴圈和邏輯判 斷迴圈” 分支條件有感測器和參數值判斷,感測器分支包括“觸動、聲 音、光電、超聲波、溫度、角度、計時器、藍牙通訊和NXT 按 妞”,參數值分支包括“數位判斷、邏輯判斷和文字判斷”
完整面板: 基本功能模組、輸出功能模組、感測器設置模組、結構模組、資料運算模組、高級功能模組等六個模組,可以完成VB、C 語言所有的功能 包含“基本面板”裏所有的功能模組 輸出功能模組,包括馬達、燈泡、發送資訊(通過藍牙)、 聲音和NXT顯示器輸出模組 可以設置NXT 感測器、RCX 感測器、計時器感測器、NXT 按鈕 和接收信息(通過藍牙)模組 包括“等待、迴圈、分支”結構功能模組和停止輸出功能模組 可以定義變數,能進行資料運算,包括加、減、乘、除、大小、、 範圍和邏輯判斷 包括文字模組、數位轉換文字模組、保持啟動模組、檔存儲模 組、校准模組、重置馬達模組
自定面板: 包括自己定義的模組和下載的模組,通過自定模組,我們可以設置自己的功能模塊 能自己設計模組,根據需求可以設計成不同的圖示,能進行個 性化命名,將一段程式模組化可以把任務分解成若干小任務來 單獨完成,方便閱讀 可以從網路上下載模組,滿足自己的需求
2.編程區面板 程式開始圖 編寫程式時直接將要使用的功能模組從 “模塊面板”中拖到編程區進行設置即可
3.控制面板 (1)點擊彈出NXT 視窗,能查看NXT 連接狀態、可用記憶體空間、電池電量和版本等資訊 (2)下載程式到NXT,需要人為操作才能運行程式。 (3)下載程式到NXT,當下載成功後NXT 會自動運行剛下載的程式 (4)下載被選中的程式到NXT 並運行,可以單獨下載程式中的副程式進行測試。 (5)停止,中斷正在下載的程式。
4.參數設置面板: NXT 軟體中只有43 個功能模組(不包括自定義模組),但每個功能模組都有對應的參數面板,通過修改參數可以使模組實現不同的功能
5.教學區面板(一) 點擊積木塊圖示進入機器人教學區(39個範例) 從這裏我們可以訪問樂高工程學網站和樂高教育網
二.NXT-G 基礎面板 1.馬達模組 2.等待模組 3.迴圈模組 4.判斷模組 5.聲音模組 6.顯示模組 7.記錄/學習模組
1.馬達模組 (1)馬達連接到NXT 的哪個輸出埠。 (2)馬達運行的方向。 (3)馬達的能量。 (4)馬達運轉狀態
2.等待模組(一) ⒈感測器所連接的埠 ⒉等待模式 觸控感測器(port 1)
2.等待模組(二) 聲音感測器(port 2) 紅外線感測器(port 3)
2.等待模組(三) 超音波感測器(port 4) 其它感測器: NXT按扭、接收訊息、旋轉角度、溫度、壓力 ・・・・・・等等感測器
3.迴圈模組: 通過迴圈模組可以重複執行某一段指令 設置條件 --- 時間,次數,一個邏輯信號或者感測器的狀態 1.無窮迴圈 2.設置條件
3.迴圈模組(二) 設置條件 --- 感測器、計數、邏輯 感測器 計數 邏輯
4.判斷模組: 通過該模組可以在兩種不同情況間進行選擇 設置條件 --- 邏輯信號、感測器的狀態
5.聲音模組: 通過這個模組可以演奏一個音效檔案或者音節 ⒈這個圖示顯示是演奏音效檔案還是音節。 ⒉這個圖示顯示模組是開始還是停止演奏聲音。 ⒊這個圖示顯示模組的音量。四個橘黃色條代表音量最大。 ⒋可以通過資料中心來改變聲音模組的屬性
5.聲音模組(二) : 模組設定 • 音效檔 --- 內建或下載轉成.rso檔存於音效檔案夾 (2)透過音節特性可以自行編曲
6.顯示模組: 通過這個模組可以在NXT 的液晶屏上顯示一幅圖,寫入文 字,或者畫一個形狀 ⒈模組狀態 ⒉可以通過連接資料線到其他模組的資料中心來改變數值
7.學習/記錄模組: 通過該模組可以讓機器人據有學習功能。 也就是說機器人可以把機器人所做的動作先記錄下來, 然後再按照剛才的動作模仿一遍。
三.NXT-G 進階面版 1.資料中心 2.感測器模組 3.資料模組 4.高級模組
1.資料中心 透過模組下面的資料中心可完成模組之間的資料傳遞、運算等功能 點選打開 [A]輸入端 [B]輸出端 [C]數位資料線(黃色) [D]邏輯資料線(綠色) [E]文本資料線(橙色) [F]壞線(灰色)
2.感測器模組 (1)光電感測器模組 (2) NXT 按鈕模組 • 聲音感測器模組 (4)觸動感測器模組 (5)超聲波感測器 (6)計時器模組
(1)光電感測器模組 用來監測環境光值。通過資料線將感測器偵測到數值和觸發值做比較,然後將一個邏輯信號(真/假)傳遞出來 ⒈顯示光電感測器所連接埠。可以通過配置面板來進行埠定義。 ⒉顯示所設置的觸發點是多少。顏色條越多,所設觸發值越大。 ⒊顯示“發光”特性是否打開。 ⒋將模組放置到編程區後會自動打開光電感測器模組的資料中心。
(2) NXT 按鈕模組 當NXT 某個按鈕被觸發的時候,該模組將會通過資料線輸出一個“真”信號。 1.顯示NXT 按鈕被觸發的方式。 2.顯示哪一個NXT 按鈕被觸發。 3.將該模組放置到編程區域後會自動打開 模組的資料中心。 1.選擇觸發哪一個按鈕。 2.選擇觸發按鈕的觸發方式。
(3) 聲音感測器模組 用來監測聲音。通過資料線能夠將聲音感測器採集到的當前值和聲音是否高於觸發值或者低於觸發值所產生的邏輯信號(真/假)傳遞出來。 1.顯示聲音感測器所連接的埠。 2.顯示所設置觸發值的大小。 3.將模組放置到編程區後會自動打開其資料中心。 1.選擇聲音感測器所連接埠。 2.通過滑條來設定觸發值或者在輸入框內鍵入數值來設定。 亦可以透過下拉功能表來設定“真”“假”。
(4)觸動感測器模組 該模組在程式中的某一部分檢測觸動感測器的狀態。通過資料線傳送出所檢測出來的狀態,即邏輯信號(真或者假)。 ⒈選擇觸動感測器所連接埠。 ⒉觸動感測器的觸發有三種方式。 ⒊通過回饋控制箱來測試你的觸動感測器。 ⒈顯示觸動感測器連接到了幾埠。 ⒉顯示哪一種觸動感測器的狀態來 發送“真”信號 ⒊將觸動感測器模組拖拽到編程區後 會自動打開其資料中心。
(5)超聲波感測器 該模組探測物體的最大範圍是250 cm。透過資料線,能夠將模組測得數值和超聲波設定的數值比較,然後將信號(真/假)發送給其他模組。 ⒈選擇超聲波感測器所連接埠。 ⒉測量範圍 ⒊選擇讀取方式,釐米或英寸。 ⒋通過回饋控制箱能夠即時讀取超聲波感測器所讀取的數值。 ⒈顯示超聲波感測器所連接的埠。 ⒉顯示超聲波感測器是靠近探測物還是遠離探測物。 ⒊將模組拖拽到編程區後,會自動打開該模組的資料中心。
(6)計時器模組 當程式開始執行,NXT 內置的三個計時器將自動開始計時。通過該模組可以選擇讀取某一個計時器當前的值或者將某個計時器清零,重新計時。 透過資料線:傳送將當前計時器的值給其它模組 透過邏輯線:傳送比較結果的邏輯值給其它模組。 ⒈顯示監測哪一個內部計時器。 ⒉將該模組拖拽到編程區後會 自動打開其資料中心 ⒈選擇所要監測的計時器。 ⒉如果選擇“讀取”,計時器模組將會監測程式中已經設定好的某個位置。如果選擇“重置”,將會將該計時器清零。也可以在程式中放入另外一個計時器來進行監測。 ⒊在輸入框內鍵入觸發值(單位為秒)或者通過下拉功能表來指定“真”的區域範圍。
3.資料模組 • 比較模組 (2)運算模組 (3) 邏輯模組 (4)隨機模組 (5)範圍模組 (6)變數模組
比較模組 該模組能夠決定一個數是大於,小於還是等於另外一個數。輸入的數值可以鍵入或者是通過資料線來動態定義。 打開比較模組的資料中心,將會在其左側 看到兩個輸入埠, 在其右側有三個輸出埠。比較之後的結果 將從最底部的輸出埠輸出 ⒈可以鍵入輸入的數值或者通過資料線來動態定義。 ⒉通過下拉功能表,可以選擇3 種不同的比較方式: ■ 大於(>) ■ 小於(<) ■ 等於(=)
(2)運算模組 執行簡單的數學運算,比如加,減,乘和除。輸入值可以鍵入或者通過資料線動態定義。 ⒈輸入值可以鍵入或者通過資料線來進行動態定義。 ⒉通過下拉功能表可以進行四種運算: ■ 加(+)■ 減(-)■ 乘(*)■ 除(/) 資料中心的左側有兩個輸入埠(在左側), 三個輸出埠(在右側) 等式的結果將通過最底部的輸出埠輸出
(3) 邏輯模組 該模組在其輸入端執行一個邏輯操作,然後通過資料線將真/假結果輸出。 輸入可透過按鈕來定義或者資料線來動態定義。 ⒈選擇輸入A 和輸入B 或者通過資料線來對輸入值 進行動態定義。 ⒉通過下拉功能表你可以選擇四種運算: ■ AND ■ OR ■ NOT ■ EXOR 左側有兩個輸入端,右側有三個輸出端 邏輯模組判斷後的結果從最底部的埠輸出
(4)隨機模組: 通過該模組能夠產生一個亂數 資料中心的左側有兩個輸入埠(在左側), 三個輸出埠(在右側) 等式的結果將通過最底部的輸出埠輸出
(5)範圍模組 該模組能夠判斷一個數是在一定數值範圍之內還是之外。 數值範圍以在輸入框內輸入,使用滑條定義或者通過資料線動態定義。 結果邏輯(真/假)信號將通過資料線傳遞出去。 ⒈判斷值可以輸入,也可以通過資料線動態定 ⒉範圍的上限和下限可以通過滑條,鍵入數值, 或者通過資料線動態定義 ⒊通過下拉功能表可以選擇兩種操作: ■ 範圍內([]) ■ 範圍外(][) 資料中心有三個輸入埠(左側)和四個輸出埠(右側) 輸入埠可以通過其他模組的資料中心來動態定義 模組的邏輯輸出將通過最底部的輸出端輸出;