崑 山 科 技 大 學 資訊工程系 專題報告

59  Download (0)

Full text

(1)

崑 山 科 技 大 學 資訊工程系

專題報告 自走吸塵器

指導老師:李宗儒 學 生:4010E027 邱煒凱

4010E043 楊承諭

4010E044 劉鈞平

4010E093 薛 匡

(2)

自走吸塵器

學生:邱煒凱 楊承諭 劉鈞平 薛匡 指導老師:李宗儒

崑山科技大學資訊工程系

摘要

現代人在時代的壓力下常常忙於工作以及經濟來源,有時候其實不是自 己不想打掃環境,而是在一整天的辛勞下實在沒有剩下的體力打掃環境,而 在這樣的趨勢下,智慧型機器人就提供了最好的解決之道,但是電子產品畢 竟是電子產品沒辦法做到面面俱到,固定的格式固定的打掃路徑方式不一定 適合現在的每一種家庭。

試想我們在以後如果有一種打掃裝置既可掃地又可拖地,既可以自己 空閒之餘控制這台機器人來打掃環境,出門旅遊在外又可以定時清理周遭,

那就是非常方便的一種打掃機器人。

而我們的這項設計兼具了自動以及手動的兩項功能,一方面可以在離 家的時候使用自動來維持環境整潔,自己在家或是小孩想幫忙整理家務時可 以直接使用手機的藍芽功能連接到吸塵器進而控制,輕鬆減少打掃環境的辛 苦。

(3)

Auto vacuum cleaner

STUDENTS: Xue,Kung TEACHER: LI,ZONG-RU

Yang,Cheng-Yu Ciou,Wei-Kai Liu,Jun-Ping

Kun Shan University-Department of computer science

Abstract

Under the pressure of the modern era is often busy with work and financial resources, and sometimes not in fact do not want to clean up the environment, but in a full day of hard work really does not clean the rest of the physical environment, and in this trend, smart robots will provide the best solution, but, after all, electronic products and electronic products can't do everything, fixed format fixed sweep the trail may not be suitable for each kind of family now.

Imagine us in the future if there is a cleaning device can be either sweeping mopping the floor, either free of control over their own this robot to clean the environment, go travel around the outside and can be

periodically cleaned out, it is very convenient for a cleaning robot.

And we designed both the automatic and manual two functions, one can use the automatic to maintain a clean environment in the home, you can directly use the phone at home or when children want to help their own chores

(4)

目 錄

摘要 ... 1

Abstract ... 2

目 錄 ... 3

表目錄 ... 5

圖目錄 ... 6

第一章 論敘 ... 8

1.1 研究動機與目的 ... 8

1.2 研究方法及概述 ... 8

1.3 專題內容概述 ... 9

第二章 相關研究 ... 10

2.1 藍芽傳輸簡介 ... 10

2.1.1 何謂藍芽? ... 10

2.1.2 藍芽的技術內容 ... 10

2.1.3 藍芽的應用 ... 11

2.2 ARDUINO(UNO) ... 12

2.2.1 何謂Arduino? ... 12

2.2.2 Ardunio 的特色有下列幾點: ... 13

2.2.3 Ardunio Uno使用腳位介紹: ... 14

2.3紅外線模組 ... 16

2.4 L298N ... 17

2.4.1 何謂L298N? ... 17

2.4.2 L298N的原理圖: ... 17

2.5 APP INVENTOR ... 18

(5)

3.1 系統架構簡介 ... 19

3.1.1自走模式 ... 20

3.1.2硬體接線介紹 ... 21

3.2 系統軟體 ... 23

3.3 硬體電路架構 ... 26

3.3.1 Arduino(Uno R3) ... 26

3.3.2 馬達控制器L298N ... 27

3.3.3 藍芽接收器(HC-06) ... 28

3.3.4 Arduino減速馬達... 29

3.3.5 避障紅外線 ... 30

3.4 車體製作 ... 31

第四章 系統實現 ... 32

4.1 實際操作步驟 ... 32

第五章 結論與未來展望 ... 41

第六章 參考文獻 ... 43

(6)

表目錄

表 1 Arduino數位I/O接腳位介紹 ... 15

表 2 L298N接線 ... 21

表 3 紅外線模組接線 ... 22

表 4 藍芽模組接線 ... 22

表 5 Arduino Uno R3 ... 26

表 6 HC-06 ... 28

(7)

圖目錄

圖 1 Arduino腳位介紹 ... 14

圖 2 L298N 原理圖 ... 17

圖 3 App Inventor 介面 ... 18

圖 4 自走吸塵器系統架構圖 ... 19

圖 5 自走模式 ... 20

圖 6 接線圖 ... 21

圖 7 操作介面 ... 23

圖 8 搜尋藍芽 ... 23

圖 9 連線藍芽裝置 ... 24

圖 10 傳送訊號 ... 24

圖 11 關閉藍芽 ... 25

圖 12 Arduino(Uno R3) ... 26

圖 13 L298N ... 27

圖 14 HC-06 ... 28

圖 15 減速馬達 ... 29

圖 16 紅外線模組 ... 30

圖 17 開啟電源 ... 32

圖 18 藍芽連接 ... 33

圖 19 APP介面↑ ... 34

圖 20 自走車前進 ... 34

圖 21 APP介面 ↓ ... 35

圖 22 自走車後退 ... 35

