• 沒有找到結果。

電子矯正衣

N/A
N/A
Protected

Academic year: 2022

Share "電子矯正衣 "

Copied!
43
0
0

加載中.... (立即查看全文)

全文

(1)

1

崑 山 科 技 大 學

資 訊 工 程 系 第八組專題期末報告

電子矯正衣

Electronic Corset

學 生:4010E041 張淵竣 4010E112 邱建凱 指導老師:李宗儒

中華民國 104 年 4 月

(2)

2

電子矯正衣

學生:張淵竣 Chang Yuan Chun 邱建凱 Qiu Jian Kai

崑山科技大學 資訊工程系

專題報告

A Report

Submitted to Department of Information Engineering Kun Shan University

in Partial Fulfillment of the Requirements for the Degree of Bachelor

in

Information Engineering April 2015

Tainan, Taiwan, Republic of China

中華民國 104 年 04 月

(3)

3

電子矯正衣

學生:張淵竣 指導老師:李宗儒 學生:邱建凱 指導老師:李宗儒

崑山科技大學資訊工程系

摘要

隨著台灣時代的變化,科技的進步,現代人使用電腦的時間,也越來越 長了。以及手機的改革,低頭族的趨勢也越來越多。現今的文明病多,其中 脊椎對我們影深遠,駝背主因是坐姿、站姿的影響。而導致脊椎病變,這些 變化往往導致骨盆、腰部經常酸痛。現今大家手機都不離身,所以我們希望 透過手機提醒,不論是平時走路或是辦公時,都能時時刻刻提醒我們坐姿以

及站姿。

此專題,是將三軸加速器放置背部,當駝背時,三軸加速器的 X、Y、Z 軸會有所變動,我們會抓取這三個軸的變化,透過 Arduino 並計算以及比對,

當超出某個數值時,透過 Arduino 的藍牙傳輸方式,傳至手機,加以提醒顯 示。

(4)

4

Electronic Corset

Student:Chang Yuan Chun Advisor:Lee, Michael Student:Qiu Jian Kai Advisor:Lee, Michael

Department of Information Engineering Kun Shan University

Abstract

Along with the Taiwan time change, the technical progress, the modern people use the computer the time, also was more and more and more many.As well as the handset reform, lowers the head race's tendency more and more to be also many.The nowadays diseases of civilization are many, in which vertebra is profound to our shade, the humpbacked principal factor is the sitting posture, the station posture influence.But causes the vertebra pathological change, these changes often causes the pelvis, the waist to be sore frequently.Nowadays everybody handset all does not leave the body, therefore we hoped penetrates the handset reminder, when is usually walks perhaps the work, all can all the time remind our sitting posture as well

as the station posture.

This topic, is the three axle accelerator laying aside back, when humpbacked, the three axle accelerator X, Y, the Z axis can have the change,

we can capture these three axes the change, penetrates Arduino and

(5)

5

calculates as well as compared to, when surpasses some value, penetrates Arduino the blue tooth transmission mode, passes on to the handset,

reminds the demonstration.

(6)

6

目錄

摘要... 3

第一章 緒論... 8

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

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

第二章 系統功能... 10

2.1 系統功能概述... 10

2.2 功能部分簡介... 10

2.2.1 Arduino ... 10

2.3.1.1 三軸加速器(ADXL335) ... 17

2.4 藍牙... 20

2.4.1 何謂藍牙 ... 20

2.4.1.1 藍芽模組 HC-06 ... 21

2.5 Android... 23

第三章系統架構... 28

3.1 系統架構... 28

第四章 系統實現... 29

第五章 專題完成度及貢獻... 41

第六章 結論... 42

參考文獻... 43

(7)

7

圖目錄

圖表 1 Arduino ... 11

圖表 2 Arduino 軟體 ... 12

圖表 3 Arduino 軟體 環境 ... 13

圖表 4 Arduino uno ... 15

圖表 5 三軸重力示意圖 ... 16

圖表 6 水平重力示意圖 ... 16

圖表 7 三軸 水平重力示意圖 ... 17

圖表 8 三軸 水平重力示意圖 ... 17

圖表 9 三軸 水平重力示意圖 ... 17

圖表 10 三軸 ADXL335 實體圖 ... 18

圖表 11 ADXL335 腳衛示意圖 ... 19

圖表 12 ADXL335 內部電壓示意圖 ... 20

圖表 13 藍芽模組 HC-06 角位標示 ... 22

圖表 14 藍芽模組 HC-06 腳位接法 ... 22

圖表 15 架構圖 ... 28

圖表 16 ADXL335 連接圖 ... 30

圖表 17 程式碼 ... 31

圖表 18 成果展示 1 ... 35

圖表 19 成果展示 2 ... 39

(8)

8

第一章 緒論

1.1 研究動機與目的

隨著科技的進步,3C 產品科技發達,許多電子產品,有了很大的改革。現 代人對手機的依賴,幾乎都是不離身,外加現在智慧型手機的流行,功能齊全,

幾乎應有盡有,因而科技的進步,使現代出現了許多的文明病,也造就現在所謂

的「低頭族」。因為長時間的低頭使用手機,導致走路、站姿、坐姿都不正確,

而影響到我們的脊椎,而脊椎外斜不正,可能使我們骨盆移位、生長骨刺、壓迫 神經……等等,而這些改變都會影響到我們日常生活,最嚴重可能連走路都無法,

所以科技的進步,造成的負面影響,我們也必須有應對措施。

現代人因常常公務繁忙,很難時時刻刻去提醒自己的姿勢,而且小孩子對自 己的自律控管又不高,又不可能永遠待在他身旁,去提醒他。所以我們研發的動 機,就是能在日常生活去提醒、要求你的姿勢。但傳統矯正姿勢的物品,我們俗

稱「鐵衣」,卻是能達到改變姿勢的功能,可是它的強迫性改變姿勢,反而導致

行動不方便,不利於正常的作息,而且不少人排斥穿戴鐵衣。

因為現在幾乎是人手一機,所以此專案,希望以手機方式去提醒人們坐姿,

