国产成人av人人爽人人澡-亚洲国产日韩欧美一区-好吊日视频这里只有精品-日本高清精品视频在线

你好!歡迎來到深圳市穎特新科技有限公司!
語言
當(dāng)前位置:首頁 >> MM32/靈動微電子 >> MM32W無線MCU系列產(chǎn)品應(yīng)用筆記 —— 溫濕度監(jiān)測儀方案

MM32W無線MCU系列產(chǎn)品應(yīng)用筆記 —— 溫濕度監(jiān)測儀方案

關(guān)鍵字:靈動微電子 MM32W系列MCU 溫濕度監(jiān)測儀方案 作者: 來源: 發(fā)布時間:2022-06-14  瀏覽:22
在本章節(jié)我們將繼續(xù)給大家介紹一個使用場景較為豐富的藍牙應(yīng)用方案——基于MM32W系列開發(fā)的溫濕度監(jiān)測儀。

方案應(yīng)用圖              

圖1 方案應(yīng)用圖
 
溫度、濕度與我們的生活息息相關(guān),科研實驗室、農(nóng)業(yè)大棚、食品儲存室、疫苗存儲及配送、貯藏室等對環(huán)境的溫度、濕度有著嚴格的控制標(biāo)準(zhǔn),溫度、濕度的異常變化都可能會給其造成嚴重的影響。傳統(tǒng)的人工巡查和記錄環(huán)境溫濕度變化并非易事,隨著時代的發(fā)展,可實現(xiàn)智能化監(jiān)測環(huán)境溫濕度的溫濕度傳感器出現(xiàn)了。如今,科研、農(nóng)業(yè)、暖通、機房、航天航空、電力等工業(yè)部門都開始采用智能化的溫濕度傳感器監(jiān)測環(huán)境的溫濕度。利用溫濕度傳感器對環(huán)境的溫濕度進行實時監(jiān)測,不僅能夠及時發(fā)現(xiàn)環(huán)境溫濕度的異常,進而做出應(yīng)對措施,避免或減少損失,還能夠減少員工工作量,降低人力成本。


硬件資源如下:
本方案基于MM32 BLE_Test Board進行測試驗證,搭配上溫濕度傳感器DHT11作為采集環(huán)境中溫濕度數(shù)據(jù),再加上一款小型的OLED屏幕作為本地式數(shù)據(jù)輸出顯示窗口,另外可以通過手機APP獲取溫濕度變化情況。在硬件原理上,本方案的DHT11模塊的單線數(shù)據(jù)傳輸引腳連接到MCU的PA7,為了解析模塊的數(shù)據(jù)時序,該引腳復(fù)用為TIM3_CH2輸入捕獲功能;使用硬件IIC接口連接到OLED屏上去,引腳為PB6(SCL)、PB7(SDA),可以將溫濕度數(shù)據(jù)顯示在OLED;藍牙相關(guān)的功能引腳與前面介紹的方案一致,此處不做過多展開。
 
軟件資源如下:
結(jié)合上述使用到的硬件資源,下面我們著重介紹軟件實現(xiàn)流程以及相關(guān)配置代碼。使用MCU的引腳復(fù)用為TIM3_CH2輸入捕獲功能DHT11模塊,在開啟捕獲時將PA7配置為浮空輸入模式,復(fù)用功能選擇AF1配置為TIM3的CH2輸入捕獲通道,并且將TIM3開啟;在停止捕獲時將PA7配置為推挽輸出模式,并且將TIM3關(guān)閉。由于DHT11模塊限制,溫濕度采樣周期間隔必須大于1S,本方案采樣和顯示周期為2S。
 
在使用OLED屏幕需要用到硬件IIC外設(shè)接口,需要將對應(yīng)的PB6 PB7配置為復(fù)用開漏輸出模式,初始化時還需要根據(jù)不同的OLED模塊在函數(shù)IIC_Init()中修改slave設(shè)備地址,使能IIC接口后即可以開始傳輸工作了。由于數(shù)據(jù)采集和定時顯示需要,本方案的低功耗模式采用STOP模式。
 
以下為主函數(shù)初始化配置內(nèi)容,主要將所有的外設(shè)資源和藍牙協(xié)議棧初始化,并且以中斷服務(wù)程序的方式運行藍牙,代碼如下:
 
代碼

主函數(shù)的循環(huán)中主要實現(xiàn)的功能為定時采集和顯示當(dāng)前環(huán)境的溫濕度數(shù)據(jù),而該數(shù)據(jù)也將在藍牙服務(wù)中發(fā)送到APP端顯示,代碼如下:

代碼


下面簡單介紹一下OLED操作相關(guān)的幾個函數(shù):


//初始化IIC


void IIC_Init(I2C_TypeDef* I2Cx);


//發(fā)送命令函數(shù)


static void Write_Command(unsigned char Command);


//發(fā)送數(shù)據(jù)顯示在屏幕


static void Write_DataBuff(unsigned char *Data, unsigned char Len);


//OLED屏初始化


void OLED_Init(void);


//設(shè)置坐標(biāo)


void OLED_SetPos(unsigned char x, unsigned char y);


//字符串顯示


void OLED_DispStr(unsigned char x, unsigned char y, char *ch);


//顯示logo


void OLED_DispLogo(void);


//清屏操作


void OLED_Clear(void);


下面簡單介紹一下DHT11模塊操作相關(guān)的幾個函數(shù):


// TIM3_CH2輸入捕獲初始化


void CaptureInit(void);   //用TIM3_CH2  PB5  AF3


//啟動捕獲


void CaptureStart(void);