圖 23 APP介面 ← ... 36

(8)

圖 25 APP介面 → ... 37

圖 26 自走車右轉 ... 37

圖 27 APP介面暫停 ... 38

圖 28 APP介面 自動 ... 39

圖 29 感應 ... 39

圖 30 轉向 ... 40

(9)

第 一 章 論 敘

1 . 1 研 究 動 機 與 目 的

市面上的自走吸塵器,可以省去打掃的時間,讓人在外辛苦工 作回來時,不用再花費額外的力氣去整理。但是,有時會發現自 走吸塵器會出現沒掃到的小地方,可是辛苦工作回來不想在多花 費力氣去打掃,因此關於這一點我們可以運用手機來操控,可以 讓人們操作自走吸塵器來打掃小髒亂,或者可以使用自動模式,

來自動清掃房間每一個小角落。

本專題製作目的,利用我們自行製作現今生活人手可得的智 慧 型 手 機 內 的 APP 程 式 , 間 接 來 控 制 自走吸塵器再自行控制的方 面,我們在APP介面上有方向控制鍵可用來操作整台吸塵器的行走 方向,讓下班回家後的上班族在工作繁忙時也可以清掃房間,達 到方便與乾淨的效果。

1 . 2 研 究 方 法 及 概 述

A . 本 研 究 主 要 包 括 A r d u i n o ( U n o )、L 2 9 8 N 馬 達 驅 動 、 紅 外 線 模 組 、 藍 芽 模 組 ( H C - 0 6 ) 、 A p p I n v e n t o r 以 及 自 走 車 前 進 路 線 規 劃 。

(10)

B . 使用者使用手機輸出指令,例如:前進、後退、左轉、右 轉、停止,Android會透過藍芽傳輸方式,將訊息傳輸到Arduino 取得指令控制馬達轉動,使得自走吸塵器行動。

1 . 3 專 題 內 容 概 述

我 們 使 用 A r d u i n o U n o 開 發 控 制 版 以 及 兩 顆 馬 達 來 控 制 吸 塵 器 的 移 動 方 式 , 並 透 過 藍 芽 通 訊 系 統 , 將 手 機 連 線 至 U n o 控 制 版 , 使 手 機 A P P 得 以 發 送 命 令 控 制 車 體 的 行 徑 速 度 與 方 向 , A P P 中 可 調 整 為 手 動 或 者 自 動 , 自 動 是 透 過 U n o 版 控 制 多 個 紅 外 線 進 行 複 合 式 的 判 斷 , 使 其 能 清 掃 到 大 部 分 的 環 境 , 之 後 再 透 過 手 動 方 式 清 理 死 角 , 達 到 本 次 專 題 的 目 的 。

(11)

第 二 章 相 關 研 究

2 . 1 藍 芽 傳 輸 簡 介

2.1.1 何謂藍芽?

所 謂 藍 芽 (Bluetooth) 技 術 , 實 際 上 是 一 種 短 距 離 無 線 電 技 術,利用“藍牙”技術,能夠有效地簡化掌上電腦、筆記本電腦 和移動電話手機等行動通訊終端設備之間的通信,也能夠成功地 簡化以上這些設備與因特網Internet之間的通信,從而使這些現 代通信設備與因特網之間的數據傳輸變得更加迅速高效,為無線 通信拓寬道路。說得通俗一點,就是藍牙技術使得現代一些輕易 攜帶的行動通訊設備和電腦設備,不必借助電纜就能聯網,並且 能夠實現無線上因特網,其實際應用範圍還可以拓展到各种家電 產品、消費電子產品和 汽車 等資訊家電,組成一個巨大的無線 通信 網路 。“藍牙”技術屬於一種短距離、低成本的無線連接 技術,是一種能夠實現語音和數據無線傳輸的開放性方案,因此,

目前無線通信的“藍牙”剛剛露出一點兒芽尖,卻已經引起了全 球通信業界和廣大用戶的密切關注。

2.1.2 藍芽的技術內容

藍牙技術產品是採用低能耗無線電通信技術來實現語音、數 據和 視頻 傳輸的,其傳輸速率最高為每秒 1Mb/s,以時分方式 進行全雙工通信,通信距離為 10 米左右,配置功率放大器可以使 通信距離進一步增加。

(12)

藍牙產品採用的是跳頻技術,能夠抗信號衰落;採用快跳頻 和短分組技術,能夠有效地減少同頻干擾,提高通信的安全性;

採用前向糾錯編碼技術,以便在遠距離通信時減少隨機噪聲的干 擾;採用 2.4GHz 的 ISM (即工業、科學、醫學)頻段,以省去申 請專用許可證的麻煩;採用 FM 調製方式,使設備變得更為簡單可 靠;“藍牙”技術產品一個跳頻頻率發送一個同步分組,每組一 個分組佔用一個時隙,也可以增至 5 個時隙;“藍牙”技術支援 一個異步數據通道,或者 3 個併發的同步語音通道,或者一個同 時傳送異步數據和同步語音的通道。“藍牙”的每一個話音通道 支援 64Kbps 的同步話音,異步通道支援的最大速率為 721Kbps、

反向應答速率為 57.6Kbps 的非對稱連接,或者 432.6Kbps 的對 稱連接。

