修平科技大學 電機工程系 -...

63
實務專題報告書 指導老師:謝承達 專題製作學生: 四技電三乙林佑丞 BD103076 四技電三乙聶記剛 BD103070 中華民國 106 年 6 月 1 日 修平科技大學 電機工程系 DEPARTMENT OF ELECTRICAL ENGINEERING HSIUPING UNIVERSITY OF SCIENCE AND TECHNOLOGY

Upload: others

Post on 31-Dec-2019

2 views

Category:

Documents


0 download

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/