我們藉由 Arduino 和三軸變化和記算,傳輸到手機並做提醒,這樣方式不僅縮小 了物品的體積,而且也能達到所需的要求

1.2 研究方法及系統概述

研究方法:

(9)

9

使用者將三軸裝到固定點為,當人體姿勢改變三軸數據也會改變,此時A rduino 會接收到三軸的資料,Arduino 做完記算後,會將結果傳到手機,手機 會根據收到的數據來做顯示和提醒。

系統概述:

將人體正確姿勢的數據為基準,當三軸改變所產生的數據,與基準的有誤差,

手機就會顯示和提醒。

1.3 內容概述

第一章緒論,主要介紹本系統的研究動機與目的以及研究的方法和系統的

概述;第二章系統功能,主要是介紹本系統有哪些功能;第三章系統架構,主要是 介紹本系統的架構; 第四章系統實現,主要是介紹實作操作及實作時所參考的相 關技術。

(10)

10

第二章 系統功能

2.1 系統功能概述

本系統採用 Arduino、藍牙、Android app(eclipse)、三軸加速器 (ADXL335),

2.2 功能部分簡介

2.2.1 Arduino

Arduino是一塊基於開放原始碼發展出來的 I/O 介面控制板,並且具有使 用類似 java,C 語言的開發環境,讓使用者可以快速使用 Arduino 語言與 Flash 或 Processing...等軟體,作出互動作品。Arduino 包含了硬體與軟體兩 大部分,硬體部分是一個約手掌大小的控制板(寬 70mm X 高 54mm),核心使用 八位元 ATMEGA8 系列的的微控制器,提供 14 個數位式輸出/入端,6 個類比式 輸出/入端,支援 USB 資料傳輸,可以使用自備電源(5V~9V)或是直接使用 USB 電源,使用者可以在數位式輸出/入端上接上不同的電子裝置,例如 LED 燈、喇 叭、馬達,然後再由控制器來驅動燈的亮滅、喇叭發聲、馬達運轉。Arduino 控 制板採用開放式源碼設計的概念,電路設計圖、韌體都可以在網路上下載,稍具 電子知識就可以自行製作;也可以在網路上用很便宜的價錢買到。

Arduino 的特色

開放源碼(open-source)。不僅軟體是開放源碼,硬體也是開放的。軟體的開 發環境可在網上免費下載,而 Arduino 的電路設計圖也可從官方網站自行下載,

依據自身之需求進行修,但須要符合創用 CC 授權條款(創用 CC 授權條款)。

(11)

11

開發簡單,參考資料多。在以往的硬體環境中,要開發微控制器的程式,開發 者需要具備電子、電機及相關科系的背景,一般人需花費大量時間能有機會進入 這個開發環境中。Arduino 學習門檻較為簡單,不需要電子電機相關科系的背景,

也可以很容易學會 Arduino 相關互動裝置的開發。由於 Arduino 以公開共享為 基礎,多數人都樂於分享自己的的創品,網路上能找的創作案子非常豐富。以此 會基礎,有時只需要參考分享者的作品,依據自身的需求行調整,就可以在短時 間內完成自己的創作。

Arduino 具備哪些東西

主要可區分為三大類,分別是 Arduino 硬體、Arduino 軟體及 Arduino 擴充原 件。

硬體部分可購買現成的版子或是依據網路下載的電路途自行組裝,出學者建議購 買現成的,根據 Arduino 官方網站所寫,台灣地區具有官方合法授權的代理商為 藝科資訊 Aroboto Studio、PlayRobot 飆機器人/普特企業有限公司、iCshop (台 灣)電子零件,電子材料,當然,還有別的商家,到網路上搜尋一下可找到不少,

拍賣網站上也有,甚至也可以到國外網站去買。目前官方網站提供了許多不同的 版子供開發者購買。

圖表 1 Arduino

(12)

12

Arduino 軟體介紹:

軟體取得:

需要開發環境、編譯器、連結器、開發工具鏈、燒錄程式、板子與電腦連接所 需要的驅動程式、等等等等,這些通通都已經準備好、打包好了,到 Arduino 官方網站的下載頁面http://arduino.cc/en/Main/Software即可下載,可在 Windows、Mac OS X、Linux 上運行。

圖表 2 Arduino 軟體

開發環境

Arduino 的軟體開發環境是開放源碼,可以在 Arduino 官網免費下載,它所用

(13)

13

的程式語言語法類似於 C/C++,具備文字編輯介面、常用工具欄、圖形化控制介 面及錯誤編輯器,運用這個工具進行城市的上傳,及各項感應器的溝通。

編譯環境:

使用的 Arduino 編寫的軟件被稱為 Sketch(腳本) 。 這些的腳本都寫在文本 編輯器。 腳本名稱就是檔案名稱。上排圖形提供了新增、上傳、除錯及腳板切 換介面。而 console 介面紀錄了完整的執行訊息,更可藉由此介面監視 Arduino I/O 數值。

Arduino 開發環境的介面:

圖表 3 Arduino 軟體 環境

Verity

檢查參數設定或引入程式是否產生錯誤。

(14)

14

Upload

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

New

產生新的腳本 Open

開啟腳本,顯示在同一頁面上。點擊不同腳本便顯示不同腳本。

Save

腳本儲存。

Serial Monitor

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

Arduino 程式主要由 setup() 和 loop() 這兩個函式組成:

因為 setup()和 loop()是每支 Arduino 程式都會用到的兩個函式,為了方便,

Arduino 已經幫大家準備好程式基本架構了,編寫 Arduino 程式時,可直接點選 File > Examples > 1.Basics > Digital ReadSerial 這個範本檔,另存新檔後,

然後再修改 setup()和 loop()兩個函式的內容即可。

2.2.1.1 Arduino UNO 介紹

U n o 是 義 大 利 文 ” 1 ” 的 意 思,代 表 A r d u i n o 開 發 工 具 迎 向 1 . 0

(15)

15

