54
國立勤益科技大學 電子工程學系 實務專題報告 ApplePen 探索車 指導教授:游信強 博士 專題學生:宋智翔、許育禎 106 6

國立勤益科技大學 電子工程學系 實務專題報告eeproject.ncut.edu.tw/upload/Achievements/105_20170630104429JIg8.pdf · Arduino 的特色是除了成本較低之外還可簡單地與感測器,各式各樣的電子

  • Upload
    others

  • View
    0

  • Download
    0

Embed Size (px)

Citation preview

國 立 勤 益 科 技 大 學

電 子 工 程 學 系

實 務 專 題 報 告

ApplePen探索車

指導教授:游信強 博士

專題學生:宋智翔、許育禎

中 華 民 國 1 0 6 年 6 月

I

目錄

目錄 ............................................................................................................ I

第一章 緒論 .............................................................................................. 1

1.1 研究動機 ............................................ 1

1.2 研究目的與方法 ...................................... 1

第二章 材料與零件介紹 .......................................................................... 2

2.1 Arduino Uno R3 控制器 ................................ 2

2.1.1 硬體功能說明 ........................................ 2

2.1.2 Arduino 軟體介面 ..................................... 2

2.2 L293D 馬達驅動 IC .................................. 5

2.2.1 L293D 優點 .......................................... 5

2.2.2 L293D 接腳說明 ...................................... 5

2.3 HC-06 藍牙模組 ...................................... 7

2.3.1 特徵介紹 ........................................... 8

2.3.2 特性 ............................................... 9

2.3.3 使用軟體序列埠程式連接 Arduino 與藍牙模組 ................ 10

2.4 HC-SR04 超音波感測器 ............................... 12

II

2.4.1 超音波 ............................................ 12

2.4.2 接線 .............................................. 13

2.4.3 模組工作原理 ....................................... 14

2.4.4 運作過程 .......................................... 16

2.5 蜂鳴器 ............................................. 17

2.6 MQ-02 煙霧感測器 ................................... 18

第三章 製作方式 ......................................... 23

3.1 Arduino 與 HC-06 .................................... 23

3.2 Arduino 與 L293D 馬達控制電路 ....................... 25

3.3 Arduino 與 OV7670 ................................... 26

3.4 利用手機藍牙控制馬達電路-Arduino .................. 28

3.5 操作手機 App-S4A_Bluetooth ......................... 30

3.6 煙霧感測器設計 ..................................... 36

3.7 超音波感測器設計 ................................... 38

第四章 特性與展示 ....................................... 41

4.1 作品實體 ........................................... 41

4.2 作品說明與作品特色 ................................. 42

III

4.3 操作過程 ........................................... 42

第五章 總結 ............................................................................................ 43

參考文獻 .................................................................................................. 45

附錄一 參賽獎狀 .................................................................................... 46

附錄二 參賽照片 .................................................................................... 48

1

第一章 緒論

1.1 研究動機

由於現在政府正在推動工業 4.0 與此專題有密不可分的關聯;工業 4.0 所重

視的就是物聯網(IoT)這個領域,物聯網的定義是:「讓所有能行使獨立功能的普

通物體實作互聯互通的網路。」

近年來,不管是台灣前年的高雄氣爆,去年的台中氣爆,到今年前陣子所

發生大陸黑龍江、內蒙古的煤礦氣爆,讓許多住家和施工人員的生命毀於一夕

之間,且在救災時,因為沒有探索車的關係,往往增加救難人員的救災風險。

因此我們才會想做一台擁有偵測功能的探勘車,當人員碰到無法進入的危

險地方時,可以代替人類進入勘查。

1.2 研究目的與方法

為了在黃金 72 小時內加速救災進度與降低風險,因此我們以微小、移動性

高的機器結構,並且能掛載多項功能,像是偵測障礙物、偵測危險氣體與藍芽

遙控,能夠在救援第一時間偵測到危險氣體時,馬上提醒救災人員並疏散人群,

逃離危險的地方,使傷害降到最低。

基於人手一支智慧型手機,並都有內建無線傳輸的功能,且攜帶方便,以

軟體來說我們可以減少程式碼的開發及維護,且這方面的領域擴展與延伸非常

多樣;而 Arduino 是負責對電路的驅動以及擴增其他裝置功能。

我們利用無線遙控,並搭載煙霧感測器,就此可以擔任簡單的探勘機器人,

搭配超音波感測,讓我們的作品能進入到微小隙縫中,協助人員在暗隙無法到

的地方做實地勘查或尋找物品,以達到救援的目的,

2

第二章 材料與零件介紹

2.1 Arduino Uno R3 控制器

由於 Arduino 是一個開放的硬體單板微控制器(Single-Board Microcontroller)

採用了基於開放原始碼的軟硬體平台,它的編程環境是以開源碼為基礎,構建

於開放原始碼 Simple I/O 平臺,可以安裝在 Windows、Mac OS X 和 Linux 等

不同的平台,並且具有使用類 Java/C 語言的 Processing/Wiring 開發環境。

Arduino 的特色是除了成本較低之外還可簡單地與感測器,各式各樣的電子

元件連接,如藍牙模組、紅外線、超音波、熱敏電阻、光敏電阻、伺服馬達.....

等。

Arduino Uno 是一塊以 ATmega328 為核心的微控制板。它有 14 支數位 I/O

腳位,其中 6 支可用 analogWrite()函數以當作 8-bit PWM 輸出;6 支類比輸入端,

使用 16 MHz。各個腳位能提供或接收最大值 40mA 的電流。由於具有

Bootloader,因此能夠透過 USB 直接下載程式而不需經過其他外部燒入器。供電

部份可選擇由 USB 直接提供電源,或者使用 AC-to-DC Adapter 及電池作為外部

供電。

2.1.1 硬體功能說明

本文將 Arduino 硬體規格以圖示與表格來敘述。

圖 2.1 Arduino Uno R3