藍牙技術產品與因特網 Internet 之間的通信,使得家庭和 辦公室的設備不需要電纜也能夠實現互通互聯,大大提高辦公和 通信效率。因此, “藍牙”將成為無線通信領域的新寵,將為廣 大用戶提供極大的方便而受到青睞。

2.1.3 藍芽的應用

藍芽技術的應用包括了:電腦與電腦之的檔案傳送(Computer to Computer File Transfer) 、 撥 接 網 路 模 式 (Dialup Networking)、自動資料同步(Automatic Synchronizer)、三合 一的行動電話(The Three In One Phone)、頭戴式耳機(Ultimate Headset)、 電 腦 上的免持聽筒應用 (PC Speaker Phone) 、無線

(13)

傳送(Instant Postcard)、精簡電腦應用(Hidden Computing)、

汽車無線耳機使用(Handsfree Car Kit)、網路橋接(Internet Bridge)、互動會議(Interactive Conference)等。

而藍芽技術應用之電子產品包括:個人數位助理(PDA)、

行動電話(Mobile Phone)、無線電話(Cordless Phone)、筆記 型 電 腦 (Notebook) 、 印 表 機 (Printer) 、 數 位 相 機 (Digital Cameras),區域網路(Network)等,可以將這些有線的產品變成 無線。

2 . 2 A r d u i n o ( U N O )

2.2.1 何謂Arduino?

A r d u i n o 是 一 塊 基 於 開 放 原 始 碼 的 S i m p l e i / o 介 面 版 , 並 且 具 有 使 用 類 似 j a v a , C 語 言 的 開 發 環 境。讓 您 可 以 快 速 使 用 A r d u i n o 語 言 與 F l a s h 或 P r o c e s s i n g … 等 軟 體,作 出 互 動 作 品 。 A r d u i n o 可 以 使 用 開 發 完 成 的 電 子 元 件 例 如 S w i t c h 或 s e n s o r s 或 其 他 控 制 器、L E D、步 進 馬 達 或 其 他 輸 出 裝 置 。 A r d u i n o 也 可 以 獨 立 運 作 成 為 一 個 可 以 跟 軟 體 溝 通 的 介 面 , 例 如 說 : f l a s h p r o c e s s i n g M a x / M S P V V V V 或 其 他 互 動 軟 體 … A r d u i n o 開 發 I D E 介 面 基 於 開 放 原 始 碼 原 則 , 可 以 讓 您 免 費 下 載 使 用 開 發 出 更 多 令 人 驚 豔 的 互 動 作 品 。

(14)

2.2.2 Ardunio 的特色有下列幾點:

1. 開放原始碼的電路圖設計,程式開發介面。

2. 免費下載,也可依需求自己修改。

3. Arduino 可 使 用 ISCP 線 上 燒入器,自我將新的 IC 晶片 燒入「bootloader」。

4. 可依據官方電路圖,簡化 Arduino 模組,完成獨立運作的 微處理控制。

5. 可簡單地與感測器,各式各樣的電子元件連接(EX:紅外線, 超音波,熱敏電阻,光敏電阻,伺服馬達,…等) 。

6. 支援多樣的互動程式

ex: Flash,Max/Msp,VVVV,PD,C,Processing…等。

7. 應用方面,利用 Arduino,突破以往只能使用滑鼠,鍵盤,

CCD 等輸入的裝置的互動內容,可以更簡單地達成單人或多人遊 戲互動。

8. USB 介面,不需外接電源。另外有提供 9VDC 輸入 .

(15)

2.2.3 Ardunio Uno使用腳位介紹:

① 支 援 U S B 接 頭 傳 輸 資 料 及 供 電 ( 不 需 額 外 電 源 ) 。

② 重 新 執 行 程 式 按 鈕 。

③ 輸 入 電 壓 P o w e r J a c k , 可 以 單 獨 使 用 , 不 需 連 接 U S B 電 腦 時 就 可 以 直 接 接 上 5 V 變 壓 器,或 是 電 池 直 接 供 電。( 所 以 1 和 2 只 要 選 選 擇 一 個 就 可 以 了 )

圖 1 Arduino腳位介紹

(16)

④數 位 I / O 接 腳 :

1 4 支 數 位 I / O 接 腳 可 以 當 作 i n p u t 使 用 , 也 可 以 當 作 o u t p u t 使 用 , 使 用 方 法 是 透 過 p i n M o d e ( ) ,

d i g i t a l W r i t e ( ) , d i g i t a l R e a d ( ) 這 幾 個 函 式 。 這 1 4 支 數 位 I / O 接 腳 , 其 中 幾 支 腳 有 特 殊 的 功 能 :

S e r i a l 通 訊

0 ( R X ) 和 1 ( T X ) 這 兩 支 腳 。 用 來 接 收 ( R X ) 與 傳 輸 ( T X ) T T L 訊 號 的 序 列 資 料 。 這 兩 支 腳 也 連 接 到 U S B C o n v e r t e r 晶 片 中 。

外 部 中 斷 2 和 3 這 兩 支 腳 。 這 兩 支 腳 可 以 利 用 外 部 事 件 觸 發 中 斷 。

P W M 3 , 5 , 6 , 9 , 1 0 和 1 1 共 六 支 腳 。 透 過 a n a l o g W r i t e ( ) 函 式 可 以 提 供

8 - b i t 的 P W M 輸 出 。

S P I 1 0 ( S S ) , 1 1 ( M O S I ) , 1 2 ( M I S O ) 和