//停止捕獲


void CaptureStop(void);


在TIM3_IRQHandler()中針對捕獲的數(shù)據(jù)進行解析和處理。
 
我們在gatt_user_send_notify_data_callback函數(shù)中給手機發(fā)送數(shù)據(jù),該函數(shù)屬于回調(diào)函數(shù),協(xié)議棧會在系統(tǒng)允許的時候(異步)回調(diào)本函數(shù),該函數(shù)可用于藍牙模塊端主動發(fā)送數(shù)據(jù)之用,函數(shù)內(nèi)部不得增加阻塞代碼。該應(yīng)用中我們在此函數(shù)中實現(xiàn)將采集轉(zhuǎn)換好的溫濕度數(shù)據(jù)傳輸給手機APP。詳細實現(xiàn)代碼如下:
 
//藍牙連接成功后協(xié)議在空閑的時候會調(diào)用本回調(diào)函數(shù)


void gatt_user_send_notify_data_callback(void){ 


static u8 notiCnt = 0;//回調(diào)次數(shù)計數(shù)器


u16 humiBat ,tempBpm = 0;


unsigned char DHTData[3]={0x00,0x00,0x01};


notiCnt++; //每進一次該函數(shù)回調(diào)次數(shù)計數(shù)器+1


if(CaptureDataMon(&humiBat, &tempBpm) == 0) return;//未成功采集到溫濕度數(shù)據(jù)立即返回


tempBpm %= 512;//初步判斷溫度數(shù)據(jù)大小


humiBat /= 10;//初步判斷濕度數(shù)據(jù)大小


if (notiCnt >= 20) {//每進入該回調(diào)函數(shù)20次才發(fā)送一次溫度數(shù)據(jù)


notiCnt = 0;       


cur_notifyhandle = 0x12;//溫度數(shù)據(jù)回復(fù)句柄值


if (tempBpm < 0x100){


DHTData[0] = 0; //1Byte


DHTData[1] = tempBpm;


sconn_notifydata(DHTData,2);//換算處理好溫度數(shù)據(jù)后通過藍牙發(fā)出


}


else {


DHTData[0] = 1; //2Byte


DHTData[1] = tempBpm;


DHTData[2] = tempBpm>>8;


sconn_notifydata(DHTData,3);//換算處理好溫度數(shù)據(jù)后通過藍牙發(fā)出


}


}


else if (10 == notiCnt) {//每進入該回調(diào)函數(shù)10次才發(fā)送一次濕度數(shù)據(jù)


SimBatt = humiBat; //0~100


cur_notifyhandle = 0x18;//濕度數(shù)據(jù)回復(fù)句柄值


sconn_notifydata(&SimBatt,1);//換算處理好濕度數(shù)據(jù)后通過藍牙發(fā)出


}


}




除了上述關(guān)鍵的藍牙數(shù)據(jù)發(fā)送函數(shù)外,下面再簡單介紹一些與藍牙相關(guān)的特征值定義:
 
代碼


手機操作流程如下:


打開手機藍牙并打開App,選擇HRM進入,點擊Connect按鈕開始搜索溫濕度藍牙設(shè)備。


選擇對應(yīng)名稱(MM32W0_DHT)的藍牙設(shè)備并進行配對,等待連接成功。連接成功后會有相應(yīng)提示,按鈕Connect名字會變成Disconnect。


連接成功后,在App界面上電池圖標(biāo)會顯示從DHT11傳感器獲取的濕度信息(百分比)Finger和圖表會顯示從DHT11傳感器獲取的溫度信息(原始數(shù)據(jù),溫度值x10)。


代碼


圖2 手機APP圖

編輯:ls  最后修改時間:2022-06-14

聯(lián)系方式

0755-82591179

傳真:0755-82591176

郵箱:vicky@yingtexin.net

地址:深圳市龍華區(qū)民治街道民治大道973萬眾潤豐創(chuàng)業(yè)園A棟2樓A08

Copyright © 2014-2023 穎特新科技有限公司 All Rights Reserved.  粵ICP備14043402號-4

国产精品亚洲精品亚洲| 日本深夜福利在线播放| 欧美一区日韩二区亚洲三区| 日韩无套内射免费精品| 91日韩在线视频观看| 欧美成人免费一级特黄| 久久精品伊人一区二区| 日本精品理论在线观看| 高清在线精品一区二区| 亚洲精品国产精品日韩| 午夜精品国产一区在线观看| 亚洲一区二区三区中文久久| 成年人视频日本大香蕉久久| 国产超薄黑色肉色丝袜| 很黄很污在线免费观看| 欧洲偷拍视频中文字幕| 中文字幕亚洲精品人妻| 婷婷开心五月亚洲综合| 久久国产人妻一区二区免费| 中文字幕91在线观看| 亚洲欧美日韩国产综合在线| 夫妻激情视频一区二区三区| 欧美在线视频一区观看| 国产在线一区二区三区不卡| 亚洲一区二区三区一区| 国产精品成人一区二区三区夜夜夜| 欧美日韩久久精品一区二区| 东京干男人都知道的天堂| 国产中文字幕久久黄色片| 欧美偷拍一区二区三区四区 | 麻豆在线观看一区二区| 久久热麻豆国产精品视频| 日韩一区二区三区四区乱码视频| 成人午夜激情免费在线| 伊人久久五月天综合网| 夫妻激情视频一区二区三区| 成在线人免费视频一区二区| 国产不卡免费高清视频| 成人国产一区二区三区精品麻豆| 初尝人妻少妇中文字幕在线| 精品国产丝袜一区二区|