999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于Arduino和App Inventor2的空氣溫濕度檢測系統設計

2018-02-28 11:19:18楊靜
電子技術與軟件工程 2018年21期
關鍵詞:交互設計

楊靜

摘要

運用Arduino和AppInventor2開發空氣溫濕度檢測系統,將傳統交互設計教學中的界面與硬件相聯系,能夠更好的理解交互設計與如何增強用戶體驗。該系統主要由溫濕度傳感器、Arduino UNO開發板、藍牙通信模塊、手機App等構成,具有結構簡單、成本低廉、綜合能力要求較高的特點,適合作為項目教學案例應用于交互設計專業和創客教育中。

【關鍵詞】Arduino App Inventor2 溫濕度藍牙通信 交互設計

智能家居作為物聯技術在居住環境中的綜合體現,現今己被越來越多的中國消費者所接受。環境監測作為其中的一項重要組成部分,通常會通過各種傳感器對空氣溫度、濕度、燃氣濃度、火焰探測等項目進行監測。其中空氣溫濕度的智能檢測常作為附加功能應用于空調、加濕器、除濕器等家電,需要啟動體量較大的家電才能實現檢測,成本較高;而傳統的簡易物理溫濕度測量儀不具備手機實時顯示的功能,便捷性較低。本文設計提出的基于Arduino和APP Inventor2的空氣溫濕度檢測系統,具有通過手機APP遠程控制并實時顯示空氣溫濕度訊息的功能,具備系統結構簡易、硬件連接簡單、軟件制作便捷、APP軟件界面用戶體驗順暢、成本較低的優點,十分適合作為項目教學案例應用于交互設計專業和創客教育中的編程教育中。

1 系統結構

本系統由檢測對象、溫濕度傳感器、Arduino開發板、無線通信模塊、手機川,P等部分構成。檢測對象為空氣溫濕度信息;傳感器把在空氣中獲取的溫濕度信息轉變為電信號輸出至Arduino開發板;開發板首先將接收到的空氣溫濕度信息進行數據處理,通過比特與數值的換算公式,輸出可直接讀取的溫濕度數字和符號信息,例如“32℃78%”;然后開發板通過無線通信模塊與控制手機相連接,手機APP接收并顯示開發板輸出的溫濕度信息。

2 Arduino的硬件連接與編程

本文設計中使用的電路硬件有ArduinoUNO板、DHT11溫濕度傳感器以及HC-06無線藍牙通信模塊。Arduino是一個集合開發板硬件、Arduino IDE程序開發環境、Arduino編程語言,三個部分的開源工作平臺,擁有適合編程零基礎的學生學習的編程語言和強大的控制器,因其跨平臺、開源性、易學性、靈活性、可擴展、硬件成本低等特點,活躍于國內外的交互設計教育中。Arduino UNO是Arduino硬件家族中最為適宜初學者使用的開發板,主要由處理器、電源接口、擴展插槽,三大部分組成。DHT11溫濕度傳感器是一款可輸出數字信號的溫濕度復合傳感器,穩定性較強,它的濕度精度為+-5%RH,量程為20%-90%,溫度精度為+-2℃,量程為0℃-50℃。由于本文設計中使用的APP hiventor2平臺支持的無線通信連接方式僅支持藍牙,所以選擇HC-06作為通信硬件。HC-06藍牙模塊是一個從機模式無線藍牙數據傳輸器件,具有低耗能、低成本、傳輸速率高等優點,通電后可自動進入AT模式,快速閃爍紅色小燈,有藍牙設備接入時紅燈一直亮,本設計中用于接收和傳遞來自Arduino和手機APP的指令。

DHT11溫濕度傳感器與Arduino UNO的接線方式為:VCC接Arduino的5V;GND接Arduino的GND;NC為不連接空腳;DATA接Arduino的數字I/O腳位2。

HC-06藍牙模塊與Arduino UNO的接線方式為:VCC接Arduino的5V;GND接Arduino的GND;TXD發送端接Afduino的數字I/O腳位0(RN);RXD接收端接Arduino的數字I/O腳位1(TX)。

本設計中有關于Arduino的編程使用Arduino IDE進行開發,用于程序驗證、上傳、調試和下載的操作,可在電腦端的串口監視器中讀取實時采集到的空氣溫濕度數值。程序主要由定義變量及接口名稱、設置通信波特率、定義串口指令、獲取數據、校對數據、處理數據、空氣溫濕度數據顯示等部分構成,在串口監視器中輸入“A”時開始檢測溫濕度,輸入“B”時停止檢測,每隔1秒向串口監視器發送一次溫濕度數據,程序代碼如下所示:

#include

#define pin 2

int temp;//溫度

int hurni;//濕度

int tol;//校對碼

int j;

unsigned int loopCnt;

int chr[40]={0};//創建數字數組存儲數據

unsigned long time;