1 3 ( S C K ) 這 四 支 腳 。 這 四 支 腳 搭 配 S P I L i b r a r y 可 提 供 S P I 序 列 通 訊 。

L E D 1 3 。 內 建 一 顆 L E D , 當 p i n 腳 為 H I G H 時 , L E D 打 開 , 當 p i n 腳 為 L O W 時 , L E D 關 閉 。 表 1 Arduino數位I/O接腳位介紹

⑤ M i c r o c o n t r o l l e r : 控 制 晶 片 。

⑥ 電 源 控 制 的 接 腳 :

(17)

V i n ( 電 源 輸 入 ) 、 G n d ( 接 地 ) 、 5 V ( 5 V 電 源 輸 出 ) 、 3 . 3 V ( 3 . 3 V 電 源 輸 出 ) 、 R E S E T ( 重 新 執 行 程 式 )

⑦類 比 輸 入 接 腳 :

A r d u i n o U n o 有 6 支 類 比 輸 入 腳 , 標 記 為 A 0 到 A 5 , 每 支 腳 都 可 提 供 1 0 位 元 的 解 析 ( 即 1 0 2 4 種 不 同 的 數 值 ) 。 這 些 腳 位 所 用 的 參 考 電 壓 預 設 為 0 到 5 V , 不 過 參 考 電 壓 也 是 可 以 更 改 的 , 方 法 是 透 過 A R E F 腳 和

a n a l o g R e f e r e n c e ( )

⑧L E D 燈:用 來 顯 示 區 域 7 的 接 腳 1 3,是 高 電 壓 還 低 電 壓 。

⑨L E D 燈 : 用 來 顯 示 傳 遞 接 受 的 資 料 R X 和 傳 遞 出 去 的 資 料 T X , 如 有 資 料 進 去 跟 出 去 的 話 這 L E D 燈 都 會 閃 爍 一 下 , 並 且 這 兩 個 L E D 燈 , 和 區 域 7 的 接 腳 0 和 接 腳 1 是 相 連 結 的 。

2 . 3 紅 外 線 模 組

紅 外 線 ( I n f r a r e d , 簡 稱 I R ) 又 俗 稱 紅 外 光 , 是 波 長 介 乎 微 波 與 可 見 光 之 間 的 電 磁 波 , 其 波 長 在 7 6 0 奈 米

( n m )至 1 毫 米( m m )之 間,是 波 長 比 紅 光 長 的 非 可 見 光 , 對 應 頻 率 約 是 在 4 3 0 T H z 到 3 0 0 G H z 的 範 圍 內。室 溫 下 物 體 所 發 出 的 熱 輻 射 多 都 在 此 波 段 。

(18)

2 . 4 L 2 9 8 N

2 . 4 . 1 何 謂 L 2 9 8 N ?

L298N 是 一 種 高 電 壓 、 大 電 流 電 機 驅 動 芯 片 。 該 芯 片 採 用 15

腳封裝。主要特點是:工作電壓高,最高工作電壓可達 46V;輸出 電 流 大 , 瞬 間 峰 值 電 流 可 達 3A , 持 續 工 作 電 流 為 2A ; 額 定 功 率 25W。內含兩個H橋的高電壓大電流全橋式驅動器,可以用來驅動 直流電動機和步進電動機、繼電器線圈等感性負載;採用標準邏 輯電平信號控制;具有兩個使能控制端,在不受輸入信號影響的 情況下允許或禁止器件工作有一個邏輯電源輸入端,使內部邏輯 電路部分在低電壓下工作;可以外接檢測電阻,將變化量反饋給 控 制 電 路 。 使 用 L298N芯 片驅動電機,該芯片可以驅動一台兩相 步進電機或四相步進電機,也可以驅動兩台直流電機。

2.4.2 L298N的原理圖:

圖 2 L298N 原理圖

(19)

2 . 5 A p p I n v e n t o r

Android,中文俗稱安卓,是一個以

Linux為基礎的開放原始

碼 行 動 裝 置

作 業 系 統

, 主 要 用 於 智 慧 型 手 機 和 平 板 電 腦 , 由

Google成立的 Open Handset Alliance

(OHA,開放手機聯盟)

持續領導與開發中。

Google公司在2010年,為了讓更多沒有程式基礎的人能夠開 發Android應用程式,推出App Inventor工具軟體,讓使用者可以 運用拼圖模式來組合成是語言,而做出一套Android裝置應用程式。

圖 3 App Inventor 介面 A p p I n v e n t o r 優 點 :

1. 適合無Java基礎的初學朋友

2. 所有作業皆可在瀏覽器完成透過QR code下載到手機

A p p I n v e n t o r 優 點 :

(20)

第 三 章 系 統 架 構

3 . 1 系 統 架 構 簡 介

本章節主要是介紹Android手機透過藍芽控制Arduino,經過 L298N馬達驅動控制馬達移動以及啟動風扇與刷毛。

圖 4 自走吸塵器系統架構圖

(21)

3 . 1 . 1 自 走 模 式

圖 5 自走模式

在自走模式中,我們以三個不同的移動模式輪流進行,分別是沿 牆模式、已型模式、隨機自走,接下來將會為各位做一下這三個模式 的簡單介紹。