類比輸入埠

/輸入埠

數位輸出/輸入埠

(0,1 可以當通訊埠)

8 位元

微處理器

16MHz

石英震盪器

電源輸入

USB 提供電

源、傳輸資料

USB 轉換 TTL

序列阜通訊 IC

電源輸入

插座

PIC 燒錄器燒

錄程式的方法

穩壓器

保持電壓的穩定

3

圖 2.2 Arduino Uno R3 背面(引用資料來源:arduino.cc)

表 2.1 Arduino Uno R3 規格表

微處理器 ATmega328P

工作電壓 5V

輸入電壓(推薦) 7-12V

輸入電壓(限值) 6-20V

數字輸入/輸出引腳 14 路(其中 6 路可用于 PWM 输出)

PWM 數字 I/ O 引腳 6

類比輸入引腳 6

每路輸入/輸出引腳的直流電流 20 mA

3.3V 引腳的直流電流 50 mA

閃存存儲器 32KB,其中引導程序占用 0.5KB

SRAM 2 KB (ATmega328P)

EEPROM 1 KB (ATmega328P)

時脈頻率 16 MHz

長 68.6 mm

寬 53.4 mm

重 25 g

4

2.1.2 Arduino 軟體介面:

Arduino 的軟體可以在 https://www.arduino.cc/ 此網站上下載,可在

Windows、Linux、Mac OS 上運行。

由於 aduino 是開放源碼的硬體,所以在網路上可以找到很多關於 Arduino

Uno R3 板子的相關程式,且它所用的程式語言的語法類似 C/C++所以在學

習上可以很快進入狀況。

圖 2.3 Arduino 軟體介面

5

Verity:檢查程式語法是否產生錯誤。

Upload:程式進行編譯,將程式碼透過 USB 介面燒錄至 Arduino 控制板。

New :產生新的編輯視窗

Open :開啟寫好的程式,顯示在同一頁面上。

Save :程式儲存。

Serial Monitor:開啟監視器頁面,監視 Arduino I/O 介面。

2.2 L293D 馬達驅動 IC

由於 Arduino Uno R3 的接腳輸出電流最大值為 20 mA 所以直接拿來驅動馬

達的話會使轉速不夠快,導致車子不能移動,所以我們使用 L293D 此顆馬達驅

動 IC 來增加電流流入馬達;它被設計成在 4.5V 到 36V 中提供高達 600mA 的

雙向驅動電流,如此高的大電流可以使馬達有夠大的轉速。

2.2.1 L293D 優點:

1. 晶片:L293D 晶片每路橋提供.0.6A(峰值 1.2A)電流並且帶有熱斷電保護,

4.5V to 36V

2. 2 個 5V 伺服馬達埠,連接到 Arduino 的高解析高精度的計時器,無抖動

3. 4 個雙向直流馬達及 4 路 PWM 調速(大約 0.5%的解析度)

4. 2 個步進馬達正反轉控制,單/雙步控制,交錯或微步及旋轉角度控制

下拉電阻保證在上電時馬達保持停止狀態

5. 大終端接線端子使接線更容易(10 - 22AWG)和電源

帶有 Arduino 復歸按鈕

6. 2 個大終端外部電源接線端子 保證邏輯和電機驅動電源分離

6

圖 2.4 L293D接腳功能

2.2.2 L293D 接腳說明

1. Enable 1-2:作為左半邊 IC 控制用。當這個 Pin 為高電壓時,左半邊 IC 可

作用,反之,低電壓時,左半邊 IC 無作用。

2. INPUT 1:當這個 Pin 為高電壓時,電流會流出至 Output 1。

3. OUTPUT 1:這個 Pin 要接到終端馬達的一個接腳。

4. GND:接地。

5. OUTPUT 2:這個 Pin 要接到終端馬達的一個接腳。

6. INPUT 2, 當這個 Pin 為高電壓時,電流會流出至 Output 2。

7. VC:供給給馬達使用的電壓,如果要驅動的馬達是 12V,那就要供給這個

Pin 12V 直流電。

8. Enable 3-4:作為右半邊 IC 控制用。當這個 Pin 為高電壓時,右半邊 IC 可

作用,反之,低電壓時,右半邊 IC 無作用。

9. INPUT 3,:這個 Pin 為高電壓時,電流會流出至 Output 3。

10. OUTPUT 3:這個 Pin 要接到終端馬達的一個接腳。

11. GND:接地。

12. OUTPUT 4:這個 Pin 要接到終端馬達的一個接腳。

13. INPUT 4:當這個 Pin 為高電壓時,電流會流出至 Output 4。

14. VSS:提供給 IC 的電源,這個 Pin 要供給 5V 電壓。

7

圖 2.5 L293D 與馬達的接法

2.3 HC-06 藍牙模組

使用的藍牙模組為 HC-06 V2.0 的藍牙產品。該模組無需瞭解複雜的藍牙底

層協定,只要簡單的幾個步驟,避免繁瑣的線纜連接,能直接替代串口線,即

可感受到無線通訊的便捷,所以我們只要把此模組當成無線式的 RS232 即可。

此藍牙模組可讓有 UART/Serial Port 的微控制器(MCU)及任一有 Bluetooth

Master(主控端)的設備於 10 公尺左右的數據無線傳輸距離,所以模組需為

Slave(從端) Mode,也可以於兩個模組之間數據互通。

市面上常見的兩種支援 SPP(Serial Port Profile,序列埠規範)的藍牙模組:

HC-05:主∕從(master/slave)一體型,出廠預設通常是「從端」模式,但是

能自行透過 AT 命令修改。

HC-06:主控端或從端模式,出廠前就設定好,不能更改;市面上販售的通

常是「從端」模式。

圖 2.6 HC-05與 HC-06藍芽模組外觀

8

表 2.2 HC-06 規格表

模組名稱 HC-06 BT_BOARD V2.0

藍牙協定 Bluetooth Specification v2.0+EDR Class 2