char flag_on=0;

void setupo(){Serial.begin(9600);//設置波特率為9600}

void loop()

{

while(Scrial.available()>0){

char c=Serial.read();

if(c=='A'){flag_on=1;//設置開}

else if(c=='B'){flag_on=0://設置關}

}

if(flag_on)//設置溫濕度檢測{

bgn:

delay(2000);

pinMode(pin,OUTPUT);//設置2號接口為輸出模式

digitalWrite(pin,LOW);//輸出低電平

delay(20);

digitalWrite(pin,HIGH);//輸出高電平

delayMicroseconds(40);

digitalWrite(pin,LOW);

piliMode(pin,INPUT);//設置2號接口為輸入模式

//高電平響應信號

loopCnt=10000;

while(digitaiRead(pin)!=HIGH){

if(loopCnt--==0){

//若不返回高電平,輸出提示從新開始

Scrial.println("HIGH");

goto bgn;

}

}

//低電平響應信號

loopCnt-30000;

while(digitalRead(pin)!=LOW){

if(loopCnt--==0){

//若不返回低電平,輸出提示從新開始

Serial.println("LOW");

goto bgn;

}

}

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

while(digitaiRead(pin)==LOW){}

time=micros();

while(digitaiRead(pin)==HIGH){}

if(micros()-time>50){chr[i]=1;}

else{chr[i]=0;}

}

//將濕度的8位bit轉換為數值

humi=chr[0]*128+chr[1]*64+chr[2]*32+chr[3]*16+chr[4]*8+chr[5]*4+chr[6]*2+chr[7];

//將溫度的9位的bit轉換為數值

temp=chr[16]*128+chr[17]*64+chr[18]*32+chr[19]*16+chr[20]*8+chr[2]]*4+chr[22]*2+chr[23];

//將校對碼的8位的bit轉換為數值

tol=chr[32]*128+chr[33]*64+chr[34]*32+chr[35]*16+chr[36]*8+chr[37]*4+chr[38]*2+chr[39];

//輸出溫度和濕度

Serial.print(temp);

Serial.print("°C");

Serial.print(humi);

Serial.print("%");

delay(1000);

}

}

3 手機APP軟件設計

本文設計中采用APP Inventor2作為制作手機APP軟件的平臺。APP Inventor2是一個最初由谷歌公司發布,后移交給MIT進行維護的圖形可視化安卓手機應用制作平臺,廣泛應用于非計算機專業的手機應用制作中與樂高機器人創客活動中。該平臺的軟件設計工作區由組件設計和邏輯設計兩大部分組成,用戶可通過拖拽模塊進行積木式的拼接實現設計與編程,還可使用平臺附帶的AI伴侶或安卓模擬器進行實時調試,極大程度上的降低了學生的學習成本,提高了編程工作者的工作效率。據研究公司Gartner于2018年2月分享的數據表明,2017年全球銷售的智能手機中Android占據了86%的份額,本文設計中僅設計安卓應用符合手機應用市場趨勢。

手機App客戶端功能包括選擇藍牙設備、連接/斷開藍牙、開啟\關閉空氣溫度和濕度檢測、顯示溫濕度的數值4個功能模塊。在組件設計部分中,需要使用組件面板中的按鈕、列表選擇框、標簽、對話框、圖像、水平布局、垂直布局、藍牙客戶端、計時器8種組件,組件列表與實際手機App初始化界面如圖1所示,“開關關”組件屬性為不顯示,右側初始化界面中的自適應手機界面效果可通過調整組件列表中水平與垂直布局的組件屬性實現。

邏輯設計主要分為5個部分軟件初始化、藍牙設備的選擇、藍牙設備的連接、設置按鍵、數值信息接收。(圖2一圖5)為增強用戶體驗,在整個用戶操作過程中增加了多個狀態與提示的消息彈出框的設計,并設置界面中的按鈕按照操作步驟的順序啟用,啟用狀態下文字呈現黑色。按鈕填充色為深灰色,禁用狀態下文字與按鈕呈淺灰色,使界面視覺為界面操作順序進行正確的引導。

(1)軟件初始化。彈出一個消息框顯示“歡迎使用!”,界面中僅“選擇設備”列表選擇框可被點擊,其他按鍵皆不可用,溫濕度數值無顯示。

(2)藍牙設備的選擇。點擊“選擇設備”列表選擇框,選擇藍牙設備,彈出“請確認手機己和對方配對!”的消息框,“連接”按鈕啟用。在實際手機應用中操作時,首先需要完成手機藍牙與HC-06藍牙之間的配對,待配對成功后,方可利用平臺的藍牙客戶端組件進行藍牙設備的選擇。