1.沿牆模式:如其名;主要是靠著牆邊面的紅外線感測器,以及正前 方 的紅外線感測器感知藉以動作,如果是以左邊為主,當左方感測器離 開牆面時車體將逐漸往左偏,直到恢復感應、右邊則反之,當前方及 該側同時感應時車體便會沿著牆面轉彎。此功能主要用來打掃邊邊角 角的積塵。

2. 已型模式:由沿牆模式交換後,每次碰到牆面時便已一定的時間進 行兩次直角轉彎的動作,藉此達到已字路線,這個功能是我們覺得裡 面最實用的,看似簡單搭配避障裝置可達到最仔細地打掃動作,但是 此模式的缺點為可能因為桌腳放棄後面的掃地空間,所以才會需要接 下來的模式去進更完美打掃。

(22)

3. 隨機模式:完成沿牆及己型路線之後,用來結尾的是隨機模式,用 來打掃每個可能遺落的角落,效率並不再這個模式的考慮當中,此模 式主要就是利用隨機的轉彎及路徑以達到去打掃遺落的打掃面積。

3 . 1 . 2 硬 體 接 線 介 紹 ( 馬 達 分 左 右 )

圖 6 接線圖

L 2 9 8 N 驅 動 板 Arduino 開發板接腳 解說

VCC pin Vin 5V 陽極接點

GND pin Gnd 共地接點

In1 pin 11 控制訊號 1

In2 Pin 10 控制訊號 2

In3 pin 6 控制訊號 3

In4 pin 5 控制訊號 4

Out1 第一顆馬達 正極輸入 第一顆馬達

Out2 第一顆馬達 負極輸入

Out3 第二顆馬達 正極輸入 第二顆馬達

Out4 第二顆馬達 負極輸入

(23)

紅 外 線 模 組 Arduino 開發板接腳 解說

V C C - 1 pin 5V 5V 陽極接點

G N D - 1 pin Gnd 共地接點

O U T - 1 Pin 13 控制訊號 1

V C C - 2 pin 5V 5V 陽極接點

G N D - 2 pin Gnd 共地接點

O U T - 2 Pin 12 控制訊號 2

V C C - 3 pin 5V 5V 陽極接點

G N D - 3 pin Gnd 共地接點

O U T - 3 Pin 9 控制訊號 3

V C C - 4 pin 5V 5V 陽極接點

G N D - 4 pin Gnd 共地接點

O U T - 4 Pin 8 控制訊號 4

V C C - 5 pin 5V 5V 陽極接點

G N D - 5 pin Gnd 共地接點

OUT-5 Pin 7 控制訊號 5

表 3 紅外線模組接線

藍 芽 模 組 Arduino 開發板接腳 解說

V C C pin 3.3V 3.3V 陽極接點

G N D pin Gnd 共地接點

T X Pin 2 控制訊號

R X pin 4 控制訊號

表 4 藍芽模組接線

(24)

3 . 2 系 統 軟 體

圖 7 操作介面

(25)

圖 9 連線藍芽裝置

圖 10 傳送訊號

(26)

圖 11 關閉藍芽

(27)

3 . 3 硬 體 電 路 架 構

3 . 3 . 1 A r d u i n o ( U n o R 3 )

我們使用UNO R3 的規格:

Microcontroller ATmega328

Operating Voltage 5V

Input Voltage(recommended) 7-12V Input Voltage(limits) 6-20V

Digital I/O Pins 14(of which 6 provide PWM output)

Analog Input Pins 6

DC Current per I/O Pin 40mA DC Current for 3.3V Pin 50mA

Flash Memory 32KB(ATmega328) of which 0.5 KB

used by bootloader

SRAM 2KB(ATmega328)

EEPROM 1KB(ATmega328)

Clock Speed 16MHz

表 5 Arduino Uno R3 圖 12 Arduino(Uno R3)

(28)

3 . 3 . 2 馬 達 控 制 器 L 2 9 8 N

L298N 馬達驅動板具備 I/O 腳、地線與電源輸入與輸出,如

下圖中編號 1 至編號 8。編號 1、2 為兩組馬達連接端子。編 號 3 為馬達工作電壓輸入,編號 4 為地線。編號 5 為 5V 電 源輸出,編號 6、7 為Enable bridge,為控制馬達驅動 IC 中 橋式電路的開關,1 組馬達使用兩隻腳位來控制正轉與反轉。

我們使用L298N的規格:

1. 電壓:5V

2. 驅動電壓:5V~35V

3. 電流:0mA~36mA 4. 驅動電流:2A

5. 工作溫度:-20℃~135℃

6. 最大功率:25W

此物品在我們的專題中是目前是用來控制車子的一對移動馬 達以及吸塵器的單一風扇馬達,未來更將會加上一對刷毛控制馬 達好方便聚集灰塵。

圖 13 L298N

(29)

3 . 3 . 3 藍 芽 接 收 器 ( H C - 0 6 )

我們使用HC-06的規格 :

1. 輸入電壓3.6~6V,禁止超過7V 2. 工作溫度:-20℃~+75℃

我們使用HC-06的腳位 :

Pin ID Description

1 KEY Enable/Disable module

2 VCC 輸入電壓 3.6V~6V

3 GND Common Ground

4 TXD UART TXD Output

5 RXD UART RXD Input

6 STATE 藍芽狀態指示,用來判斷藍芽是否已連接

表 6 HC-06