工作頻率 2.4GHz

傳輸距離 20 公尺內(會依地形變化)

輸入電壓 3.6V ~ 6V(可工作在低電壓 3.1V~4.2V)

輸出電流 尚未配對時電流約 30~40mA,配對後約 8mA

調製方式 GFSK(Gaussian Frequency Shift Keying)

通訊速率 Asynchronous:2Mbps(Max)

工作溫度 -25℃~75℃

設定支援 Bluetooth Serial Port

外型尺寸 27mm*13mm*2mm

預設設備名稱 linvor

預設配對碼(Pairing

Code) 1234

預設鮑率(Baud Rate) 9600

註:EDR:代表「加強資料傳輸率(Enhanced Data Rate)」,傳輸速度較快;Class

2 代表「傳輸距離 10 公尺」。

(引用資料來源:Guangzhou HC Information Technology Co., Ltd.)

圖 2.7 HC-06 藍芽模組接腳

2.3.1 特徵介紹

●無線收發

靈敏度(誤碼率)達到-80dBm

-4 -> 6dBm 功率可調輸出

●性能概要

藍牙 2.0 帶 EDR,2Mbps-3Mbps 調製度

內置 2.4GHz 天線, 用戶無需調試天線

外置 8Mbit FLASH

低電壓 3.3V 工作

可選 PIO 控制

9

標準 HCI 端口(UART or USB)

USB 協議: Full Speed USB1.1, Compliant With 2.0

模塊可以作為 SMD 貼片工藝

RoHS 製程

引腳半孔工藝

數字 2.4GHz 無線收發射

CSR BC04 藍牙芯片技術

自適應跳頻技術

體積小,(27mm×13mm×2mm)

簡單的外圍設計電路

藍牙 Class 2 功率級別

存儲溫度:-40 至+85 度,工作溫度:-25 至+75 度

協波干擾:2.4MHz,發射功率 3 dBm

誤碼率:0,但會在傳輸鏈路產生信號衰變,才有誤碼,如 RS232 和 TTL 線

路處理線路中

●優點

低功耗

高性能無線收發系統

低成本

●應用領域

藍牙車載免提

藍牙 GPS

藍牙 PCMCIA , USB Dongle

藍牙數據傳送

●軟件

CSR

2.3.2 特性:

1. 核心模組使用 HC-06 從模組,引出介面包括 VCC,GND,TXD,RXD,預留 LED

狀態輸出腳,單片機可通過該腳狀態判斷藍牙是否已經連接,KEY 引腳對從

機無效。

2. led 指示藍牙連接狀態,閃爍表示沒有藍牙連接,常亮表示藍牙已連接並打

開了埠。

3. 底板 3.3V LDO,輸入電壓 3.6~6V,未配對時電流約 30mA,配對後約 10mA,

輸入電壓禁止超過 7V。

4. 介面電平 3.3V,可以直接連接各種單片機(51,AVR,PIC,ARM,MSP430

等),5V 單片機也可直接連接,無需 MAX232 也不能經過 MAX232。

5. 空曠地有效距離 10 米,超過 10 米也是可能的。

10

6. 配對以後當全雙工串口使用,無需瞭解任何藍牙協定,但僅支援 8 位元資料

位元、1 位元停止位、無奇偶校驗的通信格式,這也是最常用的通信格式,

不支持其他格式。

7. 在未建立藍牙連接時支援通過 AT 指令設置串列傳輸速率、名稱、配對密碼,

設置的參數掉電保存。藍牙連接以後自動切換到透傳模式。

8. 體積小巧(3.57cm*1.52cm),工廠貼片生產,保證貼片品質。並套透明熱縮

管,防塵美觀,且有一定的防靜電能力。

9. 該鏈結為從機,從機能與各種帶藍牙功能的電腦、藍牙主機、大部分帶藍牙

的手機、PDA、PSP 等智慧型終端配對,從機之間不能配對。

2.3.3 使用軟體序列埠程式連接 Arduino 與藍牙模組

藍牙模組是透過序列埠和 Arduino 板連線,不過 Arduino 的程式碼和序列埠

監控視窗也是透過序列埠傳送,而 Arduino 板預設只有一個序列埠(以下稱「系

統序列埠」),數位 Pin 0 和 1 是 Arduino 內建的序列埠接腳,應保留給序列埠監

控視窗使用,若使用它們會佔用到系統序列埠,所以應避免使用。

本節將透過 SoftwareSerial(直譯為軟體序列埠)程式庫,把其他接腳變成序列

埠給藍牙模組使用,並且利用 SoftwareSerial 程式庫之程式來和 HC-06 通訊,可

以運用 AT Command Set 來測試連接、設定鮑率(Baud Rate)、藍牙名稱、藍牙配

對密碼等,將它們上傳至 Arduino 板,並依照圖 2.10 的實體接線圖。其中程式

能讓你配置你的 HC-06 藍牙模組使用 Arduino IDE Serial Monitor,而圖 2.10 實

體接線圖裡使用分壓電路來保護藍牙模組的 RXD 腳,也可使用穩壓器,因為它

被設計在當 Arduino 數位腳位工作在 5V 時,RXD 腳工作在 3.3V。另外 LED 也

是可以省略。

使用 Arduino UNO 與 IDE 設定 HC-06 藍芽模組的速度、名稱與配對碼:

1. 藍芽模組上的 vcc 與 gnd 分別接在 Arduino UNO 的 3.3V 與 GND 接腳

2. 藍芽模組的 RX 接 Arduin UNO 的 digital pin0(RX),TX 接 Arduin UNO 的

digital pin1(TX)

3. 跳線連接 Arduino UNO 的 GND 與 Reset

4. 連接電腦與 Arduino UNO 的 USB 連接線

5. 開啟 Arduino IDE 的 Tools/Serial Monitor

6. Serial Monitor,把換行模式改成 "No line ending"