版 的 里 程 碑 ( 註 : 於 2 0 1 1 . 1 1 . 3 0 發 表 , 在 此 之 前 , 開 發 工 具 軟 體 的 版 本 是 0 0 1 9 , 0 0 2 3 之 類 的 編 號 ) 。

同 時 , A r d u i n o U N O 控 制 板 的 插 槽 設 計 , 也 稱 為「 1 . 0 腳 位( 1 . 0 P i n o u t ) 」 。 比 起 之 前 的 板 子 , 多 了 S D A 和 S C L ( 位 於 A R E F 插 孔 左 側 ) 以 及 I O R E F ( 位 在 R E S E T 插 孔 左 側 ) 。

圖表 4 Arduino uno

A r d u i n o 微 控 器 的 許 多 接 腳 身 兼 兩 種 用 途,像 類 比 A 4 和 A 5 腳 , 也 是 I 2 C 介 面 的 S D A 和 S C L 腳 位 ( 詳 閱 第 十 一 章 「 認 識 W i i 左 手 把 的 通 訊 介 面 I 2 C 」 一 節 ) 。

新 增 的 S C L 和 S D A 插 孔 , 分 別 和 類 比 腳 位 A 5 與 A 4 相 連 , 新 增 這 兩 個 插 孔 的 好 處 是 , 做 實 驗 時 從 板 子 的 標 示 ( 註 : 標 示 在 板 子 背 後 ) , 能 立 即 分 辨 S C L 和 S D A 。

I O R E F( 輸 出 入 埠 電 壓 參 考 )插 孔 和 5 V( 電 源 輸 出 )插 孔 相 連 , 它 可 以 讓 擴 充 板( S h i e l d )得 知 此 A r d u i n o 板 的 運 作 電 壓( 註 : 大 部 分 的 擴 充 板 都 沒 有 使 用 到 這 項 功 能 ) 。

I O R E F 左 邊 插 孔 是 空 接 , 所 以 沒 有 任 何 作 用 , 未 來 的 控 制 板 也 許 會 用 到 此 插 孔 。

2.3 三軸加速器

2.3.1 何謂三軸加速器

(16)

16

三軸重力加速度感測器又稱為 G-Sensor,是一種可以測量加速度力的電子設備,

透過類似向量的原理,感測在運動的狀態下,三軸(X、Y、Z)空間產生的重力 加速度(G 力)。

圖表 5 三軸重力示意圖

重力加速度感測器的產生原理,基本上,我們處於的空間,是屬於一個三維的世 界。G-Sensor 的原理即是偵測這三維空間的變動,而得到實際的數值,加以應 用。

圖表 6 水平重力示意圖

以重力測量,水平平放時,yaw pitch roll 的值皆為 0,直立時,pitch 值為 0 到 -90 ,反之為 0 到 90 ,水平平放,機頭朝向往左旋轉時,yaw 值為 0 到 -90 ,往右旋轉時,yaw 值為 0 到 90。

(17)

17 圖表 7 三軸 水平重力示意圖

圖表 8 三軸 水平重力示意圖

水平平放,機身向左水平傾斜時,roll 值為 0 到 -90 ,往右傾斜時,roll 值 為 0 到 90。

圖表 9 三軸 水平重力示意圖

2.3.1.1 三軸加速器(ADXL335)

ADXL335 介紹 美國 ANALOG DEVICES (ADI)公司日前發佈為其 iMEMS 系 列運動訊號處理產品增加的三軸加速器,據稱 ADXL335 的功耗 電流降低到 200uA (2.0V 電源電壓條件),比同類元件的功耗典型 值低 50%。ADXL335 是一 種透過訊號調理電路提供類比電壓輸出 的小量程、小外形三軸加速器,並具有

±2G 測量範圍,能夠測量 適合傾斜傳檢測應用的靜態重力加速度,以及由運動、

衝擊或振 動產生的動態加速度。 該元件在 2.0V 電源電壓條件下電源電流小於 200uA 典型值。 其電源電壓範圍為 2.0V~3.6V。ADXL335 與需要 0.5HZ~

1.6KHZ 頻寬範圍的應用相容。 ADXL335 採 用 4mm×4mm×1.45mm 16 接腳架構晶 片級封裝,具有 10,000G 額定 耐衝擊強度。為滿足手機和其它可攜式消費性電

(18)

18

子產品的設計要 求,ADXL335 在採用小型(4mm×4mm×1.45mm)塑料表面貼封裝 的 同一管芯上整合了一個三軸感應器結構及其訊號調理電路。 此一產品是 ADI 公 司三軸加速器系列的首款產品,該元件的 應用範圍包括:具有運動檢測和狀態 感知的手機,以監視手機所 在位置和被使用狀況。這種感應器能夠提供更直觀 的使用介面, 並提供延長電池壽命的智慧電源管理;具有硬碟保護系統的筆記 型電腦和媒體播放器。隨著對可攜式設備儲存能力要求的增加, 測量衝擊和跌 落事件有助於提高產品的強韌性。

圖表 10 三軸 ADXL335 實體圖

Z=1.954V (理論值 1.9890V,約是 0.8944G) 實測試大約 1.50V X=1.668V (理論 值 1.6575V,誤差 0.0005V 約 0.0017G) 實測試大約 1.41V Y=1.683V (理論值 1.6575V,誤差 0.0255V 約 0.085G) 實測試大約 1.72V 14

ADXL335 腳位介紹

(19)

19 圖表 11 ADXL335 腳衛示意圖

1.NC 沒有 Connect。 2.ST 自檢。 3.COM 共用的。 4.NC 沒有 Connect。 5.COM 共用的。 6.COM 共用的。 7.COM 共用的。 8.ZOUT Z 通道輸出。 9.NC 沒有 Connect。 10.YOUT Y 通道輸出。 11.NC 沒有 Connect。 12.XOUT x 通道輸出。

13.NC 沒有 Connect。 14.VS 電源電壓(1.8 V 至 3.6 V)。 15.VS 電源電壓