此物品在本裝置中用於連結手機端控制APP與車體馬 達控制面板的重要腳色,將我們自行製作的手機APP所發 出的文字訊息,利用這個媒介來轉換成車體的實際行動。

圖 14 HC-06

(30)

3 . 3 . 4 A r d u i n o 減 速 馬 達

我們使用減速馬達規格:

1.規格: 單軸 2.減速比: 1:48 3.扭力: 0.8Kg

4.3V空載轉/分: 125 5.5V空載轉/分: 205

此物品在我們的專題中用於整架車體的移動,數量為 一對,因為一般例如四驅車用的高速馬達,可能會因為扭 力不夠造成車體無法順利移動,又或者是車體移動速度過 快無法順利達到吸塵效果,所以更換上此減速馬達以達到 高扭力及適當移動速度的目的。

圖 15 減速馬達

(31)

3 . 3 . 5 避 障 紅 外 線

1.電路板 尺寸:3.2CM*1.4CM

2.採用3-5V直流電源對模塊進行供電 3.模塊檢測距離2~30cm,檢測角度35°

4.工作電壓為3.3V-5V

此物品目前用於防止車體碰撞到家中的桌子椅子等貴重物 品或擺設,目前數量為五個,分別安裝在車體的右邊(稱A)、右上 角(稱B)、正前方(稱C)、左上角(稱D)、左邊(稱E)五個位置。

沿牆模式:先走直線 直到任何紅外線偵測到時 原地左轉至 A 停止偵測到 A 時開始沿牆,假如向左歪 那就代表全部都紅外 線都偵測不到 所以提高左邊輪速 直到只有 A 單獨偵測到 繼續 沿牆假如向右歪,就代表 B 會偵測到 B 偵測到之後向左轉 直 到只有 A 單獨偵測到 繼續沿牆。

己字模式:假如前面有牆壁 ABC 皆會偵測到 所以向左轉 直 到只有 A 單獨偵測到 繼續沿牆C 感測到 進行左轉 並調整延遲 時間 使他達到90度後 進行直行 並調整延遲時間 使他前行一段 距離後 再次左轉至 F 感測到並直行。

圖 16 紅外線模組

(32)

3 . 4 車 體 製 作

在 我 們 目 前 的 自 走 吸 塵 器 車 體 上 有 著 必 須 的

a r d u i n o 控 制 板 、 L 2 9 8 N 馬 達 驅 動 、 藍 芽 、 風 扇 、 紅 外 線 模 組 、 集 塵 盒 以 及 電 池 等 , 目 前 的 配 置 重 量 對 於 車 子 剛 好 在 適 中 的 程 度 , 但 是 為 了 電 力 的 縮 省 , 我 們 會 盡 力 減 少 車 體 的 承 載 重 量,好 延 長 每 次 從 充 飽 的 電 池 到 使 用 結 束 的 時 間 。

在 車 體 底 板 材 質 目 前 採 用 壓 克 力 , 未 來 也 並 不 打 算 更 動 底 板 材 質 , 但 是 在 上 蓋 將 使 用 3 D 印 表 機 製 作 。

(33)

第 四 章 系 統 實 現

4 . 1 實 際 操 作 步 驟

(1)首先開啟開關使整個電路通電,透過Arduino控制馬達驅動器 使輪胎轉動始可移動,並且讓藍芽可以與手機連線讓手機下達指 令,吸塵器可以依據下達的指令做出動作。

圖 17 開啟電源

(34)

(2)手機開啟藍芽搜尋

圖 18 藍芽連接

(35)

(3)依據手機下達的指令方可前進

圖 19 APP介面↑

(36)

(4) 依據手機下達的指令方可後退

圖 21 APP介面 ↓

(37)

(5) 依據手機下達的指令方可左轉

圖 23 APP介面 ←

(38)

(6) 依據手機下達的指令方可右轉

圖 25 APP介面 →

(39)

(6) 依據手機下達的指令方可停止不動

圖 27 APP介面暫停

(40)

(8) 依據手機下達的指令方可切換自動行走模式

( 9 ) 在 接 近 障 礙 物 時 , 紅 外 線 則 會 感 應

圖 28 APP介面 自動

圖 29 感應

(41)

( 1 0 ) 車 子 便 會 自 動 轉 向 繼 續 行 走

圖 30 轉向

(42)

第 五 章 結 論 與 未 來 展 望

這 次 我 們 選 擇 著 手 的 專 題 題 目 是 自 走 吸 塵 器,在 面 對 這 個 題 目 時 我 們 對 於 很 多 關 於 吸 塵 器 的 構 造 都 是 十 分 陌 生 的 , 為 此 我 們 分 別 在 各 個 方 面 開 始 探 討 , 不 論 是 吸 力 原 理 、 移 動 模 式 , 市 面 上 的 車 體 構 造 , 如 何 把 一 個 吸 塵 器 變 得 麻 雀 雖 小 , 五 臟 俱 全 。 我 們 開 始 研 究 如 何 利 用

A r d u i n o ( U n o R 3 ) 搭 配 紅 外 線 超 音 坡 等 感 測 系 統 讓 車 體 按 照 我 們 理 想 的 移 動 方 式 進 行 打 掃,在 這 個 地 方 我 們 面 對 到 很 多 不 同 技 術 層 面 的 困 難 , 不 論 是 路 徑 的 演 算 法 , 車 體 在 大 環 境 中 判 斷 障 礙 物 的 方 式,以 及 將 車 體 能 縮 小 則 小 的 想 法 。