7. 輸入 AT 再按 Enter 鍵或點選 send (回應 OK)

8. 設定藍芽速率為 38400 的 AT 命令: AT+BAUD6 (回應 OK38400)

9. 設定藍芽的名稱為 ymps01: AT+NAMEymps01 (回應 OKsetname)

10. 關掉 Serial Monitor

11. 移除 Arduino UNO USB 連接線

12. 連接另一隻藍芽

11

13. 開啟 Tools/Serial Monitor,操作 step7~9 的設定指令

在此擷取出 HC-06 Datasheet 裡面常用的 AT Command 來說明:

HC-06 藍牙模組預設參數,如表 2.2 所述:

Baud Rate:9600

ID:linvor

密碼:1234

AT Command Set:

AT:測試,回應「OK」。

AT+VERSION:回應「OKlinvorV1.n」。回應韌體的版本。

AT+NAMEname:回應「OKname」將裝置名稱設成「name」。

(註:參數 name 限制在 20 個字元。)

AT+PINxxxx:回應「OKsetpin」將連線密碼換為「xxxx」。

(註:參數 xxxx 為 4 位元數字。)

AT+BAUD4:回應「OK9600」,設定 Baud Rate 成 9600。

AT+BAUD5:回應「OK19200」,設定 Baud Rate 成 19200。

AT+BAUD6:回應「OK38400」,設定 Baud Rate 成 38400。

AT+BAUD7:回應「OK57600」,設定 Baud Rate 成 57600。

AT+BAUD8:回應「OK115200」,設定 Baud Rate 成 115200。

(註:以上設定在電源切斷後依然記住此資料。另外,不要將 Baud Rate 設定到

115200 以上,否則將無法在此 Baud Rate 下用藍牙模組透過 Arduino 通訊。)

圖 2.8 HC-06 實體接線圖(資料來源:Stan)

12

2.4 HC-SR04 超音波感測器

2.4.1 超音波:

人類藉由雙眼和大腦內的函式運算來幫助我們感測距離,基本上來說事就由

光波來做信號傳輸;而機器或工業工程則大多使用音波來做傳輸,當然如果需

要 更準確的運用在機械量測的話會使用到光波之類的電磁波。 超音波是指任

何聲波或振動,其頻率超過人類耳朵可以聽到的最高值 20kHz,自然界中的海

豚透過超音波傳達訊息,蝙蝠也用超音波來覓食定位和避障。超音 波可用來探

測距離,其原理類似雷達;從發射到接收反射波所需時間,可求出被 測物體的

距離。 超音波的用途非常廣泛,比如:超音波振動切削、美容拉皮、金屬探傷、

工 件清洗、粉碎、照胎兒、測化學液深度、機器人避障。它應用按功率的大小

可分 為功率超聲和檢測超聲。本報告講述測距應用。

介紹超音波模組 HC-SR04,如圖 2.9 所示,它可以用來作為距離的偵測的功

用,另外再在電路中加上喇叭,即可成為汽車倒車時的警鈴。超音波模組上面

通常有兩個超音波元件,一個用於發射,一個用於接收,但也有發射和接收一

體成形的超音波元件,其體積較小。HC-SR04 的原理和雷達類似:由發射超音

波到接收反射波所需的時間,我們可求出與受測物體之間的距離。超音波在空

氣中傳播的頻率,大約介於 20kHz~200kHz 之間,市售的超音波元件通常採用

38kHz、40kHz 或 42kHz,表 2.3 為 HC-SR04 超音波感測器的規格表。

圖 2.9 HC-SR04 超音波感測器

13

表 2.3 HC-SR04 規格表

模組名稱 HC-SR04

工作電壓 Working Voltage DC 5 V

工作電流 Working Current 15mA

工作平率 Working Frequency 40kHz

最大距離 Max Range 4cm

最小距離 Min Range 2cm

檢測角度 Measuring Angle 15 degree

輸入觸發訊號 Trigger Input

Signal >10μs TTL pulse

輸出回應訊號(Echo Output

Signa)

Input TTL lever signal and the range in

proportion

尺寸(Dimension) 45mm*20mm*15mm

特點 具備溫度補償電路

2.4.2 接線

接線的方法很簡單,就把 Trig 接上要送 10 us 的 Pin 腳。Echo 接到要收訊號

的 Pin 腳。

Trig:脈波輸入腳,建議使用負緣與正緣長度>=60mS 且寬度>=10uS 的脈波。

Echo:資料輸出腳,輸出的時間(uS)/(58)=距離(cm)。

VCC:5V 電源

GND:共地接線

圖 2.10 HC-SR04 接線

14

2.4.3 模組工作原理:

◎ 採用 I/O 觸發測距,給至少為 10us 的高電位信號

◎ 模組自動發送 8 個 40KHZ 的方波,自動檢測是否有信號返回

◎ 有信號返回,通過 I/O 輸出一高電位,高電位持續的時間就是超聲波從發射

到返回的時間。

◎ 測試距離 =(高電平時間 x 聲速(340M / S))/ 2

超音波感測器(老外把它叫作 ping sensor)常用有壓電式、磁伸縮式兩 大

類,而模組用來偵測的方式有:單一發射型、分離反射型和對射型,其工做原 理

都是量測都是超音波發射到接收到反射波的時間,當然因為我們所接收到的是

來回的時間,所以必須將這個時間除 2 再乘上音波速度才是距離,

距離 公尺 秒 傳播時間

可在空氣中傳波的超音波頻率,大約介於 20KHz~200KHz 之間,但其衰減

程度與頻率成正比(頻率越高,傳波距離越短),市售的超音波元件通常採用

38KHz、40KHz。 在 20 度的室溫環境中,聲波的傳輸速度為,344m/s,(聲音

在水中的傳播 速度約為空氣中的 60 倍),空氣的密度為影響聲音的傳播速度,

空氣密度越高, 聲音的穿波速度越快,而空氣的密度又與溫度密切相關。

