智慧聲控環境照明系統 -...

46
電腦與通訊系 四技部 智慧聲控環境照明系統 學生: 丁俊傑(4001D010) 指導老師: 0

Transcript of 智慧聲控環境照明系統 -...

  • 崑 山 科 技 大 學

    電腦與通訊系 四技部

    專 題 製 作 報 告

    智慧聲控環境照明系統

    學生: 丁俊傑(4001D010)

    指導老師:

    師: 王 建 仁

    中 華 民 國 一 0 三 年 八 月

  • I

    摘要

    現今這個社會是個資訊爆炸的時代,人們為了要更加即時獲得資

    訊而不斷的盯著手機電腦等 3C 產品,再加上人們的生活習慣的改變,

    人與人之間的互動不再是見面寒暄,而是使用像 Line 等…APP 進行即

    時溝通,使得人們幾乎 24小時不斷的盯著螢幕看,如果剛好環境昏暗,

    人們勢必不斷的將 3C產品達到最大亮度,讓 3C產品所散發的能量光

    ”藍光”不斷的傷害我們的眼睛,讓我們眼睛造成黃斑部發炎、水腫、

    假象近視等…最後嚴重影響我們的視力。或者是因為環境亮度不足,

    讓我們因為要看清楚字體,使的我們得常時間近距離閱讀書籍,造成

    眼球變形而近視。

    眼睛是人類的靈魂之窗,我們該更加重視對其的保護,不該因

    為平時疏於保護而讓我們看不清楚美麗的事物,而本研究針對環境燈

    光是因為與眼睛接觸最長時間的就是光線,防範勝於治療。

    本研究希望藉由光敏電阻的自動偵測及手機藍芽跟語音辨識的多

    個控制系統去改善現代人對眼睛傷害的問題。

  • II

    致謝

    雖然大學四年的時間已經漸漸的結束了,回首剛到校園時的期許

    和目標,以及現在完成目標的喜悅,這一切都要感謝許多人對我們的

    提攜與幫助。

    我們專題能夠順利的完成,首先要感謝的是我們的指導老師-王建

    仁老師,在老師辛勞叮嚀我們的進度以及給予我們眾多的鼓勵下,專

    題才能如期的完成,在於專題上,老師也在課業上幫助了我們很多,

    也在老師身上學到了很多知識與想法。

    在忙於專題的日子上,非常感謝所有幫助過我們的人,謝謝你們

    指導我們很多不懂的地方,也才能讓我們慢慢熟悉並且深入去完成我

    們的專題,沒有你們我們也不會有像現在的成就,謝謝你們。

  • III

    目錄

    頁次

    摘要 Ⅰ

    致謝 Ⅱ

    目錄 Ⅲ

    圖目錄 Ⅴ

    第一章 緒論 1

    1.1 前言 1

    1.2 動機、目的 2

    第一章 背景知識 3

    2.1 Arduino 3

    2.2 光敏電阻 6

    2.3 藍芽模組 8

    2.4 語音辨識模組(99SPR) 15

    第三章 程式說明 22

    第四章 系統功能操作 30

    4.1 偵測環境亮度 30

    4.2 藍芽控制 32

    4.3 語音控制 36

    第五章 結論 37

    第六章 參考文獻 38

  • IV

    圖表目錄

    頁次

    圖2-1-1 Arduino硬體介紹 3

    圖2-1-2 Arduino 14支數位I/O接腳 4

    圖2-1-3 Arduino 6支類比輸入腳 5

    圖2-2-1 光敏電阻 6

    圖2-2-2 理想狀態圖 7

    圖2-3-1 Bluetooth 8

    圖2-3-2 藍牙模組 12

    圖2-3-3 藍牙模組帶底板 14

    圖2-3-4 藍芽模組腳位 14

    圖2-4-1 99SPR 17

    圖2-4-2 LD3320 20

    圖2-4-3 LD3320內步功能方塊圖 20

    圖2-4-4 語音辨識流程 21

    圖4-1-1 光敏電阻安裝 30

    圖4-1-2 光敏電阻偵測暗 31

    圖4-1-3 光敏電阻偵測亮 31

    圖4-2-1 藍牙模組安裝 32

    圖4-2-2 藍牙App開啟 32

    圖4-2-3 藍牙App畫面 33

    圖4-2-4 藍牙App連結 33

  • V

    圖4-2-5 藍牙App連結 33

    圖4-2-6 藍牙App連結成功 34

    圖4-2-7 藍牙控制變暗 35

    圖4-2-8 藍牙控制變亮 35

    圖4-3-1 99SPR 36

  • 1

    第 一 章

    緒論

    1.1 前言

    近年來,台灣不只近視率攀升,近視的平均度數也往上升,近視的

    年齡也不斷下降。

    根據衛生署統計,台灣的小一學童,每五個就有一個有近視眼,

    到了小學六年級更誇張,近視比例高達六成五,其中有 3 到 4%,屬於

    高度近視,成年人則已超過百分之八十台灣的近視比例,世界第一。

    而眼睛是人類的靈魂之窗,我們更該加強對其的重視及保護,本研究

    利用光敏電阻讓使用者能藉由光線的調節,讓眼睛不受到強光刺激而

    受傷,不僅光線太強會影響我們視覺,讓眼睛受到迫害無法正常觀看,

    也會產生眼睛的疾病;光線太弱讓我們無法正常觀看,使得眼睛造成

    壓力,形成更多負擔。當然環境光線是會隨著時間做變化,所以利用

    此裝置讓我們的室內光線一直持續達成平衡,讓眼睛得到最舒適的保

    護。

  • 2

    1.2 動機、目的

    相信大家都有遇過這問題吧,在房間內閱讀書籍,天空忽然飄來

    一大片白雲把室外光線遮住,造成環境亮度整體下降,然後你為了把

    字體看得更清楚,所以你就必須更近距離閱讀,常時間下來造成眼睛

    不適。或者,環境亮度忽然變亮,然後你可能些許困難無法動身將過

    多的光源關閉,造成眼睛刺痛跟浪費能源等…問題。

    眼睛是我們感受身邊事物的重要器官,但我們自己有沒有發現它

    的健康問題呢?或許每天每天的使用下,並不會發現有什麼不妥,但自

    己的視力是否發生起伏?長時間的使用手機、電腦,是否常感到疲累?

    很多的傷害都是一點一滴的造成,一旦形成了就很難復原。

    讓眼睛受到傷害原因很多,光線就佔了很大的關係,所以本研究以

    光線為基礎,透過光敏電阻讓我們的室內光線得已達到平衡,讓眼睛

    不會因為忽強忽弱的光線造成眼睛的負擔甚至是傷害,此裝置也特別

    使用了藍芽聲控來控制所有燈泡,讓我們能便利且快速的將亮度調節

    在自己需要的範圍之中,也使較年長者及行動不便的人也能輕鬆使

    用。

  • 3

    第 二 章

    背景知識

    2.1 Arduino

    Arduino是一個開放原始碼的單晶片微電腦,它使用了 Atmel AVR

    單片機,採用了基於開放原始碼的軟硬體平台,構建於開放原始碼

    simple I/O 介 面 板 , 並 且 具 有 使 用 類 似 Java , C 語 言 的

    Processing/Wiring 開發環境。Arduino 可區分為三大類,分別是

    Arduino硬體、Arduino軟體及 Arduino擴充原件。

    圖 2-1-1 Arduino硬體介紹

    微控制器 ATMEGA328

    工作電壓 5V

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

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

    數字 I / O接腳 14(6個提供 PWM輸出)

    模擬輸入接腳 6支

    EEPROM 1 KB(ATMEGA328)

    震盪速度 16 MHz

    http://zh.wikipedia.org/wiki/%E9%96%8B%E6%94%BE%E5%8E%9F%E5%A7%8B%E7%A2%BChttp://zh.wikipedia.org/wiki/%E5%96%AE%E6%99%B6%E7%89%87%E5%BE%AE%E9%9B%BB%E8%85%A6http://zh.wikipedia.org/wiki/%E9%96%8B%E6%94%BE%E5%8E%9F%E5%A7%8B%E7%A2%BChttp://zh.wikipedia.org/wiki/Java

  • 4

    Arduino擁有 14支數位 I/O接腳可以當作 input使用,也可以當

    作 output 使用,使用方法是透過 pinMode(),digitalWrite()

    ,anddigitalRead() 這幾個函式。

    這 14 支數位 I/O 接腳,其中幾支腳有特殊的功能:

    Serial 通訊

    0(RX) 和 1 (TX) 這兩支腳。用來接收(RX)與傳輸

    (TX) TTL 訊號的序列資料。這兩支腳也連接到 USB

    Converter 晶片中。

    外部中斷

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

    中斷。詳細內容請參考 attachInterrupt() 函式。

    PWM

    3, 5, 6, 9, 10 和 11 共六支腳。透過

    analogWrite() 函式可以提供 8-bit 的 PWM 輸出。

    SPI

    10 (SS), 11 (MOSI), 12 (MISO) 和 13 (SCK) 這四

    支腳。這四支腳搭配 SPI Library 可提供 SPI 序列

    通訊。

    LED

    13。內建一顆 LED,當 pin 腳為 HIGH 時,LED 打

    開,當 pin 腳為 LOW 時,LED 關閉。

    圖 2-1-2 Arduino 14支數位 I/O接腳

  • 5

    Arduino Uno有 6支類比輸入腳,標記為 A0到 A5,每支腳都可提

    供 10 位元的解析(即 1024 種不同的數值)。這些腳位所用的參考電壓

    預設為 0 到 5V,不過參考電壓也是可以更改的,方法是透過 AREF 腳

    和 analogReference()

    I2C

    4 (SDA) 和 5 (SCL) 這兩支腳。透過 Wire library 可以提

    供 I2C 通訊。

    AREF

    類比輸入的參考電壓,搭配 analogReference() 函式一起使

    用。

    Reset 當 Reset 腳為 LOW 時,微控制器會重置。

    圖 2-1-3 Arduino 6支類比輸入腳

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

    下載,它所用的程式語言語法類似於 C/C++,具備文字編輯介面、常

    用工具欄、圖形化控制介面及錯誤編輯器,運用這個工具進行城市的

    上傳,及各項感應器的溝通。

    使用的 Arduino編寫的軟件被稱為 Sketch(腳本) 。 這些的腳本都

    寫在文本編輯器。上排圖形提供了新增、上傳、除錯及腳板切換介面。

    而 console介面紀錄了完整的執行訊息,更可藉由此介面監視 Arduino

    I/O數值。

  • 6

    2.2 光敏電阻

    光敏電阻就是在均質的光電導體兩端加上電極後構成為光敏電阻

    ,兩電極加上電壓後,當光照射到光電導體上,由光照產生的光生載

    子在外加電場之作用下沿一定方向運動,在電路中產生電流,達到光

    電轉換之目的。

    圖 2-2-1光敏電阻

    光敏電阻的工作原理是基於內光電效應。在半導體光敏材料兩端

    裝上電極引線,將其封裝在帶有透明窗的管殼裡就構成光敏電阻,為

    了增加靈敏度,兩電極常做成梳狀。用於製造光敏電阻的材料主要是

    金屬的硫化物、硒化物和碲化物等半導體。通常採用塗敷、噴塗、燒

    結等方法在絕緣襯底上製作很薄的光敏電阻體及梳狀歐姆電極,接出

    引線,封裝在具有透光鏡的密封殼體內,以免受潮影響其靈敏度。在

    兩端的金屬電極加上電壓,其中便有電流通過,受到一定波長的光線

    http://baike.baidu.com/view/14336.htmhttp://baike.baidu.com/view/19928.htmhttp://baike.baidu.com/view/495141.htmhttp://baike.baidu.com/view/1528693.htm

  • 7

    照射時,電流就會隨光強的增大而變大。光敏電阻沒有極性,純粹是

    一個電阻器件。

    暗電阻

    當電阻在完全沒有光線照射的狀態下(室溫),稱這時的電阻值

    為暗電阻(當電阻值穩定不變時,例如 1kM歐姆),與暗電阻相對應

    的電流為暗電流。

    亮電阻

    當電阻在充足光線照射的狀態下(室溫),稱這時的電阻值為亮

    電阻(當電阻值穩定不變時,例如 1歐姆),與亮電阻相對應的電流

    為亮電流。

    下圖為光敏電阻理想狀態下所呈現的狀態:

    圖 2-2-2 理想狀態

  • 8

    2.3 藍芽模組

    藍牙是一種無線個人局域網(Wireless PAN),運作原理是在射頻

    2.45 GHz的頻帶上傳輸,除了資料外,也可以傳送聲音。每個藍芽技

    術連接裝置都具有根據 IEEE 802標準所制定的 48-bit地址;可以一

    對一或一對多來連接,傳輸範圍最遠在 10公尺。藍芽技術不但傳輸量

    大,每秒鐘高達 1MB,同時可以設定加密保護,每分鐘變換頻率一千六

    百次,因而很難截收,也不受電磁波干擾。

    圖 2-3-1 Bluetooth

    藍牙技術從出現到現在已經出到 4.2版本了以下為各版本的改良:

    藍牙 1.0,藍牙 1.0B,藍牙 1.1,藍牙 1.2,這個版本向下相容 1.1

    版:

    匿名方式

    http://zh.wikipedia.org/wiki/%E5%80%8B%E4%BA%BA%E5%B1%80%E5%9F%9F%E7%B6%B2http://zh.wikipedia.org/wiki/%E6%97%A0%E7%BA%BF%E4%B8%AA%E4%BA%BA%E7%BD%91

  • 9

    遮蔽裝置的硬體位址(BD_ADDR),保護使用者免受身分嗅探攻擊

    和跟蹤。從 1.1 版開始已經可以實作硬體匿名,但未被實施,因此對

    普通消費者來說還是沒有此功能。

    自適應頻率跳躍(AFH,Adaptive Frequency Hopping)

    透過避免使用跳躍序列中的擁擠頻率,從而改善對無線電干涉的

    抵抗。更高的實際傳輸速度,實際測試約為 24KB/S(192Kbps)左右

    。L2CAP層引入了流量控制和錯誤糾正機制

    藍牙 2.0+EDR

    2.0介面卡的內部結構(此產品廠商:高銳(CELL)電子)內容加

    入了「非跳躍窄頻通道」(Non-hopping narrowband channel)。為

    不需要與每個裝置交換應答訊號,這種通道可以用來將各種器件的藍

    牙服務概要同時廣播到巨量的藍牙器件。應答訊號交換過程當前需要

    大約一秒。更高的連線速度(實際測試速度為 280KB/s=2240Kbps)支

    援多個速度水平

    藍牙 2.1+EDR

    新規範 2.1+EDR 向下對 1.2 版本完全相容,藍牙技術聯盟於 2007

    年 7 月 26 日透過。藍牙 2.1,增加了 Sniff 省電功能,使得介面卡與

    裝置的聯繫時間延長到 0.5 秒,能節約不小電量;增強功能有簡單安

    http://zh.wikipedia.org/w/index.php?title=%E8%BA%AB%E5%88%86%E5%97%85%E6%8E%A2&action=edit&redlink=1http://zh.wikipedia.org/w/index.php?title=%E6%97%A0%E7%BA%BF%E7%94%B5%E5%B9%B2%E6%B6%89&action=edit&redlink=1http://zh.wikipedia.org/w/index.php?title=%E6%8A%B5%E6%8A%97&action=edit&redlink=1http://zh.wikipedia.org/w/index.php?title=%E9%9D%9E%E8%B7%B3%E8%B7%83%E7%AA%84%E9%A2%91%E9%80%9A%E9%81%93&action=edit&redlink=1

  • 10

    全配對(SSP),這改善了藍牙裝置的配對經驗,同時提升了使用和安

    全強度。

    藍牙 3.0+HS

    更高的資料傳輸速率,整合 802.11PAL最高速度可達 24Mbps。是

    2.0速度的 8倍。引入了增強電源控制,實際空閒功耗明顯降低。

    藍牙 4.0

    Bluetooth 4.0,協定組成和當前主流的 Bluetooth h2.x+EDR、還

    未普及的 Bluetooth h3.0+HS不同,Bluetooth 4.0是 Bluetooth從誕

    生至今唯一的一個綜合協定規範,還提出了「低功耗藍牙」、「傳統

    藍牙」和「高速藍牙」三種模式。其中:高速藍牙主攻資料交換與傳

    輸;傳統藍牙則以訊息溝通、裝置連線為重點;藍牙低功耗顧名思義,

    以不需佔用太多頻寬的裝置連線為主。此外,Bluetooth 4.0還把藍牙

    的傳輸距離提升到 100 米以上(低功耗模式條件下)。Single mode

    只能與 BT4.0 互相傳輸無法向下相容(3.0/2.1/2.0 無法相通);Dual

    mod可以向下相容可與 BT4.0傳輸也可以跟 3.0/2.1/2.0傳輸超低的峰

    值、平均和待機模式功耗,覆蓋範圍增強,最大範圍可超過 100米。

    速度

  • 11

    支援 1Mbps 資料傳輸率下的超短封包,最少 8 個八組位,最多 27

    個。所有連線都使用藍牙 2.1加入的減速呼吸模式(sniff subrating)

    來達到超低工作迴圈。

    跳頻

    使用所有藍牙規範版本通用的自適應跳頻,最大程度地減少和其

    他 2.4 GHz ISM頻段無線技術的串擾。

    主控制

    可以休眠更長時間,只在需要執行動作的時候才喚醒。

    延遲

    最短可在 3毫秒內完成連線設定並開始傳輸資料。

    健壯性

    所有封包都使用 24-bit CRC校驗,確保最大程度抵禦干擾。

    安全

    使用 AES-128 CCM加密演算法進行封包加密和認證。

    拓撲

    每個封包的每次接收都使用 32位元定址,理論上可連線數十億裝

    置;針對一對一連線最佳化,並支援星形拓撲的一對多連線;快速連

    線和斷開,資料可以在網狀拓撲內轉移而無需維持複雜的網狀網路。

    藍牙 4.1

  • 12

    藍牙 4.1是藍牙技術聯盟於 2013年底推出的新的規範,其目的是

    為了讓 Bluetooth Smart 技術最終成為物聯網 (Internet of

    Everything)發展的核心動力。此版本為藍牙 4.0的軟體更新版本,搭

    載藍牙 4.0 裝置的終端可通過軟體更新獲得此版本。對於開發人員而

    言,該更新是藍牙技術發展史上一項重要的進步。該更新提供了更高

    的靈活性和掌控度,讓開發人員能創造更具創新並催化物聯網(IOT)

    發展的產品。

    藍牙 4.2

    是藍牙技術聯盟於 2014年 12月推出的新的規範。

    藍牙模組

    圖 2-3-2藍牙模組

    http://zh.wikipedia.org/wiki/%E8%97%8D%E7%89%99%E6%8A%80%E8%A1%93%E8%81%AF%E7%9B%9Fhttp://zh.wikipedia.org/wiki/%E8%97%8D%E7%89%99%E6%8A%80%E8%A1%93%E8%81%AF%E7%9B%9Fhttp://lh6.ggpht.com/-exYafvxNlgQ/T-Hrlkiy-FI/AAAAAAAAHvE/C1tGIqzPB9o/s1600-h/image2.png

  • 13

    如圖 2-3-2是 HC-0x 藍芽模組的外觀,這款藍芽模組可以讓你在

    範圍 10 米內實現無線傳輸通信,而且可以界接包括 Arduino,8051,

    PIC,AVR,ARM,MSP430 等各種 MCU。

    特性

    藍芽協定: Bluetooth V2.0 + EDR (Enhanced Data Rate)

    工作頻率: 2.4~2.48GHz, ISM Band

    傳輸距離: 空曠地有效距離 10 公尺

    介面: UART

    輸入電壓: 3.3V ~ 4.2V

    工作溫度: -20℃ ~ +75℃

    原始模組使用工作電壓為 3.3V ~ 4.2V,因為 Arduino 一般是 5V

    的,如果要跟 Arduino 連接,得利用 LDO Regulator (Low Drop Out

    Regulator) 轉換電壓,對一般使用者會有些困難。所幸市面上可以買

    到帶底板的模組

  • 14

    圖 2-3-3 藍牙模組帶底板

    藍芽模組腳位定義:

    Pin ID Description

    1 EN Enable / Disable module

    2 VCC 輸入電壓 3.6V ~ 6V

    3 GND Comman Ground

    4 TXD UART TXD Output

    5 RXD UART RXD Input

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

    圖 2-3-4 藍芽模組腳位

    http://lh6.ggpht.com/-6GZi_7C_jUs/T-Hrq_FB6xI/AAAAAAAAHvk/GhdhKbtaR3M/s1600-h/image7.png

  • 15

    2.4 語音辨識模組(99SPR)

    語音辨識(ASR)就是將人類的語音中的詞彙內容轉換為計算機可

    讀的輸入,例如按鍵、二進制編碼或者字符序列。與說話人識別

    (Speaker recognition)及說話人確認不同,後者嘗試識別或確認發

    出語音的說話人而非其中所包含的詞彙內容。

    ASR是基於候選詞列表識別的技術,只需要設定好要識別的候選詞

    列表,並把這些候選詞以字元的形式傳送到語音識別晶片內部,就可

    以對用戶說出的候選詞進行識別,不需要用戶作任何地錄音訓練。ASR

    技術在現實生活中最重要的意義就在於提供了一種脫離按鍵、鍵盤或

    滑鼠等傳統思維的操作介面,而是一種基於語音的用戶介面(VUI:

    Voice User Interface)。ASR 技術每次識別的過程,用戶說出的語音

    內容,通過頻譜轉換為 語音特徵,再與候選詞列表中的每一筆資料一

    一進行匹配,再將最佳匹配的候選詞作為識別的結果。識別引擎只比

    對候選詞的特徵值,因此候選詞可以是命令、人名、歌曲名字、操作

    指令等等,任何的中文字元串。語音識別技術所涉及的領域包括:信

    號處理、模式識別、概率論和信息論、 發聲機理和聽覺機理、人工智

    能等等。

  • 16

    語音辨識的種類

    語音控制系統的功能包括語音識別和語音合成,其中,語音識別

    目前可分特定對像( speaker dependent )與非特定對象( speaker

    independent)兩種。

    特定對象(SD)語音辨別通常用於專屬或者需要安全保密的機器,

    第一次使用之前必須先輸入使用者的語音,讓識別系統記住,這個步

    驟叫做訓練(training),等到識別系統確認訓練成功後,使用者就可

    以使用語音識別功能,不用再次訓練。其優點是可以客製化,將識別

    系統變成專屬特性。

    非特定對象(SI)語音識別系統在系統完成前,會經過一到特別的

    訓練手續,等到訓練完成後,才會交使用者,使用者不但可以直接使

    用命令,並且是任何人都可以使用,而不再是個人專用,這類設計比

    較適合使用於公共場所。

    本研究所使用的語音辨識模組為 99SPR,是屬於非特定對象語音辨

    識。99SPR 模塊使用 LD3320 芯片,STC10L08XE 芯片,加上 SPI-Flash

    作為存儲器,構成一個完整的模塊系統,可以用來評估 LD3320語音識

    別芯片的全部功能。

  • 17

    圖 2-4-1 99SPR

    99SPR語音識別模塊具備以下特點:

    1.非特定人語音識別,輸入拼音即可識別,能識別所有人的語音,

    不分男女。

    2.模塊上集成有 32Mbit大容量 FLASH存儲芯片用來存儲要播放

    MP3文件數據,能滿足絕大多數的人機對話應用情景。

    3.模塊支持「口令觸發識別」模式觸發口令可更改,在識別到口

    令後,N秒內的語音識別指令有效,如果超過 N秒沒有語音識別指令需

    要重新進行口令觸發。N的範圍同樣可以自己修改。

  • 18

    4.模塊支持「直接觸發識別」模式,也就是任一時刻都能識別用

    戶指令。

    5.可串口輸出語音識別結果,方便和其他設備系統互連,無需自

    己編程,非常適合初學者,對應高級開發者,可以自己修改程序調整

    需要的輸出方式。

    6.提供界面友好的圖像界面下載工具,簡單易用。提供單片機端

    的測試程序源代碼,方便高級開發者進行更高級的開發應用。

    7.模塊支持 50條用戶識別語句,每個語句可以是單字,詞組或短

    句,長度為不超 10個漢字或者 79個字節的拼音串

    8.支持 50個 MP3文件播放。

    9.多種輸入方式選擇,可以選擇 MIC麥克風輸入,單通道音頻輸

    入,立體聲音頻輸入。

    10.模塊本身支持 7個控制 IO輸出,可以控制 7路繼電器模塊。

    11.模塊上有聲(一個蜂鳴器)和光(一個 LED燈)提示工作狀態,

    可以選擇是否開啟

  • 19

    LD3320主要特點如下

    不需要使用者事先訓練和錄音,識別準確率可達 95%。

    不需要外接任何輔助的 Flash晶片,RAM晶片和 A/D晶片,就可以

    完成語音識別功能。

    識別最多可以設置 50項候選識別字語,每個識別字語可以是單字,

    片語或短句,長度為不超過 10 個漢字或者 79 個位元組的拼音串。另

    一方面,識別句內容可以動態編輯修改,因此可由一個系統支援多種

    場景而突破 50項候選識別字語的限制。

    晶片內部已經準備了 16位 A/D轉換器、16位 D/A轉換器和功率放

    大電路,麥克風、雙聲道耳機和單聲道喇叭可以很方便地和晶片接腳

    連接。雙聲道耳機介面的輸出功率為 20mW,而喇叭介面的輸出功率為

    550mW,能產生清晰響亮的聲音。

    支援 MP3播放功能,無需週邊輔助器件,主控 MCU 只需將 MP3 資

    料依次送入 LD3320晶片內部,就可以從晶片的相應接腳輸出聲音。晶

    片可接受 MPEG1、MPEG2 和 MPEG 2.5 layer3 等格式。

  • 20

    圖 2-4-2 LD3320

    圖 2-4-3 LD3320內步功能方塊圖

    語音識別流程

    語音識別的操作程序必須先將語音識別初始化(包含通用初始

    化),然後開始建立識別列表,等識別列表建立完畢後開始識別。如圖

  • 21

    開始

    語音識別初始化

    通用初始化

    建立識別列表

    開始辨識

    所示然後將中斷回應函數建立好,然後打開中斷允許位元。如果不使

    用中斷方式,也可以通過查詢 的方式工作,在"開始識別"後,讀取暫

    存器B2H的值,如果為21H就表示有識別結果產生,產生結果後讀取候

    選項等操作與中斷方式相同。

    識別列表的規則是,每個識別條目對應一個特定的編號(1個位元

    組)不同的識別條目的編號可以相同,而且不用連續,但是數值,要

    小於 256(00H~FFH)LD3320最多支援50個識別條目。

    圖 2-4-4 語音辨識流程

  • 22

    第 三 章

    程式說明

    int threshold = 80; //出值使用 analogRead範圍的一半

    int range = 12; //如果光照範圍在目前 threshold +- range則系

    統不改變亮燈的顆數

    int th_increment = 18; //改變參數

    int original_range= 3;

    int inumber=0;

    int inumber_previous = 0;

    int justpass=0; //1 代表剛超過 threshold

    int x=0; //儲存由 A0讀入的值

    int x_previous = 0;

    int xt_diff = 0; //目前光度與 threshold的差

    int loop1 = 1; //loop1==1 代表在第一次迴圈

    int y=0;

    int z=0;

    char bluetoothread;

    void setup()

  • 23

    {

    for(int i=0;i

  • 24

    {

    digitalWrite(5+i,HIGH);

    }

    for(int i=inumber;i threshold && x_previous

  • 25

    {

    delay(1000);

    x = analogRead(A1);

    Serial.println("Read in ");

    Serial.println(x);

    Serial.println(threshold);

    /*目前的亮度和 threshold的差在預設範圍 range內,不理會 */

    xt_diff = x-threshold;

    if( xt_diff < 0 )

    {

    xt_diff = -xt_diff;

    }

    if( xt_diff

  • 26

    if( x < threshold )

    {

    inumber = inumber+1;

    }

    for(int i=0;i 1 )

    {

    inumber = inumber - 1;

    }

  • 27

    for(int i=0;i

  • 28

    }

    Serial.println(threshold);

    if( z==1 )

    {

    threshold = threshold - th_increment; // 調低 threshold

    delay(1500);

    Serial.println("Down");

    }

    Serial.println(threshold);

    // 偵測藍牙模組是否有訊號輸出 調整 threshold 部分

    if(Serial.available() > 0)

    {

    bluetoothread=Serial.read();

    if( bluetoothread == 'f')

    {

    threshold = threshold + th_increment; // 調高 range

    // delay(1000);

    }

  • 29

    if( bluetoothread == 'b')

    {

    threshold = threshold - th_increment; // 調低 range

    // delay(1000);

    }

    }

    } // loop 結束

  • 30

    第 四 章

    系統功能操作

    4.1 偵測環境亮度

    首先將光敏電阻安裝在適當的位置,我們就能利用光敏電阻的特

    性去執行自動偵測環境亮度的功能,讓環境都能維持在一個亮度以上,

    達到智慧控制的目地。

    圖 4-1-1 光敏電阻安裝

  • 31

    當環境光線亮時,光敏電阻會自動偵測,且讓室內燈光變暗

    圖 4-1-2 光敏電阻偵測亮

    當環境光線暗時,光敏電阻會自動偵測,且讓室內燈光變亮

    圖 4-1-3 光敏電阻偵測暗

  • 32

    4.2藍芽控制

    首先先啟動系統,會看到藍芽模組會發出紅色閃光,代表藍芽模

    組已啟動。

    圖 4-2-1 藍牙模組安裝

    接下來開起藍芽 APP會進入圖 4-2-2的畫面

    圖 4-2-2 藍牙 App開啟

  • 33

    他會要求開起手機的藍芽,這時後按是就會開起手機藍芽,並進

    入圖 4-2-3的畫面

    圖 4-2-3 藍牙 App畫面

    按左下角的 connect,就會跑到圖 4-2-4,接下來 APP就會自動

    搜索使用者身邊附近的所有的藍芽的裝置,選擇本裝置的藍芽模組

    圖 4-2-4 藍牙 App連結 圖 4-2-5 藍牙 App連結

  • 34

    當畫面會變成紅色,並出現 Connected to linvor時,代表藍芽

    連結成功,即可使用手機的藍牙功能操控此系統

    圖 4-2-6 藍牙 App連結成功

  • 35

    圖 4-2-7 藍牙控制變亮

    圖 4-2-8 藍牙控制變暗

    按”上鍵”即可使系統讓環境亮度變亮

    按”下鍵”即可使系統讓環境亮度變暗

  • 36

    4.3 語音控制

    語音的部分,因為我們使用 99SPR這個語音模組,它是屬於非特

    定對象(SI)語音識別系統。所以所有的設定再出廠前已經設定完成,

    所以只要對紅標所指的麥克風下達所設的語音指令即可動作。

    圖 4-3-1 99SPR

    系統所設定的指令為

    說”開燈”即可使系統讓環境亮度變亮

    說”關燈”即可使系統讓環境亮度變暗

  • 37

    第 五 章

    結論

    現今,因為科技的進步,使得人類的生活越來越方便。就如

    “ Nokia ”所說的 科技始終來自人性,因為人們的惰性激發了科技

    的進步所以現在的科技都已人性為主軸發展 。

    而經過這次專題研究,對於我們的程式撰寫、電路設計與電路製

    作都有很大的進步,也對現代人們的需求更加的了解,而本研究以保

    護人類的靈魂之窗“ 眼睛 ”做為出發點讓室內燈具變得更人性化。

    將自動偵測的光敏電阻,控制的藍芽模組跟語音辨識模組做個結合,

    使得任何人能以更輕鬆的方式去改變家中的環境亮度,跳脫以往必須

    起身尋找開關,才能改變燈光的情況。讓生活變得更加的便利,創造

    出一個高智慧環境的居家環境。

  • 38

    第 六 章

    參考文獻

    [1] 飆機器人,普特企業有限公司 –

    http://www.playrobot.com/cart/

    [2] 最簡單的互動設計 Arduino一試就上手,孫駿榮/吳明展/盧聰勇,

    碁峰資訊

    [3] 99 新電子科技

    http://99xdz.com/

    [4] Cooper Maa

    http://coopermaa2nd.blogspot.tw/

    [5] 中央研究院計算中心

    http://ascc.sinica.edu.tw/iascc/

    http://99xdz.com/