首 先 我 們 先 想 辦 法 將 吸 塵 器 的 原 理 安 裝 在 簡 單 的 自 走 車 上 面 , 從 拆 下 吹 風 機 的 風 扇 , 自 己 設 計 打 模 的 壓 克 力 板,試 想 如 何 利 用 有 限 的 車 體 空 間 又 能 達 到 最 實 在 完 整 的 功 能 , 在 我 們 互 相 討 論 研 擬 之 下 也 慢 慢 有 了 進 展 。 在 學 著 利 用 A r d u i n o 控 制 我 們 製 作 的 自 走 車 時,雖 然 不 是 第 一 次 使 用 A r d u i n o 但 是 在 一 些 感 測 判 斷,以 及 馬 達 轉 速 如 何 調 整 同 速 上 不 停 地 上 網 尋 找 各 方 面 的 學 術 文 章,也 碰 到 很 多 不 一 樣 的 想 法 以 及 衝 突 點,也 利 用 這 次 的 機 會 學 到 很 多 不 一 樣 的 觀 點 。

在 完 成 了 這 些 比 較 基 本 的 動 作 之 後 , 我 們 希 望 當 我 們 在 家 時 也 可 以 利 用 此 吸 塵 器 進 行 手 動 控 制 打 掃 的 動

(43)

人 手 一 機 的 時 代 下,利 用 藍 芽 來 進 行 操 作 想 必 不 是 一 件 困 難 的 事 情,既 可 以 按 照 使 用 者 的 想 法 進 行 打 掃 又 可 以 節 省 勞 力 也 是 另 外 方 面 的 一 舉 兩 得 。

為 此 我 們 也 開 始 著 手 製 作 一 個 專 屬 於 我 們 的 A P P 介 面 , 雖 然 現 在 看 起 來 很 簡 陋 , 但 是 我 相 信 將 來 有 一 天 一 定 會 變 得 非 常 有 現 代 感 。 雖 然 專 題 製 作 一 直 是 我 們 很 害 怕 面 對 的 一 門 課,但 是 不 得 不 說 這 是 對 於 未 來 各 種 挑 戰 的 一 個 入 門 檻 , 每 個 動 作 在 成 功 地 當 下 每 個 成 員 都 是 喜 悅 的 , 很 開 心 有 這 次 的 機 會 可 以 嘗 試 , 同 時 也 祈 願 可 以 做 得 更 好 。

未 來 展 望 :

1 . 利 用 百 分 比 回 報 打 掃 程 度

2 . 採 平 面 設 計 圖 方 式 紀 錄 打 掃 路 徑

3 . 預 計 清 理 時 間

4 . 讓 車 體 更 加 美 觀 並 具 現 代 感

(44)

第 六 章 參 考 文 獻

[1] 認識藍芽

http://www.lh604.net/klbluetooth.htm [2] 藍芽應用

http://tech.get.com.tw/tech/tech-13-2.htm

[3] 認識Arduino

http://wiznet2012.blogspot.tw/2012/06/arduino.html

[4] Arduino規格

http://arduino.cc/en/Main/arduinoBoardUno

[5]何謂L298N

http://www.caijia-t.com/prodshow.asp?ProdId=CZ-L298N

[6] L298N原理圖

https://www.google.com.tw/url?sa=i&rct=j&q=&esrc=s&source=ima ges&cd=&cad=rja&uact=8&ved=0CAcQjRw&url=http%3A%2F%2Fwww.pudn .com%2Fdownloads182%2Fdoc%2Fdetail849113.html&ei=m9e0VJ_UKZD2 8QWCmIDIBw&psig=AFQjCNFxAt9ajzCvtKv28wZSK8JgSOHQlQ&ust=142122 4213786776

[7]Arduino基本介紹

http://www.powenko.com/wordpress/?p=4167

[8] APP inventor基本介紹

http://www.appinventor.tw/whatis/

(45)

[9]Android介紹

https://zh.wikipedia.org/wiki/Android

[10]紅外線介紹

https://zh.wikipedia.org/wiki/%E7%BA%A2%E5%A4%96%E7%BA%BF

(46)

附 件 1

#include <SoftwareSerial.h>

#include <Wire.h>

SoftwareSerial I2CbT(2,4);//定義PIN2及PIN4分別為RX及TX腳位

int IR_Objects1 = 13; // 紅外線接口

int LIR = 0; // 紅外線初始值

int IR_Objects2 = 7;

int MLIR = 0;

int IR_Objects3 = 9;

int IR = 0;

int IR_Objects4 = 12;

int MRIR = 0;

int IR_Objects5 = 8;

int RIR = 0;

(47)

int IR_Objects6 = 3;

int BIR = 0;

int mod=0;

int change=0;

boolean flag_first=true;

int gettime=0;

void setup() {

Serial.begin(9600); //arduino起始鮑率:9600

I2CbT.begin(9600);

pinMode(IR_Objects1,INPUT); // 定義紅外線為輸入端

pinMode(IR_Objects2,INPUT);

(48)

pinMode(IR_Objects3,INPUT);

pinMode(IR_Objects4,INPUT);

pinMode(IR_Objects5,INPUT);

pinMode(IR_Objects6,INPUT);

}

char i;