(1.8 V 至 3.6 V)。 16.NC 沒有 Connect。 15 2.4 ADXL335 特性 ADXL335 是 一個小,薄,低功耗,完全 3 軸加速 erometer 與 信號調理的電壓輸出。該產 品測量與最低滿量程範圍為±3 g 的加 速度。它可以測量傾斜遙感應用重力靜態 加速度,以及運動,衝 擊或振動產生的動態加速度。 用戶選擇使用 XOUT 之間,

YOUT 和 ZOUT 引腳 CX,CY 和 鋯石電容加速度計的帶寬。帶寬可以選擇以適應 不同應用,0.5 赫 茲到 1600 赫茲的 X 和 Y 軸的範圍,0.5 Hz 的頻率範圍為 Z 軸, 以 550 赫茲。ADXL335 是在一個小的,低姿態,4 毫米×4 毫米× 1.45 毫 米,16 引線,塑料引線框架芯片級封裝(LFCSP_LQ)。 操作原理 ADXL335 是 一個完整的 3 軸加速度測量系統。 ADXL335 具 有±3 克的微型媽媽的測量範圍。

它包含一個多晶矽表面微加工傳 感器和信號調理電路實現開環加速度測量結構。

輸出信號的加速 度成正比的模擬電壓。加速度計可以測量傾斜遙感應用重力靜 態 加速度以及運動,衝擊或振動產生的動態加速度。 該傳感器是一個多晶矽表 面微機械結構矽片之上。多晶矽彈 簧暫停晶圓表面結構,並提供了對加速力的 抵抗。使用獨立的固 定板和板連接到移動質量組成的差分電容結構撓度測量。

180°相 方波驅動的固定板。加速偏轉運動質量和失去平衡差分電容傳感 器的輸 出,其幅度與加速度成正比。然後用相敏解調技術,以確 定加速度的大小和方 向。解調器輸出被放大,並帶來了一個 32k Ω 的電阻片通過。然後設置用戶信 號帶寬的設備,通過添加一個 16 電容。這種濾波提高測量精度,並有助於防止 走樣。 機械傳感器 ADXL335 採用遙感的 X,Y,Z 軸的單一結構。因此,感 的 三個軸的方向是高度正交的,很少有交叉軸靈敏度。機械不對的 傳感器芯片 包是交叉軸靈敏度的主要來源。當然,機械不對,可 以進行校準,在系統級。

性能 而不是使用額外的溫度補償放大電路的嘗試,創新的設計技 術,確保了高 性能的 ADXL335 在建。作為一個結果,有沒有量 化誤差或單調的行為,是非常 低的溫度遲滯(-25°C 至+70°C 溫度 範圍通常小於 3 毫克)。 ADXL335 輸出的

(20)

20

比例,因此,輸出靈敏度(或比例因子)不 同比例的電源電壓。在 VS=3.6 V 的 輸出靈敏度是典型值 360 毫伏 /克。在 VS= 2V,輸出靈敏度通常是 195 毫伏/

克。 g 為零偏置輸出也是比例,因此零 g 輸出名義上是平等的,在 所有的供 電電壓為 VS/2。 輸出噪聲是沒有比例,因此,噪聲密度為電源電壓的增加而 降 低。這是因為規模因素(毫伏/ g)的增加而噪聲電壓保持不 變。在 VS=3.6 伏,

X 軸和 Y 軸的噪聲密度通常是 120 微克/√Hz 的,而在 VS= 2V,X 軸和 Y 軸 的噪聲密度通常為 270 微克/√Hz 的。自檢反應在 G 大約是電源電壓的平方成 正比。然而,當供電 電流成比例的敏感性是因素電源電壓,伏在自檢的響應大 約是電 源電壓的立方成正比。例如,在 VS=3.6 伏,為 ADXL335 自檢響 17 應 大約為-560 mV 的 X 軸,Y 軸為+560 mV 的,Z 軸為+950 mV 的。 在 VS= 2V,

自檢反應是 X 軸,Y 軸為+96 mV 的,Z 軸為-163 mV 的約-96 毫伏。供電電流 隨電源電壓下降。在 VS=3.6V,典型 電流消耗為 375μA,在 VS= 2V 典型的電 流消耗為 200μA。

圖表 12 ADXL335 內部電壓示意圖

2.4 藍牙

2.4.1 何謂藍牙

SIG 組織于 1999 年 7 月 26 日推出了藍牙技術規范 1.0 版本。藍牙技術的係統結 構分為三大部分:底層硬件模塊、中間協議層和高層應用。 底層硬件部分包括 無線跳頻(RF)、基帶(BB)和鏈路管理(LM)。無線跳頻層通過 2.4GHz 無需授 權的 ISM 頻段的微波,實現數據位流的過濾和傳輸,本層協議主要定義了藍牙收 發器在此頻帶正常工作所需要滿足的條件。基帶負責跳頻以及藍牙數據和信息幀 的傳輸。鏈路管理負責連接、建立和拆除鏈路並進行安全控制。

(21)

21

藍牙技術結合了電路交換與分組交換的特點,可以進行異步數據通信,可以支持 多達 3 個同時進行的同步話音信道,還可以使用一個信道同時傳送異步數據和同 步話音。每個話音信道支持 64kb/秒的同步話音鏈路。異步信道可以支持一端最 大速率為 721kb/秒、另一端速率為 57.6kb/秒的不對稱連接,也可以支持 43.2kb/

秒的對稱連接。

中間協議層包括邏輯鏈路控制和適應協議、服務發現協議、串口倣真協議和電話 通信協議。邏輯鏈路控制和適應協議具有完成數據拆裝、控制服務質量和復用協 議的功能,該層協議是其它各層協議實現的基礎。服務發現協議層為上層應用程 序提供一種機制來發現網絡中可用的服務及其特性。串口倣真協議層具有倣真 9 針 RS232 串口的功能。電話通信協議層則提供藍牙設備間話音和數據的呼叫控制 指令。

