102學年度電子科樂高機器人營隊講義PPT

Download Report

Transcript 102學年度電子科樂高機器人營隊講義PPT

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