當溫度在 0 度時為 331.5 公尺/秒

速度 公尺

秒 溫度

此外,物體的形狀和材質會隱想超音波態測器的準確度,探測表面平整的堅

硬物體實會按照入射角反射回來,而表面粗糙物或柔軟物,會使傳回的聲音訊

號 備散射或吸收,使得量測結果不佳。不過只要表面的坑洞尺寸小於聲音波長

的 1/4,即可數為平整表面。

例如以 40KHz 的超音波,可無視的表面粗糙度為 2.15mm 以下。

波長 傳播速度

頻率

取 8.6mm 的 1/4 為 → 2.15mm

當使用發射與接收分離型的時候,因聲音的接收音原路徑不為直線,所以必

須要納入夾角的考量。

距離 公尺 秒 傳播時間

15

圖 2.11 超音波測距示意圖

角度:

發射角度 15~30 度。

圖 2.12 HC-SR04 發射角度

夾角θ

接受元件

發射元件

被測物件

16

2.4.4 運作過程:

1. 偵測到脈波,且脈波結束(負緣觸發)

2. 發射 8 個週期的 40kHZ 超音波之後,Echo 將呈現高電位狀態,直到接收端

收到 8 個週期的 40kHZ 超音波為止。

圖 2.13 HC-SR04 時序圖

17

2.5.蜂鳴器

蜂鳴器(Buzzer)有兩種製作方法,根據物理與作動方式分為電磁式與壓電

式,依圖顯示兩種的接法不同,圖中使用了電晶體做為開關,以便得到較大的

驅動電流,但我們使用的並不需電晶體就能驅動(依據 Arduino 官方數據顯示,

I/O DC Current大約為 40mA),所以我們並不擔心燒毀。

圖 2.14電磁式蜂鳴器 圖 2.15壓電式蜂鳴器

驅動方式:自激式內建了震盪電路,接上直流電源即發聲(頻率固定)。但他

激式的,須自己提供時脈頻率。

消耗電流:電磁式較為耗電,從幾十到上百 mA都有,壓電式的反而省電許

多,幾 mA就能讓它正常的動作。

工作電壓: 電磁式的蜂鳴器,工作電壓較小,從 1.5到 24V; 而壓電式的從

3V到 220V都有,一般都使用 9V以上的電壓,以得到較大的聲音。

圖 2.16 蜂鳴器

18

2.6.煙霧感測器

表 2.4 市面上常見氣體感應器列表

氣體感應器 偵測的氣體

MQ-2 甲烷,丁烷,液化石油氣(LPG),

MQ-3 酒精,乙醇,煙霧

MQ-4 甲烷,CNG天然氣

MQ-5 天然氣,液化石油氣

MQ-6 液化石油氣(LPG),丁烷氣

MQ-7 一氧化碳

MQ-8 氫氣

MQ-9 一氧化碳,可燃氣體。

MQ-214 甲烷,天然氣。

圖 2.17 MQ2煙霧感測器

19

一氧化碳 ( 簡稱 CO) 是無色、無味和無臭的毒性氣體,對人體的影響是

濃度與時間的加乘關係,即使低濃度的一氧化碳,長期暴露就會頭痛、噁心、

疲倦感,而高濃度時抽搐、無意識,嚴重者 1~3 分鐘…, 因此常被稱做隱形

殺手或沈默兇手。 一氧化碳產生的原因是燃料因通風不良 、 造成不完全燃燒

所引起,其濃度是隨時間而漸進累積的。最主要來自於瓦斯熱水器、炭火、廚

房爐具、地下停車場以及車庫內汽車排放的廢氣。 因為一氧化碳略比空氣輕,

很容易飄入室內,而且它是無色無味無臭的毒氣,人體吸入時完全不自覺,因

此一氧化碳警報器是防止一氧化碳中毒的最後一道防線。而我們為了防止這樣

的狀況發生,選擇感測器 MQ-2氣敏材料,它是在清潔空氣中電導率較低的二

氧化錫(SnO2)傳感器所處環境中存在可燃氣體時,傳感器的電導率隨空氣中

可燃氣體濃度的增加而增大。使用簡單的電路即可將電導率的變化轉換為與該

氣體濃度相對應的輸出信號,MQ-2氣體傳感器對液化氣、丙烷、氫氣的靈敏度

高,對天然氣和其它可燃蒸汽的檢測也很理想。而附有四個螺絲孔便於定位,

具有長期的使用壽命和可靠的穩定性、快速的響應恢復特性,這種傳感器可檢

測多種可燃性氣體,是一款適合多種應用的傳感器。

表 2.5 標準工作條件

符號 參數名稱 技術條件 備註

VC 回路電壓 5V±0.1 AC or DC

VH 加熱電壓 5V±0.1 AC or DC

RL 負載電阻 可調

RH 加熱電阻 32Ω±10% 室溫

PH 加熱功耗 小於 800毫瓦

表 2.6 環境條件

符號 參數名稱 技術條件 備註

Tao 使用溫度 -20℃~50℃

Tas 儲存溫度 -20℃~70℃

RH 相對溫度 小於 95%Rh

O2 氧氣濃度 21%(標準條件)

濃度會影響靈敏度特

最小值大於 2%

20

表 2.7 靈敏度特性

符號 參數名稱 技術條件 備註

Rs 敏感體表面電

3KΩ~30KΩ

(1000ppm

isobutene)

探測濃度範圍

200ppm~5000ppm

液化氣和丙烷

300ppm~5000ppm 丁

500ppm~2000ppm 甲

300ppm~5000ppm氫

100ppm~2000ppm 酒

G(3000/1000

0)

isobutane

濃度斜率

標準工作條

溫度:20℃ Vc:5V±0.1

相對溫度:65%±5% Vh:5V±0.1

預熱時間 不小於 24小時

下圖為 MQ系列氣體感測器結構原理圖

圖 2.18 MQ系列內部電路圖