主機控制接口層(HCI)是藍牙協議中軟硬件之間的接口,它提供了一個調用基 帶、鏈路管理、狀態和控制寄存器等硬件的統一命令接口。藍牙設備之間進行通 信時,HCI 以上的協議軟件實體在主機上運行,而 HCI 以下的功能由藍牙設備來 完成,二者之間通過一個對兩端透明的傳輸層進行交互。

在藍牙協議棧的最上部是各種高層應用框架。其中較典型的有撥號網絡、耳機、

局域網訪問、文件傳輸等,它們分別對應一種應用模式。各種應用程序可以通過 各自對應的應用模式實現無線通信。撥號網絡應用可通過倣真串口訪問微微網

(Piconet),數據設備也可由此接入傳統的局域網;用戶可以通過協議棧中的 Audio(音頻)層在手機和耳塞中實現音頻流的無線傳輸;多臺 PC 或筆記本電腦 之間不需要任何連線,就能快速、靈活地進行文件傳輸和共享信息,多臺設備也 可由此實現同步操作。

總之,整個藍牙協議結構簡單,使用重傳機制來保證鏈路的可靠性,在基帶、鏈 路管理和應用層中還可實行分級的多種安全機制,並且通過跳頻技術可以消除網 絡環境中來自其它無線設備的干擾。

2.4.1.1 藍芽模組 HC-06

H C - 0 6 : 主 控 端 或 從 端 模 式 , 出 廠 前 就 設 定 好 , 不 能 更 改 ; 市 面 上 販 售 的 通 常 是 「 從 端 」 模 式 。

H C - 0 5 和 H C - 0 6 的 硬 體 相 同, 都 採 用 英 國 劍 橋 的 C S R ( C a m b r i d g e S i l i c o n R a d i o ) 公 司的 B C 4 1 7 1 4 3 晶 片,支 援 藍 牙 2 . 1 + E D R 規 範 , 只 是 晶 片 內 部 的 韌 體 不 同 。 C S R 是 全 球 市 佔 率 最 高 的 藍 牙 通 訊 晶 片 廠 , 2 0 1 4 年 1 0 月 中 旬 , 全 球 手 機 晶 片 龍 頭 高 通 ( Q u a l c o m m ) 同 意 以 2 5 億 美 元 現 金 , 購 併 C S R , 以 強 化 該 公 司 在 物 聯 網

( I n t e r n e t o f T h i n g s ) 的 布 局 。 韓 國 三 星 也 於 2 0 1 2 年 花 費 3 . 1

(22)

22

億 美 元 , 取 得 C S R 公 司 的 藍 牙 、 W i F i 和 G P S 定 位 等 技 術 專 利 。

圖表 13 藍芽模組 HC-06 角位標示

圖表 14 藍芽模組 HC-06 腳位接法

(23)

23

2.5 Android

android 一詞的本義指“機器人”,當時同時 Android 也是 Google 於 07 年 11 月 5 日宣佈的基於 Linux 平臺開源手機作業系統名稱,該平臺由作業系統、

中介軟體、使用者介面和應用軟體組成,號稱是首個為移動終端打造的真正開放 和完整的移動軟體。

2008 年 9 月 22 日,美國運營商 T-Mobile USA 在紐約正式發佈第一款 Google 手 機——T-Mobile G1。該款手機為宏達電製造,是世界上第一部使用 Android 作 業系統的手機,支援 WCDMA/HSPA 網路,理論下載速率 7.2Mbps,並支援 Wi-Fi。

HTC G1 操作介面 Android 是 Google 開發的基於 Linux 平臺的開源手機作業系統。

它包括作業系統、使用者介面和應用程式 —— 行動電話工作所需的全部軟體,

而且不存在任何以往阻礙移動產業創新的專有權障礙。穀歌與開放手機聯盟合作 開發了 Android,這個聯盟由包括中國移動、摩托羅拉、高通、宏達和 T-Mobile 在內的 30 多家技術和無線應用的領軍企業組成。通過與運營商、設備製造商、

開發商和其他有關各方結成深層次的合作夥伴關係,我們希望借助建立標準化、

開放式的行動電話軟體平臺,在移動產業內形成一個開放式的生態系統。我們認 為此舉必將推進更好、更快的創新,為移動用戶提供不可預知的應用和服務。

Android 作為穀歌企業戰略的重要組成部分,將進一步推進"隨時隨地為每個人 提供資訊"這一企業目標的實現。我們發現,全球為數眾多的行動電話用戶從未 使用過任何基於 Android 的電話。穀歌的目標是讓(移動通訊)不依賴於設備 甚至平臺。出於這個目的,Android 將補充,而不會替代穀歌長期以來奉行的移 動發展戰略:通過與全球各地的手機製造商和移動運營商結成合作夥伴,開發既 有用又有吸引力的移動服務,並推廣這些產品。

開放手機聯盟的成立和 Android 的推出是對現狀的重大改變,在帶來初步效益 之前,還需要不小的耐心和高昂的投入。但是,我們認為全球移動用戶從中能獲 得的潛在利益是值得付出這些努力的。如果你也是一個開發者,並對我們的想法 感興趣,就請再給我們一星期的時間,屆時穀歌便能提供 SDK 了。如果你是一 名移動用戶,只需再等一段時間,我們的一些合作夥伴計畫在 2008 年下半年推 出基於 Android 平臺的電話產品。如果你已經擁有一部你瞭解並喜愛的電話,

請登錄 mobile.google.com ,確保你已經安裝谷歌手機地圖、Gmail 以及其他 一些專為你的手機開發的精彩應用。穀歌將繼續努力,讓這些服務變得更好,同

(24)

24

時也將添加更有吸引力的特性、應用和服務。

Android 團隊成員

白色版 HTC G1Android 平臺的研發隊伍陣容強大,包括 Google、HTC(宏達電)、

T-Mobile、高通、摩托羅拉、三星、LG 以及中國移動在內的 34 家企業都將基於 該平臺開發手機的新型業務,應用之間的通用性和互聯性將在最大程度上得到保 持。“開放手機聯盟”表示,Android 平臺可以促使移動設備的創新,讓使用者 體驗到最優越的移動服務,同時,開發商也將得到一個新的開放級別,更方便的 進行協同合作,從而保障新型移動設備的研發速度。

