修平科技大學 電機工程系 -...
TRANSCRIPT
-
實 務 專 題 報 告 書 無 人 遙 控 載 具 研 製
指導老師:謝承達
專題製作學生:
四技電三乙林佑丞 BD103076
四技電三乙聶記剛 BD103070
中華民國 106 年 6 月 1 日
修平科技大學 電機工程系
DEPARTMENT OF ELECTRICAL ENGINEERING
HSIUPING UNIVERSITY OF SCIENCE AND TECHNOLOGY
-
修 平 科 技 大 學 電機工程系
HSIU-PING UNIVERSITY OF SCIENCE
AND TECHNOLOGY
DEPARTMENT OF ELECTRICAL ENGINEERING
指導老師:謝承達
專題製作學生:林佑丞、聶記剛
製作日期:106 年 6 月 1 日
-
摘要
本專題研究利用 mcore 晶片、2 個 DC 直流馬達、藍芽模組、珍珠板、一
般塑膠袋、2 個小型導風扇等結合在一起,利用 DC 直流馬達驅動氣墊船,
直流馬達接風扇所產生的反作用力推動船體,並透過 mcore 晶片與藍芽遙
控模組作結合,來控制後推小型導風扇,以及控制 DC 馬達轉速,使氣墊
船前進的速度快慢與轉向都能夠靈敏及準確,經由這次專題製作的過程中,
來達到我們所學之專業技術、專業知識以及創意設計的發揮。
-
目錄
第一章 緒論 ....................................................................................................... 1
1.1 創作動機 ................................................................................................... 1
1.2 創作目的 ................................................................................................... 1
1.3 系統架構 ................................................................................................... 1
第二章 硬體規劃與製作 ................................................................................... 2
2.1 MCore........................................................................................................ 2
2.2 Me Ultrasonic Sensor ................................................................................ 3
2.3 Mbot 電路原理 ........................................................................................ 4
2.3.2 電源電路 ................................................................................... 5
2.3.3 馬達驅動電路 ......................................................................... 6
2.3.4 擴充接口電路 ......................................................................... 7
2.4 直流馬達 ................................................................................................... 8
第三章 軟體規劃 ............................................................................................... 9
3.1 scratch 界面&說明 .................................................................................. 9
3.1.2 撰寫 scratch 程式流程 ........................................................... 11
3.1.3 上傳程式到 Mbot 離線測試 .................................................. 12
-
3.2 藍芽傳輸 ................................................................................................. 13
3.2.1 Mbot 藍芽模組 ....................................................................... 14
3.2.2 藍牙模組電路原理 ............................................................... 15
3.2.3 Mbot 藍芽控制積木 ............................................................. 17
3.3 程式區 .................................................................................................... 18
3.3.1 資料與指令類 ......................................................................... 18
3.3.2 控制類 ..................................................................................... 20
3.3.3 運算類 ..................................................................................... 21
3.3.4 機器人模組指令 ..................................................................... 22
3.3.5 Mblock 機器人模組 .............................................................. 23
3.4 安裝 Mbot 驅動程式、韌體 .................................................................. 25
3.4.1 安裝 Mbot 驅動程式 .............................................................. 25
3.4.2 安裝 Mbot 韌體 ...................................................................... 26
3.5 Mbot 積木說明 ....................................................................................... 28
3.5.1 馬達控制 ................................................................................. 28
3.5.2 超音波感測器積木 ................................................................. 30
3.6 設計 Mbot APP ....................................................................................... 32
3.6.1 APP inventor 2 ........................................................................ 32
-
3.6.2 Desiner .................................................................................... 33
3.6.3 Blocks ...................................................................................... 38
3.6.4 App Inventor 2 程式執行方式 .............................................. 44
第四章 系統原理和功能展示 ......................................................................... 45
4.1 氣墊船製作原理 ..................................................................................... 45
4.2 氣墊船充氣原理 ..................................................................................... 45
4.3 材料介紹與製作流程圖 ........................................................................ 46
4.3.1 材料 ......................................................................................... 46
4.3.2 製作流程圖 ............................................................................. 48
4.4 成品展示 ................................................................................................ 49
第五章 程式、流程解說 ................................................................................. 50
5.1 功能性需求 ............................................................................................. 50
5.2 動作流程圖 ............................................................................................. 51
第六章 結論 ..................................................................................................... 52
參考文獻 ............................................................................................................. 53
-
圖目錄
圖 1:系統架構 ..................................................................................... 1
圖 2:MCore .......................................................................................... 2
圖 3:Me Ultrasonic Sensor ................................................................... 3
圖 4:mbot 電路圖 1.............................................................................. 4
圖 5:mbot 電路圖 2.............................................................................. 5
圖 6:mbot 電路圖 3.............................................................................. 6
圖 7:mbot 電路圖 4.............................................................................. 7
圖 8:馬達 .............................................................................................. 8
圖 9:scratch 界面 ................................................................................. 9
圖 10:撰寫 scratch 程式流程圖 ........................................................ 11
圖 11:上傳程式、離線測試範例圖 1 ............................................... 12
圖 12:上傳程式、離線測試範例圖 2 ............................................... 12
圖 13:藍芽技術主要特點 .................................................................. 13
圖 14:藍芽模組圖 .............................................................................. 14
圖 15:藍芽模組電路圖 ...................................................................... 15
圖 16:藍芽控制積木 1 ....................................................................... 17
圖 17:藍芽控制積木 2 ....................................................................... 17
file:///F:/實務專題報告書(3).docx%23_Toc486249115
-
圖 18:藍芽控制積木 3 ....................................................................... 17
圖 19:藍芽控制積木 4 ....................................................................... 17
圖 20: Mblock 變數區 ....................................................................... 18
圖 21: Mblock 清單區 ....................................................................... 19
圖 22:積木指令區 .............................................................................. 19
圖 23:控制區 1 ................................................................................... 20
圖 24:控制區 2 ................................................................................... 20
圖 25:運算區 1 ................................................................................... 21
圖 26:運算區 2 ................................................................................... 21
圖 27:控制板 ...................................................................................... 22
圖 28:機器人模組指令 ...................................................................... 22
圖 29:Mbot 機器人模組積木 1 ......................................................... 23
圖 30:Mbot 機器人模組積木 2 ......................................................... 23
圖 31:Mbot 程式 ................................................................................ 24
圖 32: 安裝 mbot 驅動程式 ............................................................. 25
圖 33: 安裝 mbot 韌體 ..................................................................... 26
圖 34:序列埠連接 .............................................................................. 27
圖 35:更新韌體 .................................................................................. 27
-
圖 36:馬達控制 .................................................................................. 28
圖 37:脈波寬度調變 .......................................................................... 29
圖 38: 超音波感測器積木 ................................................................ 30
圖 39:原理圖 ...................................................................................... 31
圖 40:Desiner 頁面 ............................................................................ 33
圖 41:元件面板 .................................................................................. 34
圖 42:使用者介面 .............................................................................. 35
圖 43:版面佈局 .................................................................................. 35
圖 44:Desiner 預覽視窗 .................................................................... 36
圖 45:組成元件 .................................................................................. 36
圖 46:屬性面板 .................................................................................. 37
圖 47:Desiner 與 Blocks 切換 ........................................................... 37
圖 48: Blocks ...................................................................................... 38
圖 49: Blocks 內建、設計元件頁面 ................................................ 39
圖 50:內建 Blocks 積木 1 .................................................................. 40
圖 51:內建 Blocks 積木 2 .................................................................. 41
圖 52: Blocks 預覽視窗 ..................................................................... 42
圖 53:程式出錯警告區 ...................................................................... 43
-
圖 54:垃圾桶 ...................................................................................... 43
圖 55:安裝程式 APP 範例圖 ............................................................ 44
圖 56: QR Code .................................................................................. 44
圖 57:氣墊原理圖 .............................................................................. 45
圖 58:氣墊船製作流程圖 .................................................................. 48
圖 59:氣墊船浮起狀態圖 .................................................................. 49
圖 60:成品展示圖 .............................................................................. 49
圖 61:動作流程圖 .............................................................................. 51
file:///F:/實務專題報告書(3).docx%23_Toc486249164file:///F:/實務專題報告書(3).docx%23_Toc486249167
-
1
第一章 緒論
1.1 創作動機
隨著時間變遷,氣墊船也往科技化發展,並成為生活中應用的載具,而且
為了節省時間、成本、安全,設想了一個無人機遙控氣墊船,讓人用手機
控制氣墊船,在遠處操控方向與速度等操控。
1.2 創作目的
利用 mblock 程式、手機 app 程式、連線控制板上的藍芽模組,用手機來控
制氣墊船,以及用超音波感測器,來感測附近障礙物,達到自動閃避,並
繼續前進。
1.3 系統架構
前風扇是由上往下吹讓船體浮起來,而後風扇則是控制船的前進。
圖 1:系統架構
-
2
第二章 硬體規劃與製作
2.1 MCore
mCore 系列是專為 mBot 設計的易於使用的主控板。基於 Arduino 的烏諾,
mCore 系列集成了各種板載感應器,如蜂鳴器、光線感應器、RGB LED 等,
為您提供一個簡單學習電子的方法。
特點:Arduino 和 Makeblock 資料庫且容易於編程。
板載各種功能的傳感器,如蜂鳴器、光線感應器、RGB LED 等等。
板載 USB B 型接口設計,可長時間使用。
安全裝置,含保險絲防止主控板燒毀。
四色標記的 RJ25 連接器,方便佈線和擴展更多的 Arduino 感應器
規格:工作電壓:3.7V ~ 6V 直流電源
微處理器:ATMega238
圖 2:MCore
-
3
2.2 Me Ultrasonic Sensor
超音波模塊是一個用來量測距離的電子模塊,測量範圍是 3 cm 到 400
cm。可以用來幫助小車避開障礙或加入其他有關測距的項目。本模塊
需要連接到主控板上帶有黃色標誌的連接埠。
特性
測距分辨率為 1cm,測量距離可達 400cm。
封裝傳感器模塊,使用簡單方便。
使用 RJ25 連接埠十分容易;
配有 DIY 排線接口,兼容絕大多數 Arduino 系列主控板。
圖 3:Me Ultrasonic Sensor
-
4
2.3 Mbot 電路原理
2.3.1 ATMega328 的最小系統
常用的最小系統,由時鐘電路(晶振電路),重定電路和電源電路組成,如
下圖所示,其中晶振使用 16M 的晶振,重定電路低電平有效,5V 電壓供
電,同時將各控制引腳通過網絡標號的形式引出,然後再連接到各功能電
路模組中,其中的 D13/SCK 連接了一個 Led 燈,因為 MISO、MOSI 和 SCK
組成了 SPI 介面,而 SCK 提供時鐘,所以這個 Led 應該是顯示 SPI 的工作
狀態。
圖 4:mbot 電路圖 1
-
5
2.3.2 電源電路
mBot 上的電壓可由 3 種方式提供,如下圖所示,一種是 USB 供電方式(圖
中的 VBUS),這個主要用來偵錯工具,因為它既可以提供電壓,又可以進
行通信,如下載程式等;一種是通過電池的形式供電,電池由 P1 引入,
另一種是由 DC 轉接器電源提供,而且當後兩種供電時,通過 CMOS 三極
管的設計,讓電壓來源只能有一種起作用。
由開關 S1 來控制電壓的開關,當 S1 閉合後,電壓輸出兩路,一路連接到
馬達的驅動部分進行供電,一路經 TP3603 晶片轉換成 5V 的電壓,為整個
系統進行供電。
圖 5:mbot 電路圖 2
-
6
2.3.3 馬達驅動電路
控制 mBot 上的兩個馬達驅動電路,如下圖所示,由控制晶片 ATMega328
引出的 DIR2_D4+、DIR1_D7 控制轉動的方向,PWM1_D6、PWM2_D5
控制轉動的速度,這四個引腳分別連接到驅動晶片 TB6612 上,最後經過
TB6612 的處理,轉換成真正的控制信號 M1+、M1-和 M2+、M2-經過 P2、
P3 連接到馬達上,來控制電路的轉動。
圖 6:mbot 電路圖 3
-
7
2.3.4 擴充接口電路
擴充接口電路,如下圖所示:
圖 7:mbot 電路圖 4
主要有如下幾部分:
(1)J1、J2、J3、J4 主要用來連接擴展電子模組元件,如 J2、J3 分別連接
mBot 試用中的超聲波模組和巡線模組,另外他們還可能連接:陀螺儀、電
子羅盤、搖桿、聲音感應器、表情面板等等。
(2)ICSPI 是用來調試、下載程式用。
(3)P6 和 P7 分別引出,留給用戶擴展,它們分別為 I2C 介面,SPI 介面,
模組介面和數位介面。
-
8
2.4 直流馬達
直流馬達是依靠直流電驅動的馬達,在小型電器上應用較為廣泛。
直流馬達的基本構造包括「電樞」、「場磁鐵」、「集電環」、「電刷」。
1.電樞:可以繞軸心轉動的軟鐵芯纏繞多圈線圈。
2.場磁鐵:產生磁場的強力永久磁鐵或電磁鐵。
3.集電環:線圈約兩端接至兩片半圓形的集電環,隨線圈轉動,可供改變電
流方向的變向器。每轉動半圈(180 度),線圈上的電流方向就改變一次。
4.電刷:通常用碳製成,集電環接觸固定位置的電刷,用以接至電源。
圖 8:馬達
1.此為一個簡單的直流電(D.C.)電動機。當線圈通電後,轉子周圍產生
磁場,轉子的左側被推離左側的磁鐵,並被吸引到右側,從而產生轉動。
2.轉子依靠慣性繼續轉動。
3.當轉子運行至水平位置時電流變換器將線圈的電流方向逆轉,線
圈所產生的磁場亦同時逆轉,使這一過程得以重複。
https://zh.wikipedia.org/wiki/%E7%9B%B4%E6%B5%81%E7%94%B5https://zh.wikipedia.org/wiki/%E7%94%B5%E5%8A%A8%E6%9C%BAhttps://zh.wikipedia.org/wiki/%E7%9B%B4%E6%B5%81%E9%A6%AC%E9%81%94https://zh.wikipedia.org/wiki/%E6%B0%B8%E4%B9%85%E7%A3%81%E9%90%B5https://zh.wikipedia.org/wiki/%E7%A2%B3https://zh.wikipedia.org/wiki/%E7%94%B5%E5%88%B7https://zh.wikipedia.org/wiki/%E7%9B%B4%E6%B5%81%E9%9B%BBhttps://zh.wikipedia.org/wiki/%E7%A3%81%E5%A0%B4https://zh.wikipedia.org/wiki/%E6%85%A3%E6%80%A7https://zh.wikipedia.org/w/index.php?title=%E9%9B%BB%E6%B5%81%E8%AE%8A%E6%8F%9B%E5%99%A8&action=edit&redlink=1
-
9
第三章 軟體規劃
3.1 scratch 界面&說明
圖 9:scratch 界面
Scratch 的畫面分成幾個區域,左邊是程式的角色控制,以及資料變數的
觀察區,我們可以透過程式來控制畫面上的熊貓進行動作,左下方是可
以新建角色。中間是程式的元素區,也可視為調色盤、工具箱。右邊則
是程式碼的撰寫區域。
一個程式會有一個起始,我們要加入按旗子開始我們的程式。
舞台區
角色區
程式區
腳本區
功能表
圖 9:scratch 界面
-
10
程式的動作基本上就是一連串的指令,有重複的指令、固定重複次數的
指令等。
3.1.1 Scratch
Scratch 是 MIT(麻省理工學院)發展的一套新的程式語言,可以用來
創造互動式故事、動畫、遊戲、音樂和藝術。
適用於八歲以上的兒童學習數學以及計算能力,藉由這些學習也可以加
強他們對於設計流程的認知。
Scratch 特色:視覺化的程式語言、積木組合式的程式語言(用拖曳、組合
的方法取代打字,免除指令輸入錯誤的困擾)、提升高層次思考能力。
程式區中有 10 個類別,各自為動作:外觀、聲音、畫筆、資料和指令、
事件、控制、偵測、運算、機器人模組
我們主要是利用資料和指令、控制、運算、機器人模組,這 4 種程式區
來撰寫程式及擴充功能中的 communication。
-
11
3.1.2 撰寫 scratch程式流程
圖 10:撰寫 scratch 程式流程圖
-
12
3.1.3 上傳程式到 Mbot離線測試
1.點擊一下 或 mBlock 選單命令「編輯>Arduino」,切換到
Arduino 模式。
圖 11:上傳程式、離線測試範例圖 1
2.點擊「上傳到 Arduino」按鈕,等待「上傳完成」訊息。
圖 12:上傳程式、離線測試範例圖 2
點擊「返回」按鈕,回 Block 作業,關閉 mbot 電源,拔除 USB 線,離
線測試 mbot 程式。
-
13
3.2 藍芽傳輸
關於藍芽(Bluetooth)這個名字,倒是有個有趣的起源:西元十世紀時,
挪威有個維京國王 Harald (哈拉德藍芽;Blatand 為丹麥文字,相當英文
的 bluetooth)將其新的無線電介面的 Project 命名為「藍牙」(Bluetooth)。
藍芽技術是一種小範圍的無線電頻率技術,裝置間透過晶片可互相溝通,
不必再透過纜線傳輸。另外與藍芽對比的紅外線,其傳輸的距離短、且受
方向限制,用過筆記型電腦的紅外線埠和印表機連線的人可能有過這樣的
經驗:努力地調整筆記型電腦和印表機的角度(幾乎是面對面的情況)和
位置(一公尺內的範圍)後,發現其慢無比,最後還是乖乖的找條線路連
接上電腦。是不是資料的傳遞一定得要經過銅線呢?「藍芽」就是著眼於
此,而開發出的無線傳輸技術。
圖 13:藍芽技術主要特點
-
14
3.2.1 Mbot藍芽模組
圖 14:藍芽模組圖
特點:
支援安卓與 iOS 系統
易與 MBLOCK 軟體進行圖形化編程工作
規格:
工作電壓:5V 直流電源;
版本:藍牙 2.0 和 4.0 兼容;
平均輸出電壓:5V /高電位,0V /低電位;
尺寸:30 毫米*20 毫米*14 毫米(長 x 寬 x 高)
-
15
3.2.2 藍牙模組電路原理
藍牙模組電路主要由兩部分組成
圖 15:藍芽模組電路圖
1.電壓部分,由於藍牙晶片的工作電壓是 3.3V,故需要將從 mCore 上引入
的 5V 電壓經過 XC6206 進行電壓轉換為 3.3V。
2.串口電平轉換部分,需要將從 mCore 上引入的串口電平轉換。
3.XC6206 是一款高精度,低功耗,高電壓,正電壓調整器的晶片,在輸出
電流的情況下,輸入輸出壓也差很小。它包括一個電流限制電路,一個驅
動器三極管,一個高精度參考電壓源和一個誤差校正電路。該電流限制器
-
16
的返回電路可為電流限制器和輸出引腳提供短路保護。通過鐳射微調技術,
可設定晶片的輸出電壓的範圍是 1.2V 至 5.0V,間隔為 0.1V。
-
17
3.2.3 Mbot藍芽控制積木
(一)開啟通訊擴充模組「擴充/Communication」
檢查是否收到藍芽傳輸資料,回傳值 0 表示已有收到資料
圖 16:藍芽控制積木 1
讀取藍芽傳輸字串
圖 17:藍芽控制積木 2
字串比對,用來檢查收到的字串內容
圖 18:藍芽控制積木 3
送出字串
圖 19:藍芽控制積木 4
-
18
3.3 程式區
接下來介紹本專題所使用的程式模組,如下:
3.3.1 資料與指令類:可做變數、清單和副程式的積木
圖 20: Mblock 變數區
-
19
圖 21: Mblock 清單區
圖 22:積木指令區
-
20
3.3.2 控制類:所有判斷、迴圈都在這個項目中
圖 23:控制區 1
圖 24:控制區 2
-
21
3.3.3 運算類:各種數學、邏輯運算的積木都在此類別,包括加減乘除、
亂數、三角函數、大小於、AND、OR…等
圖 25:運算區 1
圖 26:運算區 2
-
22
3.3.4 機器人模組指令
Mblock「控制板」選單及「擴充」選單可設定在「機器人模組」下所能
使用的硬體控制指令。
圖 27:控制板
圖 28:機器人模組指令
-
23
3.3.5 Mblock 機器人模組
圖 29:Mbot 機器人模組積木 1
圖 30:Mbot 機器人模組積木 2
-
24
圖 31:Mbot 程式
-
25
3.4 安裝 Mbot 驅動程式、韌體
3.4.1 安裝 Mbot驅動程式
mBot 與電腦連線是需要安裝 Arduino 驅動程式的,安裝方式如下:
圖 32: 安裝 mbot 驅動程式
-
26
3.4.2 安裝 Mbot韌體
開啟電源,用USB線連接mBot和電腦,此時會抓到一個新的COM PORT,
請到”開始控制台裝置管理員連接埠”確認新的 COM PORT 編號。
圖 33: 安裝 mbot 韌體
mBlock 功能表的連接序列埠連接,選擇剛剛確認到的新 COM
PORT
-
27
圖 34:序列埠連接
mBlock 功能表的連接更新韌體,執行完後 mBot 內就安裝了 mBlock 專
用的韌體了
圖 35:更新韌體
-
28
3.5 Mbot 積木說明
3.5.1 馬達控制
mBot 的左右兩邊各有一個馬達來帶動輪子,透過兩個馬達轉動方向的不同,
就能做到前進、後退、左轉、右轉…等行走動作。
控制馬達的積木有兩種,一種能直接讓 mBot 作前後左右的動作,另一種
則能控制單顆馬達正反轉。兩種積木都能控制轉速,速度範圍是+255(正轉)
到-255(反轉) 。馬達的轉速會和電池的種類、剩餘電量有關,所以如果在
相同參數下馬達轉動的速度變慢了,請檢查電池電量。
圖 36:馬達控制
-
29
控制馬達的轉速
當我們對馬達通電,馬達就會開始轉動;如果把電壓往上加,馬達就會轉
的快一些,相對的,電壓如果下降,馬達就會轉的慢一些,甚至無法轉動。
但是在數位控制的電子零件上調整電壓的大小是有困難的,所以我們會用
另一種方法來完成,這種方法叫做”脈波寬度調變(PWM-Pulse Width
Modulation )”。
如同下圖所示,當我希望馬達轉的慢一些時,送給馬達的信號就變成一個
週期 500Hz 的脈波,其中又可以分成 256 個階段(所以馬達的速度可以是
0~255)
圖 37:脈波寬度調變
-
30
3.5.2 超音波感測器積木
超音波感測器能幫我們偵測前方障礙物的距離,有效距離為最遠 3 到 4 公
尺,回傳的值以公分為單位。
圖 38: 超音波感測器積木
-
31
超音波感測器的原理
先從超音波這個名詞來做解釋,人耳能聽的到的頻率範圍約在
20~20KHz(20000Hz)間,而超音波就是泛指超過人耳能聽到的音波,在我
們的超音波模組上所使用的頻率是 40KHz。
為什麼超音波能用來偵測距離呢?這邊是利用物體會反射音波的原理,計算
發射音波到收到反射音波的時間,再把這個時間值除以兩倍再乘音速(因為
聲音跑了兩倍距離),就能得到與物體的距離了。
TIP:音速為 340 公尺/每秒
圖 39:原理圖
-
32
3.6 設計 Mbot APP
3.6.1 APP inventor 2
APP inventor 2 是一款免費的 Android App 它使用類似於 scratch 語言和
StarLogo TNG 圖形化界面,透過拖放積木指令來設計 Android
App。
1.使用 Android App 設計 mbot App
2.依據 App 送出的訊息,撰寫 mbot 端受控制式
-
33
3.6.2 Desiner
Desiner 頁面執行環境,分成5個區塊,如下:
圖 40:Desiner 頁面
分別是:
(1)元件面板(Palette)
(2)預覽視窗(Viewer)
(3)組成元件(Components)
(4)屬性面板(Properties)
-
34
(1) 元件面板(Palette)
元件面板又分成許多項目,本專題用來設計程式版面的基本模組。
我們介紹幾個常用的子項目,包括:
使用者介面(User Inteorface)、 版面佈局(Layout)、影音媒體(Media)、繪畫
與動畫(Drawing and Animation)
圖 41:元件面板
-
35
(a) 使用者介面(User Inteorface)
使用者介面是最經常被使用的一個項目,當中包括按鈕、圖片、文字輸入
格等基本元件。
圖 42:使用者介面
(b) 版面佈局(Layout)
當我們設計手機遊戲時,常需要使用不同的排版,增加畫面的豐富性。App
Inventor 2 本身的排版是垂直的(Vertical) ,因此當我們想要變化物件的排
版方式時,便需要使用版面佈局(Layout)的元件。
圖 43:版面佈局
-
36
(2) 預覽視窗(Viewer)
預覽視窗就像我們的手機,在這裡設計你的手機畫面。
操作方式:在第一個區塊元件面板(Palette)選取元件後,將元件拖曳至預覽
視窗(Viewer)中。
圖 44:Desiner 預覽視窗
(3) 組成元件(Components)
在這裡你可以管理你所使用的元件。
圖 45:組成元件
-
37
(4) 屬性面板(Properties)
在屬性面板中(Properties)你可以調整你的元件屬性,如下圖以按鈕(Button)
作範例說明。
圖 46:屬性面板
Desiner 頁面與 Blocks 頁面切換
點 Blocks ,切換到 Blocks 頁面,在這裡我們要設計元件的程式。
圖 47:Desiner 與 Blocks 切換
-
38
3.6.3 Blocks
進到 Blocks 頁面,我們來認識一下執行環境,共分成4個區塊,如下:
圖 48: Blocks
分別是:
(1) Blocks
(2) 預覽視窗(Viewer)
(3) 程式出錯警告區
(4) 垃圾桶
-
39
(1) Blocks
Blocks 分為兩大區塊,一個是內建、另一個是你自己設計的元件。
裡面有 App Inventor 2 幫你寫好的基本語法,只要找到你要的,將它拖曳
出來就可以了。
圖 49: Blocks 內建、設計元件頁面
-
40
內建 Blocks 又分成了八種
a. 控制(Control):控制 if-then 的程序性問題、迴圈設計
b. 邏輯(Logic):包含 true、false 等,判斷性問題
c.數學:純數值、數學的四則運算、亂數設定
d. 文字:字串、使字串相連
圖 50:內建 Blocks 積木 1
-
41
e. 清單(List):產生表格、提供暫時儲存空間
f. 顏色(Color):設定顏色
g. 變數(Variables):設定像 X、Y 的變數
h. 副程式(Procedures):需要重複執行的程式,可以利用副程式縮短程式
圖 51:內建 Blocks 積木 2
-
42
(2) 預覽視窗(Viewer)
在預覽視窗中設計你的互動程式。
操作方式:在第一個區塊 Blocks 選取你要設計的元件後,在展開的程式
中找到你需要的互動方式,將它拖曳至預覽視窗(Viewer)中。透過像拼拼
圖的方式,即可以寫出你的程式。
圖 52: Blocks 預覽視窗
-
43
(3) 程式出錯警告區
App Inventor 2 會自動幫你檢查,如果你的程式出錯了,它會像圖中一樣
有警告標誌,告訴你哪裡有錯要修改。
圖 53:程式出錯警告區
(4) 垃圾桶
拉錯元件,把不要的元件丟去垃圾桶
圖 54:垃圾桶
-
44
3.6.4 App Inventor 2 程式執行方式
步驟一:在 App Inventor 2 上方選單找到建立(Build)→產生.apk 檔的 QR
Code
圖 55:安裝程式 APP 範例圖
步驟二:出現 QR Code ,用手機的「QR Code 掃描」APP 掃描它。
圖 56: QR Code
步驟三:「QR Code 掃描」APP 會出現一串網址,點進去手機便會下載。
-
45
第四章 系統原理和功能展示
4.1 氣墊船製作原理
利用船艇內連續不斷鼓風所形成之空氣墊,對其下方水面所產生有效反作
用力,使船身自水面昇起,藉噴氣、空氣螺槳、水下螺槳或其他。
4.2 氣墊船充氣原理
氣墊船是一種依靠氣墊作用,使其離開水面、騰空航行的新型船舶。它的
基本原理是利用船上的風扇,將壓縮空氣打入船底,在船底與水面之間形
成一個一定厚度的空氣層,即氣墊,使船能夠浮起。
圖 57:氣墊原理圖
-
46
4.3 材料介紹與製作流程圖
4.3.1 材料
1. mBot 主控板-mCore
數量: 1
規格
工作電壓 : 3.7-6V 直流電源
微控制器 : ATmega238
尺寸 : 90×79 點¯x18 毫米(3.54 點¯x3.11 點¯x0.71inch)
淨重 : 43 克(1.52 盎司)
2. mBot 藍芽模組
數量: 1
規格
工作電壓:5V 直流電源;
版本:藍牙 2.0 和 4.0 兼容;
平均輸出電壓:5V /高電位,0V /低電位;
尺寸:30 毫米*20 毫米*14 毫米(長 x 寬 x 高)
-
47
3. Me Ultrasonic Sensor
數量: 1
規格
工作電壓: 5V 直流
探測範圍:3cm-400cm
探測角度: 30°內
尺寸: 52x36x31 mm (長 x 寬 x 高)
3. 直流馬達 6V/200RPM
數量: 2
規格:
額定電壓:DC 6V
無負載轉速:200RPM±10%
5. 風扇
數量: 2
-
48
4.3.2 製作流程圖
珍珠板的剪裁與挖洞
塑膠袋內安裝紙板固
定船身
挖和珍珠板相同尺寸
的洞並用膠帶固定
安裝 DC 直流馬達以
及前風扇和後風扇
安裝 MBOT 主控版
-MCore
設計氣墊船程式
安裝MBOT藍芽模組
氣墊船完成
圖 58:氣墊船製作流程圖
-
49
4.4 成品展示
圖 59:氣墊船浮起狀態圖
圖 60:成品展示圖
-
50
第五章 程式、流程解說
5.1 功能性需求
1. 當超音波感測器偵測到障礙時,它會停下來並左轉當過了設定的 0.5 秒
時,他會往前直走,過了設定的 1 秒後,它會再往右轉並繼續執行前進。
2. 也可用手機連接藍芽,從手機中控制氣墊船,並下達前進、後退或是左
右轉。
3.利用 MBOT 程式控制馬達轉速,利於船體浮起以及前進。
-
51
往左 0.5秒再往前直
行 1秒再往右轉
持續往前行走
是否避開障礙
5.2 動作流程圖
有 無
有 無
超音波感測器
偵測到障礙
物
風扇低速運轉並往左
轉 0.5秒再往前行過
了 1秒再往右轉
是否避開障礙
圖 61:動作流程圖
-
52
第六章 結論
這次做的氣墊船,利用 mbot,手機安裝 APP,藍芽來控制船的轉速以及方
向,也不需要再用有線的電源的遙控,我們使用普通電池來給於電力,然
而我們使用 DC 直流馬達來當主要撐起船身為核心,老師細心的教導我們
mbot晶片以及藍芽模組的運用,利用老師所教的方式來對mbot改寫程式,
來控制 DC 直流馬達以及後推風扇,來使船身能夠前進跟左右轉動,雖然
在對前進跟左右轉動這部份不是很完美,但是可以使氣墊船能夠運轉走動,
而這次的專題,也帶給我們知識以及程式邏輯的思考能力,也要感謝老師,
一起與我們參與專題的探討與研究,讓我們真的由衷感謝老師的辛勞與細
心指導。
-
53
參考文獻
1. MakeBlock 台灣代理商-圓創力線上訂購平台
http://mblock.let-do.com/index.php?route=product/category&path=3
2.App Inventor 2 指令中文化- App Inventor 中文學習網
http://www.appinventor.tw/ai2_chinese
3. MIT App Inventor
http://ai2.appinventor.mit.edu/?locale=en
4.氣墊船-維基百科,自由的百科全書- Wikipedia
https://zh.wikipedia.org/wiki/%E6%B0%A3%E5%A2%8A%E8%88%B9
5.藍芽-維基百科,自由的百科全書- Wikipedia
https://zh.wikipedia.org/wiki/%E8%97%8D%E7%89%99
6. Scratch 的官方網站
https://scratch.mit.edu/