21

圖 2.19 MQ系列剖面圖

MQ-2氣敏元件的結構和外形如圖(2.19)所示(結構 A or B),由微型陶瓷

管、 SnO2敏感層,測量電極和加熱器構成敏感元件固定在塑膠或不銹鋼製成的

腔體內,加熱器?氣敏元件提供了必要的工作條件。封裝好的氣敏元件有 6只針

管腳,其中 4個用於信號取出,2個用於提供加熱電流。

表 2.8 主要技術參數

功 能 數 據

工作電壓 直流電壓 9~20V

靜態功耗 小於 0.8W

輸出電平 高 5V / 低 0V

檢測面積 10㎡

MQ-2 功能與特色:

◎採用 MQ-2 氣體感測器,探測範圍廣泛。

◎內建單晶片程式控制,具有優良的穩定性。

◎感測器斷路自動檢測,安全可靠。

◎內建 LED 警示燈。

◎可輸入電壓範圍為 DC 9~20V。

◎使用安裝上非常簡單,內建三個接腳分別為:電源正電(+)、接地(-)與信

輸出(out)。

22

◎可用於家庭和工廠的氣體泄漏監測裝置,適宜於液化氣、丁烷、丙烷、甲

烷、

酒精、氫 氣、煙霧等的探測。

◎電路板體積小,尺寸:33.5 x 21.5mm。

下圖為 MQ-2型氣敏元件的靈敏度特性。其中:

◎溫度:20℃

◎相對濕度:65%

◎氧氣濃度:21%

◎RL=5kΩ。

◎Rs:元件在不同氣體,不同濃度下的電阻值。

◎R0:元件在潔淨空氣中的電阻值。

23

第三章 製作方式

我們主要以 Arduino 開發版為基礎延伸到各方面的開發,且 Arduino 開發版

網路上有許多設計範例可以當作參考。而透過先學習網站上的創作範例,為自

己的設計找相關的靈感和製作方法,能提高對於 Arduino 開發版理解與應用。

3.1 安裝 Arduino開發軟體