34 家企業的加盟,也將大大降低新型手機設備的研發成本,完全整合的“全移 動功能性產品”成為“開放手機聯盟”的最終目標。

這 34 家企業中並不包含全球手機第一巨頭諾基亞,把持 UIQ 平臺的索尼愛立信,

以及憑藉著 iPhone 風光正在的蘋果公司,美國運營商 AT&T 和 Verizon,當然微 軟沒有加入,獨樹一幟的加拿大 RIM 和他們的 Blackberry 也被擋在門外。

手機開放聯盟大家庭成員名單:

一、手機製造商:

臺灣宏達國際電子(HTC)(Palm 等多款智慧手機的代工廠)

摩托羅拉(美國最大的手機製造商)

韓國三星電子(僅次於諾基亞的全球第二大手機製造商)

韓國 LG 電子

中國移動(全球最大的移動運營商,有 4 億用戶)

日本 KDDI(2900 萬用戶)

日本 NTT DoCoMo(5200 萬用戶)

美國 Sprint Nextel(美國第三大移動運營商,5400 萬用戶)

義大利電信(Telecom Italia)(義大利主要的移動運營商,3400 萬用戶)

西班牙 Telefónica (在歐洲和拉美有 1.5 億用戶)

T-Mobile(德意志電信旗下公司,在美國和歐洲有 1.1 億用戶)

二、半導體公司:

Audience Corp(聲音處理器公司)

Broadcom Corp(無線半導體主要提供商)

英特爾(Intel)

Marvell Technology Group

(25)

25

Nvidia (圖形處理器公司)

SiRF(GPS 技術提供商)

Synaptics(手機使用者介面技術)

德州儀器(Texas Instruments)

高通(Qualcomm )

三、軟體公司:

Aplix Ascender eBay 的 Skype Esmertec Living Image

NMS Communications Noser Engineering AG Nuance Communications PacketVideo

SkyPop

Sonix Network

TAT-The Astonishing Tribe Wind River Systems

Android 的未來發展

雖然沒有看到 Gphone 的真正模樣,但據瞭解,Google 的 Android 平臺手機 將在 2008 年下半年正式揭開面紗.對於消費者來說,Google 手機將是一款通用 的、功能強大的、設備完整的手機產品。

美國諮詢研究集團 Strategy Analytics 的最新報告指出,Google 最近公佈 的 android 手機軟體平臺,很可能在 2008 年時獲得全球智慧手機軟體平臺 2%

的份額。

而老牌智慧手機軟體平臺製造商 Symbian 發言人則表示:Google 的 android 只不過是另一個 linux,symbian 對其它軟體與其形成的競爭並不感到擔心。除 了北美之外,Symbian 在其它地區智慧手機市場都佔有大部分市場份額。

與 iPhone 相似,Android 採用 WebKit 流覽器引擎,具備觸控式螢幕、高級 圖形顯示和上網功能,用戶能夠在手機上查看電子郵件、搜索網址和觀看視頻節 目等,比 iPhone 等其他手機更強調搜索功能,介面更強大,可以說是一種融入

(26)

26

全部 Web 應用的單一平臺。

但其最震撼人心之處在於 Android 手機系統的開放性和服務免費。Android 是一個對協力廠商軟體完全開放的平臺,開發者在為其開發程式時擁有更大的自 由度,突破了 iPhone 等只能添加為數不多的固定軟體的枷鎖;同時與 Windows Mobile、Symbian 等廠商不同,Android 作業系統免費向開發人員提供,這樣可 節省近三成成本。

Android 項目目前正在從手機運營商、手機廠商、開發者和消費者那裡獲得 大力支持。谷歌移動平臺主管安迪•魯賓(Andy Rubin)表示,與軟體發展合作夥 伴的密切接觸正在進行中。從去年 11 月開始,谷歌開始向服務提供者、晶片廠 商和手機銷售商提供 Android 平臺,並組建“開放手機聯盟”,其成員超過 30 家。

Android 的市場前景

Google 手機於 08 年 10 月 22 日正式上市,與運營商捆綁的合約價為 179 美元(約 合人民幣 1200 元),現有的 T-Mobile 使用者可以通過網路訂購。在 10 月 22 日 發佈當天,將有 22 個國家和地區可以買到谷歌手機。在 11 月,將增至 27 個國 家和地區。

谷歌手機將只能在 T-Mobile 網路內使用,將會有 SIM 卡鎖定限制。T-Mobile USA 提供了兩種流量和短信包月計畫。第一檔為 25 美元,包括不限制的網路流量,

以及一定數量的短信;第二檔為 35 美元,包括不限制的網路流量和不限數量的 短信。G1 支援各種穀歌的服務,包括 Gmail、Google Maps、YouTube、Google 日曆和 Google Talk,內置 Chrome Lite 流覽器。使用這款手機也需要 Gmail 帳 號。

我愛死我的 G1 了!”谷歌聯合創始人拉裡•佩奇(Larry Page)憧憬:“對於我 來說,谷歌手機最激動人心的一點就是它的未來。它的功能很強,正如幾年前的 電腦一樣。你可以上網,安裝軟體。”

T-Mobile USA 為德國電信旗下移動子公司,運營 GSM/HSPA 網路,擁有使用者近 3000 萬。此次發佈的谷歌手機採用高通 MSM7201A 處理器,支援 7.2Mbps 下載速 率,美國運營商 3G 網路設定的套餐速率一般可達 1Mbps 以上。MSM7201A 為單晶 片、雙核,整合硬體加速多媒體功能、支援 3D 圖形,300 萬圖元的攝像功能可 以掃描條碼,並且有 GPS 功能。

(27)

27

在美國四大移動運營商中,T-Mobile USA 處於相對弱勢的地位,不過 T-Mobile 在歐洲有更為強勢的是 CDMA EV-DO 網路,而 T-Mobile USA 和蘋果 iPhone 的獨 家運營商 AT&T 為 GSM/HSPA 網路,後者在 2005 年 12 月就推出了全球第一個 HSDPA 商用服務。

