本帖最后由 dxabdepl 于 2021-10-27 23:25 編輯
體溫計是我們生活中非常常見的健康用品,比較多見的主要有水銀體溫計、電子體溫計、紅外線體溫計。 如果在緊急情況下需要,但手頭上沒有現(xiàn)成的體溫計怎么辦呢? 作為一名愛鼓搗的創(chuàng)客,這都不是事兒!不就是一個溫度傳感器+一個控制器+一個顯示模塊解決的事兒嘛。 今天小蝸牛就給大家展示一個更加極致的、更具創(chuàng)客范的體溫計。 一、所需器件
蝸牛控制器:完全兼容Arduino,支持手機編程
DS18B20:高精度單總線數(shù)字溫度傳感器
DS18B20是由Maxim Integrated(以前的Dallas Semicondu ctor)生產(chǎn)的數(shù)字溫度傳感器。它是市場上最受歡迎的溫度傳感器之一,在較大的溫度范圍(-55°C至+125 C)內(nèi)提供相當(dāng)高的精度(+0.5C),對于我們?nèi)粘I钪械臐穸葴y量包括體溫測量是綽綽有余了。由于傳感器的工作電壓為3.0至5.5V,因此可以與Arduino直接連接。 紅線為電源線(3.0V~5.5V),黑線為地線(GND),黃線為數(shù)據(jù)線。 二、連接電路 DS18B20傳感器的電源線接到蝸牛控制器的5V引腳,黑線連接到“接地”引腳,黃線連接至D2引腳。同時,數(shù)據(jù)線要串聯(lián)一個5000歐姆左右的電阻上拉到5V。
三、編程實現(xiàn) 借用蝸牛控制器自帶的藍牙串口組件,直接將采集的溫度值發(fā)送到手機上,不再需要額外的顯示模塊。 1.打開串口 在“串口”積木組中選擇“打開串口”積木,將其拖放到右側(cè)的“初始化區(qū)”,拼接如下。
注意:蝸牛控制器的波特率必須設(shè)置為115200 2.DS18B20獲取濕度值 DS18B20利用單總線協(xié)議控制,時序嚴格而且復(fù)雜。但好在Arduino的開發(fā)者們?yōu)樗_發(fā)了一整套的開發(fā)函數(shù),創(chuàng)客們只需調(diào)用幾條函數(shù)語句即可。而蝸牛控制器對DS18B20的使用更勝一籌,因為全程只需要一個積木。
DS18B20編程積木
DS18B20積木位于“傳感器”積木組中。將其拖放至程序區(qū)后,只需指定它的連接引腳(DATA管腳連在蝸牛控制器的IO端口編號)即可,這里選擇2,即對應(yīng)D2引腳。 3.溫度測量顯示 蝸牛端將DS18B20采集到的溫度值通過藍牙串口發(fā)送到手機端,手機端通過接收后在“交互”窗口進行顯示。 串口發(fā)送溫濕度值用到了“串口打印”和“串口打印(換行)”兩種串口發(fā)送積木。
- 前者輸出后不換行,保證下一次輸出內(nèi)容在同一行;
- 后者輸出后換行,下一次輸出內(nèi)容顯示在下一行。
最后,因為單片機執(zhí)行速度很快,執(zhí)行上述語句大概只需要幾十微秒,為防止串口堵塞,必須加一個延遲等待,而且溫度也不需要特別快的顯示頻率。延時等待積木位于左側(cè)的“控制”積木組。這里每1秒顯示一次測量結(jié)果。 這些積木組合后拼接成如下的樣式。
完整的程序模塊
四、程序下載 1.蝸牛控制器供電 供電后,其上的藍色指示燈會處于閃爍狀態(tài),表明蝸牛控制器正常工作了。 2.手機環(huán)境配置 使用蝸牛手機APP時,需要打開手機的藍牙和GPS定位功能,同時保證藍牙未被其它設(shè)備連接。 3.連接蝸牛控制器 點擊左上角的“連接”按鈕,按鈕由灰底“連接”切換為黃底“斷開”,表明連接成功。 點擊“下載”按鈕開始程序編繹和下載,就可以看到“下載”按鈕切換為百分號數(shù)字進度條了。
程序無線下載中...
五、溫度測量 程序下載完成后,連接后傳感器,將DS18B20的金屬頭清潔后,夾在腋窩。
體溫測量中...
點擊APP最上面的“交互”按鈕,打開手機與蝸牛控制器的交互窗口。可以看到,每隔1秒鐘左右,蝸牛控制器上傳一次溫度值到手機上。大概3分鐘后就可以看到體溫趨于穩(wěn)定了。 六、后記 1.測量校準 使用中,DS18B20與真實濕度值還是有一定偏差的,這時我們就需要對它進行大致的校準,做到心里有數(shù)。 最簡單的校準方法就是選定一個基準溫度(最常用的是人的體溫),也就是在盡量短的時間內(nèi),分別用數(shù)字濕度計和我們本例的濕度計分別測量一個體溫,計算兩者的偏差,作為后續(xù)使用的修改系數(shù)。 2.應(yīng)用范圍 由于DS18B20的測量濕度范圍較寬,該體溫計不僅可以用于體溫檢測,還可以用于生活中的水溫測量等等,還是比較廣泛的。
|