void loop() {

int LmdA=10,LmdN=11,RmdA=5,RmdN=6;

unsigned int starttime=0; //unsigned 設定資料不為負數

byte cmmd[20];

if(I2CbT.available()){

i=I2CbT.read();

Serial.println(i);

}

(49)

if(i=='f'){ //自動

LIR =digitalRead(IR_Objects1);

MLIR=digitalRead(IR_Objects2);

IR =digitalRead(IR_Objects3);

MRIR=digitalRead(IR_Objects4);

RIR =digitalRead(IR_Objects5);

BIR =digitalRead(IR_Objects6);

if(mod==0){ //模式一:貪吃蛇

//Serial.print("Time: ");

starttime = millis(); // 回傳執行時間

// Serial.println(starttime);

(50)

if(IR==HIGH){ //當中間沒偵測到

analogWrite(LmdA,75);//LmdA

analogWrite(LmdN,0);//lmdn

analogWrite(RmdA,125);//rmda

analogWrite(RmdN,0);//b

}

if(IR==LOW && change==0){ //左前左

analogWrite(LmdA,0);

analogWrite(LmdN,75);

analogWrite(RmdA,125);

analogWrite(RmdN,0);

delay(650);

analogWrite(LmdA,75);

(51)

analogWrite(LmdN,0);

analogWrite(RmdA,125);

analogWrite(RmdN,0);

delay(800);

for(int i=0; ;i++){

analogWrite(LmdA,0);

analogWrite(LmdN,75);

analogWrite(RmdA,125);

analogWrite(RmdN,0);

BIR =digitalRead(IR_Objects6);

if(BIR==LOW){

change=1;

break;

}

(52)

}

}

else if(IR==LOW && change==1){ //右前右

analogWrite(LmdA,75);

analogWrite(LmdN,0);

analogWrite(RmdA,0);

analogWrite(RmdN,125);

delay(650);

analogWrite(LmdA,75);

analogWrite(LmdN,0);

analogWrite(RmdA,125);

analogWrite(RmdN,0);

(53)

delay(800);

for(int i=0; ;i++){

analogWrite(LmdA,75);

analogWrite(LmdN,0);

analogWrite(RmdA,0);

analogWrite(RmdN,125);

BIR =digitalRead(IR_Objects6);

if(BIR==LOW){

change=0;

break;

}

}

}

(54)

if(starttime>=20*1000){ //執行時間>10*1000(毫秒)

gettime=starttime;

mod=1;

}

} //mod0

else if(mod==1){ //模式二:沿牆

// Serial.println(starttime);

if(IR==HIGH && LIR==HIGH && RIR==HIGH && MRIR==HIGH && MLIR==HIGH &&

flag_first==true){

analogWrite(LmdA,75);

analogWrite(LmdN,0);

analogWrite(RmdA,125);

analogWrite(RmdN,0);

}else{

(55)

if(RIR!=LOW && (MRIR==LOW || IR==LOW || MLIR==LOW || LIR==LOW)){ //

右感測無觸發、其他感測觸發:左轉

flag_first=false;

analogWrite(LmdA,0);

analogWrite(LmdN,75);

analogWrite(RmdA,125);

analogWrite(RmdN,0);

}else if(RIR==LOW && MRIR==HIGH && IR==HIGH && MLIR==HIGH &&

LIR==HIGH){ //右感測觸發 其他感測無觸發:直行

analogWrite(LmdA,75);

analogWrite(LmdN,0);

analogWrite(RmdA,125);

analogWrite(RmdN,0);

}else if(RIR==LOW && MRIR==LOW && IR==HIGH && MLIR==HIGH &&

LIR==HIGH){ //右感測、右前感測觸發、其他感測無觸發:左輪後退

(56)

analogWrite(LmdN,75);

analogWrite(RmdA,0);

analogWrite(RmdN,0);

}else if(RIR==LOW && MRIR==LOW && IR==LOW && MLIR==HIGH &&

LIR==HIGH){ //右感測、右前感測、前感測觸發、其他感測無觸發:左轉

analogWrite(LmdA,0);

analogWrite(LmdN,75);

analogWrite(RmdA,125);

analogWrite(RmdN,0);

delay(1000);

}

else{

analogWrite(LmdA,100);

analogWrite(LmdN,0);

(57)

analogWrite(RmdN,0);

}

}

} //mod1

}

///////按鈕控制↓↓↓↓↓↓↓↓↓↓↓↓↓↓

if(i=='a'){ //直走

analogWrite(LmdA,75);//LmdA

analogWrite(LmdN,0);//lmdn

analogWrite(RmdA,125);//rmda

analogWrite(RmdN,0);//b

}

if(i=='b'){ //後退

(58)

analogWrite(LmdA,0);

analogWrite(LmdN,75);

analogWrite(RmdA,0);

analogWrite(RmdN,125);

}

if(i=='c'){ //右轉

analogWrite(LmdA,75);

analogWrite(LmdN,0);

analogWrite(RmdA,0);

analogWrite(RmdN,125);

}

if(i=='d'){ //左轉

analogWrite(LmdA,0);

analogWrite(LmdN,75);

(59)

analogWrite(RmdA,125);

analogWrite(RmdN,0);

}

if(i=='e'){ //停止

analogWrite(LmdA,0);

analogWrite(LmdN,0);

analogWrite(RmdA,0);

analogWrite(RmdN,0);

}

}

Figure

Updating...

References

Related subjects :