(3)藍牙設備的連接。當“連接”按鈕被點擊時,如果藍牙為非連接狀態,消息框提示“藍牙連接成功”,“連接”按鈕文本變為“斷開連接”,啟用兩個開關按鈕,關閉按鈕不顯示;如果藍牙為連接狀態,消息框提示“藍牙己斷開”,“連接”按鈕文本變為“請連接”,禁用兩個開關按鈕和計時器。

(4)設置按鍵。點擊“開關開”,調用藍牙客戶端組件發送文本"A",啟用計時器,“開關開”隱藏,“開關關”顯示,Arduino端開始檢測空氣溫濕度;點擊“開關關”,調用藍牙客戶端組件發送文本“B”,關閉計時器,“開關關”隱藏,“開關關”顯示,Arduino端中止檢測溫濕度。

(5)數值信息接收。啟用計時器時,每100毫秒調用藍牙客戶端組件接收Arduino端發送的溫濕度數值,在“溫濕度數值”標簽處進行顯示。

4 結語

運用Arduino和APP Inventor2開發空氣溫濕度檢測系統,將傳統交互設計教學中的界面與硬件相聯系,能夠幫助學生更好的理解交互設計與如何增強用戶體驗,提升學生綜合思考問題的能力。實際教學中可依據該項目引導學生進行溫濕度條件提示、溫度或濕度的單一應用、與其它電路器件組合等方向的編程與界面的設計探究。

參考文獻

[1]王登宏,歷佳男,賀雪輝等,基于Arduino的手機同步顯示溫濕度檢測系統的設計與實現[J].工業控制計算機,2016,29(07):43-49.

[2]張展瑋,唐細永,葉展鵬,申耀武.基于Arduino控制的移動平臺設計[J].無線互聯科技,2017(02):48-49+57.

[3]劉彥,王倩,王可.Arduino單片機在產品交互原型設計課程中的實驗教學實踐[J].藝術科技,2016(12):1-3.

猜你喜歡
交互設計
交互性視覺設計
青年時代(2016年28期)2016-12-08 16:24:43
非物質文化遺產數字化研究
藝術科技(2016年9期)2016-11-18 14:59:57
RRS交互機制分析及基于該機制的節水APP實現
淺談交互設計在工業設計中的運用
莆田電子商務界面設計的藝術研究
主站蜘蛛池模板: 欧美色图第一页| 国产精品专区第1页| 55夜色66夜色国产精品视频| 日韩毛片免费视频| 亚洲综合色吧| 日本黄色不卡视频| 一本一本大道香蕉久在线播放| 久久免费成人| 亚洲福利视频一区二区| 青青草a国产免费观看| 国产综合精品日本亚洲777| 自偷自拍三级全三级视频| 四虎成人精品| 亚洲毛片网站| 一区二区三区在线不卡免费| 精品国产一区二区三区在线观看 | 亚洲天堂视频在线播放| 无码福利视频| 在线观看免费人成视频色快速| 国产午夜精品一区二区三区软件| 久久综合九色综合97婷婷| 亚洲精品波多野结衣| 欧美性爱精品一区二区三区| 欧洲极品无码一区二区三区| 丰满的少妇人妻无码区| 中文一级毛片| 亚洲全网成人资源在线观看| 国产激情第一页| 久久特级毛片| 亚洲精选高清无码| 久久精品午夜视频| 日韩成人午夜| 亚洲中文字幕在线精品一区| 国产精品成人一区二区| 99热这里都是国产精品| 国产00高中生在线播放| 中文字幕亚洲精品2页| 色婷婷视频在线| 久久一日本道色综合久久| 成人午夜免费视频| 国产精品无码AV片在线观看播放| 精品人妻系列无码专区久久| 日本人妻丰满熟妇区| 黄色福利在线| 久久中文字幕不卡一二区| 日韩欧美中文字幕在线韩免费 | 国产主播喷水| 99免费视频观看| 国产成人无码久久久久毛片| 91热爆在线| 亚洲日韩AV无码精品| 久久96热在精品国产高清| 日韩天堂在线观看| 午夜a视频| 亚洲精品午夜无码电影网| 亚洲一本大道在线| 日韩人妻精品一区| 精品无码人妻一区二区| 久久婷婷综合色一区二区| 成·人免费午夜无码视频在线观看| 国产一级毛片yw| 亚洲国产中文精品va在线播放 | lhav亚洲精品| 又粗又大又爽又紧免费视频| 蜜桃臀无码内射一区二区三区| 91久久精品日日躁夜夜躁欧美| 日韩精品一区二区三区大桥未久| 欧美日韩国产成人高清视频| 日韩福利视频导航| 国产天天射| 亚洲另类国产欧美一区二区| 久久综合久久鬼| 就去色综合| 欧美午夜在线观看| 国产va在线观看免费| 就去色综合| 国产精品va| 2021亚洲精品不卡a| 欧美爱爱网| 狠狠亚洲婷婷综合色香| 亚洲香蕉伊综合在人在线| 无码高清专区|