到 Arduino的官方網站(http://www.arduino.cc)下載 Arduino的設計軟體

圖 3.1 選擇符合自己電腦的作業系統下載

下載完成後到安裝好的資料夾裡找到圈起來的程式,就是要用來設計程式

的 exe檔。

圖 3.2 Arduino主程式

24

開啟程式後,點擊自己手上的開發板編號,而我們這次使用的是 R3 主板,

所以點擊順序如下:『Tool → Board → Arduino Uno』

圖 3.3 選擇所使用的 Arduino開發版

也有可能在使用時碰到電腦偵測不到主板的情況,那是因為 Serial Port

沒有選擇到你所插的 USB洞口,選錯 COM的話是偵測不到板子的。

圖 3.4 選擇目前所使用的 COM端口

3.2硬體接線

25

電路中我們利用行動電源來代替驅動電路所需要的電池,一方面較方便,

一方面也能減輕整體的重量。而下圖整體電路功能是可以利用連接藍牙來實現

無線遙控的技術,進而操控車子的動作。

圖 3.5 車體完整電路圖

◎HC-06 藍牙模組與 Arduino接線方式

HC-06 VCC ---- Arduino 5V

HC-06 GND ---- Arduino GND

HC-06 TXD ---- Arduino RXD

HC-06 RXD ---- Arduino TXD

◎L293D 的部份

26

我們利用:

Arduino pin 5 , pin 6 分別控制車子右側馬達和左側馬達輸出

的馬力,它們可以設定值範圍由 0 至 255,數值愈大,馬力愈大。

Arduino pin 10, pin 11 用來控制車子右側馬達的轉向,當 pin

10 Off、pin 11 On 時順時鐘轉動(前進),而 pin 10 On、pin 11 Off 時

逆時鐘轉動(後退)。

Arduino pin 12, pin 13 用來控制車子左側馬達的轉向,當 pin

12 Off、pin 13 On 時順時鐘轉動(前進),而 pin 12 On、pin 13 Off 時

逆時鐘轉動(後退)。

底下是 L293D 這顆 IC 的接法:

L293D pin 0 ---- Arduino pin 5

L293D pin 1 ---- Arduino pin 10

L293D pin 2 ---- 右側馬達接腳 1

L293D pin 3 ---- GND

L293D pin 4 ---- GND

L293D pin 5 ---- 右側馬達接腳 2

L293D pin 6 ---- Arduino pin 11

L293D pin 7 ---- 供給馬達的電源正極

L293D pin 8 ---- Arduino pin 6

L293D pin 9 ---- Arduino pin 12

L293D pin 10 ---- 左側馬達接腳 1

L293D pin 11 ---- GND

L293D pin 12 ---- GND

L293D pin 13 ---- 左側馬達接腳 2

L293D pin 14 ---- Arduino pin 13

L293D pin 15 ---- Arduino 5V

3.3軟體部份

我們車子所使用到的軟體是 S4A(Scratch for Arduino),這是一個專門用

來設計 Arduino 動作的軟體,只需要利用拖曳方式,就能夠設計出自己心中想

要的功能,是相當容易就能夠上手的設計軟體,但也要符合邏輯的電路才有辦

法執行動作,所以在設計前還是需要先動動腦想一下動作原理。

而在使用 S4A 設計軟體時,需要先到台中市教育局網路中心數位教學平台

27

的 S4A 程 式 介 紹

(http://elesson.tc.edu.tw/md221/mod/folder/view.php?id=3192),

下載紅色圈起來的韌體程式,接著在上傳到 Arduino 主板上,上傳完成後

再將 HC-06藍牙模組接回去即可使用。

圖 3.6 台中市教育局網路中心數位教學平台

圖 3.7 S4A軟體設計畫面

我們在 S4A 中,要進行的程序是去設定 Arduino 的 pin 5、pin 6 的值,

以控制兩顆馬達的馬力輸出多少。另外則是設定 pin 10、pin11 和 pin 12、

pin 13 兩組的 On、Off 的配對來控制馬達的正反轉,進而讓電路能夠完成前

後左右的動作。

28

圖 3.8 腳位設計完成後

3.4無線遙控設定-藍牙

HC-06 的 firmware 沒有 HC-05 完整,少了很多的 AT 指令可以使用,最

重要的是,在沒有進行藍牙配對時就是 AT command mode,不用像 HC-05 必須

將 key 設為高電位才能進入 AT command mode。不過,這也有一個缺點,HC-05

的 AT command mode 使用固定的 baud rate 38400,而 HC-06 如果已經改過

baud rate ,想利用 AT command mode 來改 Baud rate,如果忘了原來的設定

值,還得先猜一下原來設的速率是多少,不然根本無法溝通。

我們利用 Arduino 的 SoftwareSerial 來和 HC-06 通訊,顯示訊息及輸

入指令的工作交給 Arduino 的序列埠,再由 Arduino 幫我將指令透過我們自

訂的腳位寫入 HC-06 並由 HC-06 擷取回應的訊息。

29

圖 3.9 設定藍牙 Baud rate電路圖

接好硬體後,將下圖改自 Hazim Bitar (techbitar) 給 HC-05 的

firmware 程式碼 upload 到 Arduino:

圖 3.10 設定藍牙 Baud rate程式碼

上面紅色的 9600 是 HC-06 出廠後的預設 baud rate,如果已經改過了,

必須自己置換掉,不然,可能無法正常連線。

30

Arduino firmware upload 完畢,關掉 Arduino IDE 程式後,我們就可以

用終端機軟體連 Arduino 的序列埠以 9600來連線。成功和 Arduino 連上線,

畫面上應該會出現『Enter AT commands』的訊息,如果輸入『AT』,HC-06應該

會回應『OK』如果沒有回應,就要檢查一下接腳是否正確,或是將 9600換成別

的連線速率試試。

◎HC-06 的 AT command

HC-06 的 AT command 只有簡單的幾項,而且不像 HC-05必須按 Enter鍵

送出『\r\n』才會執行並回應。所以,我們一按完『AT』兩個按鍵,它馬上就

回應『OK』了。試了一下,它的指定一定要用大寫字母也沒有什麼查詢的 AT 指

令,底下就列出在玩 S4A 可能會用到的 AT commands。

AT:測試,回應「OK」

AT+VERSION:回應靭體的版本。

AT+NAMExyz : 將 裝 置 名 稱 改 為

「xyz」。

AT+PIN1234:將連線密碼換為「1234」。

AT+BAUD4:將 baud rate 換為 9600。

AT+BAUD5:將 baud rate 換為 19200

AT+BAUD6:將 baud rate 換為 38400

AT+BAUD7:將 baud rate 換為 57600

◎更換 Baud rate 的指定可以由 BAUD1~BAUDC

3.5 操作手機 App-S4A_Bluetooth

◎S4A_Bluetooth 的主要特性如下:

針對 S4A firmware 而設計。

可以自訂每個按鈕要使用哪些 Arduino 的腳位及送出的值,包括

pin 10,11,12,13 (Digital:on/off)及 pin 5,6,9 (PWM: 0~255)。

自訂的值會自動儲存,打開程式時會自動載入。

◎使用方法

由於這個 App 發送的資料是依 S4A firmware的需求來編碼的,所以 A

rduino 要先安裝 S4A 網站中的 firmware,符合靭體的資料給 Arduino。

Android手機安裝完 S4A_BlueTooth.apk後,首次啟動這個 App 後,

先按『設定按鈕的功能』的按鈕,並清單中點選想設定的按鈕,切換畫面後

31

即可設定按鈕欲連結的 Arduino 腳位及按下去後要送出的值。設定好即可按

『儲存設定值』來儲存設定值。

圖 3.11APP介面

圖 3.12選擇清單

32

圖 3.13前進數值

圖 3.14後退數值

33

圖 3.15右轉數值

圖 3.16左轉數值

34

圖 3.17停止數值

圖 3.18藍芽連線

35

圖 3.19連線裝置

圖 3.20連線成功畫面

36

3.6 煙霧感測器設計

圖 3.21MQ-2煙霧感測器接腳

在進行電路測試時,我們要在 Arduino數字端口 7和 A2端分別接出一條引

線來連接到感測器模塊的 DO腳位和 AO腳位,Arduino數字端口 8,9和 10將用

於驅動紅色 LED和蜂鳴器(檢測的氣體),和一綠色的在正常操作(無報警)

LED。之後像其他感測器在與 Arduino連接那樣,我們在需要再 Arduino設計程

式上的模擬端口進行模擬,並在上面讀取由傳感器發送的值與他在某臨界值時

的動作。

圖 3.22 MQ-2與 Arduino接線圖

37

圖 3.23程式碼

38

圖 3.24 MQ-2在 Arduino模擬狀況

3.7 超音波感測器設計

超音波感測器是當超音波傳送出去時,碰到物體後反射回到感測器上,

而我們可以在數據庫裡調整他在感測的最大距離,並在程式上撰寫他在某

範圍內外相對的動作。

圖 3.25超音波原理

39

圖 3.26超音波感測器與 Arduino接線圖

SR04 接線電路並會太難,4隻接腳只要按照上圖連接就不會有太大問

題,其中 Trig 和 Echo Trig是 發送 40KHz 超聲波給物體。 Echo是

接收 Trig碰撞物體反射回來的超聲波 ,探測距離的原理就是使用 Trig

發送至少 10µS 寬度的脈波 發射後 Echo會由低電位變為高電位,直到接

收到反射回來的超音波 Echo由高電位回復為低電位,其中間的反應時間

藉由換算 得到我們可知的 公分 和 英吋。

40

圖 3.27程式碼

41

第四章 特性與展示

4.1 作品實體

電路與零件整合

圖 4.1 組裝整合

圖 4.2 車體內容

42

4.2 作品說明與作品特色

說明:

我們以 Arduino Uno R3 為主軸,再結合周邊設備,像是 HC-06、HC-SR04、MQ-2,

Arduino 可以透過手機藍芽功能連線操控,再撰寫程式到 Arduino Uno R3 裡,透

過 HC-SR04 可以在前進時偵測到前方障礙物,而 MQ-2 可以偵測到甲烷、丁烷、

液化石油氣、煙。舉例來說:可以操控在地下通道裡,若偵測到危險氣體時,

馬上疏散人群;在氣爆現場搜索生還者時,可以透過 HC-SR04 偵測物體,另一

方面也可以感測是否有剩餘危險氣體。

特色

(一)、前輪使用萬向牛眼輪可以更輕易變換方向。

(二)、搭載 HC-SR04,可以偵測到障礙物。

(三)、搭載 MQ-2,可以偵測到危險氣體。

(四)、搭載 HC-06,可以應用於 3C 產品遠方操作。

(五)、體積微小化,而功能卻不遜於其他同等級探索車。

4.3 操作過程

一、將兩塊 Arduino 板接上行動電源,提供馬達與 Arduino 5 伏特的電壓,並確

認藍芽正確工作(HC-06 藍牙模組的 LED 應該不斷地閃爍)。

二、開啟手機上的藍芽連結,並開啟操控 app 搜尋藍芽連結。

三、連上藍芽後便可以進行遠端操控車子走向,與超音波感測、煙霧感測的動

作。

四、使用完畢後解除藍芽連結,並關閉行動電源。

43

第五章 總結

優點:

●比起一般的遙控車,具有負重的能力和良好的操控性。

●成本估計不超過壹千伍佰元。

●因硬體架構模組化,損壞及查修容易。

●APP 方面可擴充設計多樣的功能。

●Android 與 Arduino 整合後應用層面廣。

●因為無線架構 Android 與 Arduino 皆可獨立運作。

缺點:

●前輪因瓶蓋外緣不是相當平整,所以車子走直線會偏離。

●馬達驅動轉軸經過齒輪組合顯得較慢,這部分尚可調整馬達齒輪轉軸模組的轉

速比或是增大電池盒的電壓,但須考慮到馬達是否承受得住。

●因轉軸轉速較慢和前輪設計不良,所以遇到坑洞或坡道會陷入或爬不了。

●後輪和轉軸使用螺帽和銅柱互鎖的方式,在長時間行走、遇到顛簸或反覆嘗試

走出坑洞時,它們之間有時也會脫離。

●若無 C 語言或 JAVA 程式設計的觀念,理解上可能比較慢,過程中需不斷測試

及實驗來學習。

●目前只注重手動操作,無自走功能。

●OV7670 鏡頭只能連接電腦才能顯示畫面,無無線顯示。

車子在運作過程中,由於自己設計的輪子和轉軸方面欠缺考慮地理環境的

因素,例如坑洞、坡道或平滑的表面,此時會陷入坑洞、爬坡距離短或輪子沒

轉而用滑的行進,未來若改成使用履帶的車子並讓轉軸轉速加快,也可將輪子

和轉軸的結構設計成更好的方式,即可改善上述的問題。另外,筆者在車子的

外觀也有額外用色紙、紙箱、裝飾品來增加整體的美觀,這方面也可使用 3D

MAX 技術來列印所需要的外觀,如圖 5.1 所示。再來,若車子行進到在我們視

野上無法看到的角度或改用 Wi-Fi 得到較遠的傳輸距離時,車子走得太遠,在這

方面,我們使用 CCD 或是 OV7670 的模組在電腦上顯示即時畫面,如圖 5.2 所

示。

44

圖 5.1 使用 3D MAX 的車體模型(引用資料來源:小步 CG)

圖 5.2 使用 OV7670 的即時畫面

45

參考文獻

[1] OV7670介紹。取自

http://shop.cpu.com.tw/html/2594/ADIO-OV7670.html

http://yervant.blog.163.com/blog/static/19979512420134293319736/

[2] L293D驅動馬達電路說明。取自

http://atceiling.blogspot.tw/2014/02/raspberry-pi-l293d.html#.Vy9dRF

V97IU

http://shop.cpu.com.tw/product/46218/info/

[3] HC-06規格、操作說明。取自

http://swf.com.tw/?p=693

https://tw.bid.yahoo.com/item/Arduino-%E8%97%8D%E8%8A%BD%E6%A8%A1%E7

%B5%84-%E4%B8%B2%E5%8F%A3%E8%97%8D%E7%89%99%E6%A8%A1%E7%B5%84-HC-06-

%E5%BE%9E%E6%A9%9F-Bluetooth-100107388119

http://gsyan888.blogspot.tw/2014/03/arduino-hc-06-at-command.html

http://wenku.baidu.com/view/cc94318771fe910ef02df807.html

https://plus.google.com/+PaericPan/posts/3Uaisp3CBFL

http://eshare.stust.edu.tw/EshareFile/2014_5/2014_5_c185d20a.pdf

http://wyp8711.blogspot.tw/2016/04/cpld.html

https://www.taiwaniot.com.tw/shop/module-sensor/comm/hc-06-%E5%BE%9E

%E6%A9%9F-%E8%97%8D%E7%89%99%E8%97%8D%E8%8A%BD%E8%BD%89-uart-%E6%A8%

A1%E7%B5%84-%E5%85%B7%E5%BA%95%E6%9D%BF%E9%99%84%E6%9D%9C%E9%82%A6%E

7%B7%9A%E6%8F%90%E4%BE%9Barduino-%E7%AF%84/

[4] 直流馬達介紹。取自

http://hardwarefun.com/tutorials/controlling-speed-of-dc-motors-usin

g-arduino

46

附錄一 參賽獎狀

47

附錄二 參賽照片

48

49

50