嵌入式動態溫度與回饋完整解決方案成員 : 蔡 0 義 ˴吳 0 瑋 ˴連 0 全 ˴余 0 縈 ˴謝 0 州 ˴曹 0 軒
2016/03/11
專題指導老師 :Joseph
105 艾鍗科技嵌入式 Linux系統工程師人才養成班
Outline
1. 動機 / 研究目的 2. 系統實作方法說明 2-1. 系統架構規格 2-2. 系統操作流程圖 2-3. 硬體架構 / 電路圖 2-3-1 溫度感測系統 BME280 2-3-2 網路 2-3-3 風扇速度控制 2-3-4 紅外線遙控 ( 原理與實作 ) 2-4. 軟體架構圖 / 流程圖 / 演算法 2-4-1 溫度感測系統 BME280 2-4-2 網路 2-4-3 風扇速度控制 2-4-4 紅外線遙控 ( 原理與實作 ) 3. DEMO 4. 市場分析 5. 未來展望 / 結論
動機 / 研究目的
1. 動機與研究目的研究動機 :本專題之發想是鑒於近日因寒流來襲 , 溫溼度隨天氣變化大 , 而家中電器常需要手動方式進行開關 , 無法自動調整溫溼度 . 因此想利用網路 , 以及程式來達到動態調控之方式 .研究目的 :希望能夠自動控制家中之電器 , 減少使用者去遙控電器所需花費之時間。同時可以透過偵測外在環境溫度 , 動態控制風扇轉速。
系統實作方法說明
2. 系統架構
2-1. 系統規格硬體規格 :
1. Raspberry Pi 2+ 2. Raspberry Pi 2+ 子板3. 紅外線遙控器4. 紅外線接收器
PWM 風扇 :1. SUNON PMD1209WTVX-A2. 供應電壓 :12V3. 功率 :7.6W
BME280 規格 :1. 感測器供應電壓 :1.71~
3.6V 2. 支援 SPI/I2C 介面3. 支援溫濕度與壓力感測3. -40~85C 溫度感測範圍
Raspberry Pi 2+
Raspberry Pi 2+ 子板
系統架構
系統架構
2-3. 硬體架構 - 電路圖
整體硬體架構圖
2-3. 硬體架構 - 電路圖
整體硬體架構圖
2-3. 硬體架構 - 電路圖
SDASCL3.3VGND
BME280
I2C 通訊BME280 與 I2C 介面
2-3. 硬體架構 - 電路圖
Fan / LCM / LEDs
2-3. 硬體架構 - 電路圖
紅外線遙控器 & 接收器
2-4. 軟體架構 - 流程圖 / 演算法開始
初始化
BME280溫度感測截取
將溫度資料上傳網路
LCM
溫度顯示
PWM隨溫度或 IR訊號變化調變轉
速強 中 弱
風扇
LIRC接收 IR訊號及 IR解
碼
1s
IR發射訊號
溫度感測系統BME280
溫度感測系統 (BME280)
溫度 / 溼度 / 壓力動態顯示監控網頁
BME280
溫度 / 濕度 / 壓力
Raspberry Pi2(Server)
抓取 BME280溫濕度壓力資訊( 次 /0.5s)
寫入 buffer
I2C
C 語言 讀取 buffer 資訊( 次 /1s)
PHP
HTMLjavaScript
溫度感測系統 (BME280)
溫度感測系統 (BME280)
每十秒更新一次最近十秒的溫度
風扇速度控制
風扇速度控制 (1/3)
透過 python 爬蟲抓取溫濕度顯示在 LCM
轉速慢
轉速中
轉速快
風扇速度控制 (2/3)
此專題呈現的風扇轉速會由溫度上升或降低 , 改變風速大小 , 是因為透過 Raspberry pi從網站上抓取溫度的數值 , 藉此數值判斷風扇該轉速 , 應用此概念可以很容易的實現家中電器的開關 , 運轉功率大小等等相關物聯網的應用。
風扇速度控制 (3/3)
IR Remote Control紅外線遙控
紅外線控制流程圖
紅外線控制 ( 演算法 )
約 1690 us 約 560 us
長訊號"___" 短訊號" ● "
lasttv tv
deltv
Sense^signal =1(space)
Sense^signal =0(pulse)
Sense = 1接收進入到Irq_return
Sense = 0 | 1 (Active high | Low)
do_gettimeofday()
算deltv
deltv=1000000*(tv.sec-lasttv.sec)+(tv.usec-
lasttv.usec)
Signal^sense是1?
Yes
是Space
No是Pulse
將資料寫入到frame buffer
將資料寫入到frame bufferpulse_bit 設為1
將目前的時間tv記錄到lasttv中
Deltv>15
Yes
Signal^sense=false
Yes
將sense反向
Sense=1No
Tv.sec-lasttv.sec<0|Tv.sec==lasttv.sec &&
tv.usec<lasttv.usec
Yes
Show 警告訊息
No
No
IR發射
進中斷 , 計算目前的時間Normal Operation:計算時間差
將資料寫入 FrameBuffers
Pre-Operation:長久不按後的處理
Pre-Operation:抓取時間有誤時
紅外線控制 ( 實作 )
硬體準備• 一個 IR 發射器及一個接收器 (使用 Raspberry
pi Education Kit)
Key 0 Key 1 Key 2
“ ● "
“ __ "
“ ● " “ __ "
“ __ "
Leader code
Cus
tom
cod
eD
ata
code
“ ● "
紅外線控制 ( 解碼示意圖 )
LIRC 接收程式流程圖
開始
等待訊號
訊號是否結束?
是否有相對應的資料?
初始化
儲存訊號資料KeyCurrent [ ]
比對訊號執行指令
import RPi.GPIO as GPIOi=0key0 = [446, 167, 56, 9, 57, 8, ...]key1 = [445, 165, 55, 6, 55, 6, …]key2 = [441, 170, 53, 5, 55, 5, …]key3 = [448, 166, 54, 5, 58, 5, …]
KeyCurrent = [444, 166, 55, 6, 57, 8, 56, 9, … ]
KeyCurrent [ 9 ~ 68 ]=[56, 8, 166, 5, 166, 4, 166, 7, 55, 4, 169, 4, …]
key0 [ 9 ~ 68 ]=[56, 8, 166, 5, 166, 4, 58, 7, 55, 4, 169, 4, …]
KeyCurrent [ 9 ~ 68 ]=[56, 8, 166, 5, 166, 4, 166, 7, 55, 4, 169, 4, …]
key3 [ 9 ~ 68 ]=[56, 8, 167, 8, 163, 4, 164, 7, 51, 4, 168, 4, …]
key0 : Dytycircle(100) => 轉速最強
key1 : Dytycircle(100) => 轉速中
key2 : Dytycircle(100) => 轉速最弱
key3 : 跳出 IR mode 進入 AUTO mode
未來展望 / 結論環境已達到人體可接受的溫度時或不在使用時 , 便可以將此電器關閉 , 達到節能的目的 .能將網頁與資料庫連結 .
Thank you !!
市場分析生命構成三要素
市場分析
市場分析國內市場
CIS &介面設計白底 + 釉藍 + 馬卡龍粉綠
網頁內容
網頁內容
未來展望Web 化的控制
BME 280溫度、濕度、時間
由 PHP 讀寫&存取 MySQL溫度、濕度、時間
本地端儲存空間
未來展望智能化連結(如:智慧開關、循環扇)
未來展望畜牧業
Top Related