T-Mobile USA 今年 5 月方才在紐約推出了 3G 服務,目前已經在奧斯丁、巴爾的 摩、波士頓、達拉斯、休士頓、拉斯維加斯、邁阿密、明尼阿波利斯、鳳凰城、

波特蘭、聖安東尼奧和聖地牙哥等 12 個城市增加了 3G 覆蓋,公司計畫年底前將 3G 覆蓋的城市從目前的 13 個增加到 27 個,能夠為其超過 2/3 的使用者提供 3G 服務。

(28)

28

第三章系統架構

3.1 系統架構

圖表 15 架構圖

我們會撰寫一個手機程式,他可選用開關此功能,也可以選用以震動或是聲響圖 片方式,來提醒使用者。

(29)

29

3

第四章 系統實現

本系統分為兩部分進行,分別為三軸角度偵測及運算、手機 APP 接收訊號加 以提醒使用者。

手機會使用 eclipse 開發一套 Android 系統配合 arduino 三軸的 APP,其功能會 有連接 arduino 藍芽模組的按鈕,按下按鈕,將可與 arduino 進行連接動作,透 過 arduino 三軸所偵測的角度做運算,如果角度有所偏移,將會透過手機 APP 以聲光效果來提醒使用者。

(30)

30

ARDUINO 與 ADXL335 連接圖:

圖表 16 ADXL335 連接圖

(31)

31

ARDUINO 與 ADXL335 的程式碼

圖表 17 程式碼

(32)

32

package com.bt;

import java.io.IOException;

import java.io.InputStream;

import java.io.OutputStream;

import java.util.Set;

import java.util.UUID;

import android.location.Address;

import android.media.AudioManager;

import android.media.SoundPool;

import android.os.Bundle;

import android.os.Handler;

import android.os.HandlerThread;

import android.app.Activity;

import android.app.AlertDialog;

import android.app.AlertDialog.Builder;

import android.bluetooth.BluetoothAdapter;

import android.bluetooth.BluetoothDevice;

import android.bluetooth.BluetoothSocket;

import android.content.BroadcastReceiver;

import android.content.Context;

import android.content.Intent;

import android.content.IntentFilter;

import android.util.Log;

import android.view.LayoutInflater;

import android.view.Menu;

import android.view.View;

import android.view.View.OnClickListener;

import android.widget.Button;

import android.widget.ImageView;

import android.widget.TextView;

public class MainActivity extends Activity { //bluetooth uuid and drives address

(33)

33

private static final UUID M_uuid = UUID.

fromString("00001101-0000-1000-8000-00805F9B34FB");

private String devAdr = "20:15:03:14:10:24";

//藍芽位址

BluetoothAdapter mBtAdapter;

BluetoothSocket mmSocket;

BluetoothDevice mmDevice;

OutputStream mmOutputStream;

InputStream mmInputStream;

Thread workerThread;

byte[] readBuffer;

int readBufferPosition;

int counter;

volatile boolean stopWorker;

TextView t;

TextView u;

TextView v;

ImageView x;

float xx,yy;

private SoundPool soundPool ;

@Override

protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);

//音樂

soundPool = new SoundPool(10,AudioManager. STREAM_SYSTEM ,5);

//R.raw.檔名

soundPool .load( this ,R.raw.a01 ,1);

//open bluetooth

Button connectBTN = (Button)findViewById(R.id.button1);

t = (TextView)findViewById(R.id.textView2);//尋找 layout 裡 TextView

//x.setVisibility(100);

connectBTN.setOnClickListener(new OnClickListener() {

@Override

public void onClick(View arg0) { // TODO Auto-generated method stub

(34)

34

mBtAdapter = BluetoothAdapter.getDefaultAdapter();

if(mBtAdapter == null) {

Log.e("TAG","No bluetooth adapter available");

}

if (!mBtAdapter.isEnabled()) { mBtAdapter.enable();

}

IntentFilter filter = new IntentFilter(BluetoothDevice.ACTION_FOUND);

registerReceiver(mReceiver, filter);

filter = new

IntentFilter(BluetoothAdapter.ACTION_DISCOVERY_FINISHED);

registerReceiver(mReceiver, filter);

//Bluetooth state send mReciver mBtAdapter.startDiscovery();

}

});

}

private final BroadcastReceiver mReceiver = new BroadcastReceiver() {

public void onReceive(Context context, Intent intent) { // find the device

Log.e("TAG","onReceive");

if

(BluetoothDevice.ACTION_FOUND.equals(intent.getAction())) { // get target bluetooth

BluetoothDevice device =

intent.getParcelableExtra(BluetoothDevice.EXTRA_DEVICE);

Log.e("Adr+ID",

device.getAddress()+"|"+device.getName());//get BT adr and name if (device.getAddress().equals(devAdr)) {//get the

mac address equals target address 藍芽 mBtAdapter.cancelDiscovery();

(35)

35

圖表 18 成果展示 1

Log.e("TAG","getAddress");

// to link device try {

(36)

36

mmSocket =

mBtAdapter.getRemoteDevice(devAdr).createRfcommSocketToServiceRecord(

M_uuid);

mmSocket.connect();

mmOutputStream = mmSocket.getOutputStream();

mmInputStream = mmSocket.getInputStream();

ReceiveDatafromArduino();

Log.e("TAG","Ready receive data from arduino drive");

/*t1.setText("target:"+device.getName()+

" Adr:"+device.getAddress()+" 連線成功");*/

Log.e("TAG","connect success");

} catch (IOException e) {

// TODO Auto-generated catch block Log.e("TAG","in catch");

e.printStackTrace();

};

} else { Log.e("TAG","Connect fail");

//t1.setText(date+" "+"target:"+" 無裝置"+" Adr:"+" 無裝置

");

} }

//Log.e("TAG","Can't find bluetooth drive");

} };

void ReceiveDatafromArduino() {

final Handler handler = new Handler();

//This is the ASCII code for a newline character //we need change ASCII to UTF-8

final byte delimiter = 10;

stopWorker = false;

readBufferPosition = 0;

readBuffer = new byte[1024];

workerThread = new Thread(new Runnable() {

public void run()

(37)

37

{

while(!Thread.currentThread().isInterrupted()

&& !stopWorker) { try

{

int bytesAvailable =

mmInputStream.available();

if(bytesAvailable > 0) {

byte[] packetBytes = new byte[bytesAvailable];

mmInputStream.read(packetBytes);

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

byte b = packetBytes[i];

if(b == delimiter) {

byte[] encodedBytes = new byte[readBufferPosition];

System.arraycopy(readBuffer, 0, encodedBytes, 0, encodedBytes.length);

final String data = new String(encodedBytes, "UTF-8");

readBufferPosition = 0;

final String ok = null;

handler.post(new Runnable() {

public void run() {

t.setText(data);

switch (data.length()) { case 4:

Log.d("Show DATA",data);

x =(ImageView)findViewById(R.id.imageView1);

x.setImageResource(R.drawable.ic_launcher);

//音樂播放

soundPool .play(1,1, 1, 0, 0, 1);

break;

(38)

38

case 5:

Log.i("Show DATA",data);

x =(ImageView)findViewById(R.id.imageView1);

x.setImageResource(R.drawable.a08);

}

//Log.d("Show DATA",xx);//顯示資料 //x.setImageResource(R.drawable.a09);

//change picture

/*x =(ImageView)findViewById(R.id.imageView1);

x.setImageResource(R.drawable.ic_launcher);*/

} });

} else

{

readBuffer[readBufferPosition++]

= b;

} }

} }

catch (IOException ex) {

stopWorker = true;

} }

} });

workerThread.start();

}

(39)

39

圖表 19 成果展示 2

void closeBT() throws IOException { stopWorker = true;

mmOutputStream.close();

(40)

40

mmInputStream.close();

mmSocket.close();

Log.e("TAG","Bluetooth Closed");

}

}

(41)

41

第五章 專題完成度及貢獻

主要功能:

我們這組是要做出電子矯正衣,我們已 arduino 以及 三軸加速器 來偵測 身體的位置變化,再經由藍芽模組傳送至手機 APP,做使用達到本專題所需功 能。

ARDUINO 部分:已經可以偵測身體角度、並計算角度是否偏移。

APP 部分:已可以接收藍芽所傳送的資料、以聲音、圖片作為提醒。

尚未完成部分:整合所有硬體設備,將所有功能合而為一。

個人貢獻:

張淵竣:藍芽連接手機 顯示偵測結果

可以彈跳圖片聲音 接收 arduino 計算結果

邱建凱:

在 Arduino 做計算 接收三軸數據

(42)

42

第六章 結論

科技的進步帶給人們更便利、更舒適的生活,手機從以前的無線電公用載波 器、磚形電話、老式翻蓋手機、直板手機、衛星電話、PDA、黑莓機……等, 到 現在的智慧型手機,科技快速的進步帶給人們便利,也帶給人們許多壞的習慣。

舉例來說:現在人手一隻智慧型手機,搭配上無線網路,使人們可以無時無刻的 享受與朋友零距離溝通的快感,但因為長時間的使用,頭越看越低,長時間的姿 勢不正確,久了,脊椎側彎的人越來越多,於是專門為老人保護脊椎的鐵衣也在 年輕人身上看的到了,但是鐵衣既不方便又不好穿,於是乎我們有了個點子,將 鐵衣結合現代的科技做改良,電子矯正衣,利用 arduino 三軸加速器配合上手機 APP 程式,來提醒使用者身體姿勢已漸漸偏移,進而取代了傳統式鐵衣,有鐵衣

的功能也具有方便性,因為有聲光效果的提醒所以身障人士也可以使用,為了理

想而努力,結合傳統的觀念配上現代的科技,達到我們的目標。

(43)

43

參考文獻

http://newsletter.ascc.sinica.edu.tw/news/read_news.php?nid=2782 http://swf.com.tw/?p=569

http://ir.lib.ksu.edu.tw/bitstream/987654321/17010/2/%E5%B0%88%E9%A1%

8C%E8%A3%BD%E4%BD%9C.pdf

http://www.sogi.com.tw/articles/Android%E5%B9%B3%E5%8F%B0%E7%9A%84%E8

%A9%B3%E7%B4%B0%E4%BB%8B%E7%B4%B9/6072766 http://zh.wikipedia.org/zh-hant/

http://www.ccpo.com.tw/products/products_detail.php?category_id=2&typ e_id=5&product_id=20

參考文獻

相關文件

在開始製作之時,依組別順序取小蘇打粉末、醋酸及水,請依照工作人員的指 示,違者三項活動皆不予計分。(註:電子秤使用方式:1.按下 on/off 鍵,開啟 電子秤 2.放上衛生紙

1.按「下載11月1日財產資 料進行申報」鈕進入申報 軟體,並以11月1日為申報 基準日進行申報,不可更 動申報基準日,因申報人

倘若您先前已經自行以該 email address 註冊 ORCID iD,當您點選 信中按鈕後,則會直接出現 ORCID 登入畫面,登入即可啟動您的 AH 平台權限。您亦可將您的

Rather than requiring a physical press of the reset button before an upload, the Arduino Uno is designed in a way that allows it to be reset by software running on a

一、訓練目標:充分了解在自動化 機械領域中應用 Arduino 控制,進 而能自行分析、設計與裝配各種控

HyView Reader 目前僅接受 Microsoft Windows 作業系統之電腦,PDA 智慧 型手機(ex.IPhone) 及其他載具目前無法閱讀電子書,未來改版會陸續擴充 建 議:MAC 電腦使用者可利用

請點選該學期按鈕,以提交不申請資訊 至縣市端系統,如:第二學期不申請經

第一步:在 VMware 按下 Install VMwave Tools 按下之後系統就會開啟安裝畫面給