體溫計是我們生活中非常常見的健康用品,比較多見的主要有水銀體溫計、電子體溫計、紅外線體溫計。
如果在緊急情況下需要,但手頭上沒有現成的體溫計怎么辦呢?
作為一名愛鼓搗的創客,這都不是事兒!不就是一個溫度傳感器+一個控制器+一個顯示模塊解決的事兒嘛。
今天小蝸牛就給大家展示一個更加極致的、更具創客范的體溫計。
蝸牛控制器:完全兼容Arduino,支持手機編程
DS18B20:高精度單總線數字溫度傳感器
DS18B20是由Maxim Integrated(以前的Dallas Semicondu ctor)生產的數字溫度傳感器。它是市場上最受歡迎的溫度傳感器之一,在較大的溫度范圍(-55°C至+125 C)內提供相當高的精度(+0.5C),對于我們日常生活中的濕度測量包括體溫測量是綽綽有余了。由于傳感器的工作電壓為3.0至5.5V,因此可以與Arduino直接連接。
紅線為電源線(3.0V~5.5V),黑線為地線(GND),黃線為數據線。
DS18B20傳感器的電源線接到蝸牛控制器的5V引腳,黑線連接到“接地”引腳,黃線連接至D2引腳。同時,數據線要串聯一個5000歐姆左右的電阻上拉到5V。
借用蝸牛控制器自帶的藍牙串口組件,直接將采集的溫度值發送到手機上,不再需要額外的顯示模塊。
在“串口”積木組中選擇“打開串口”積木,將其拖放到右側的“初始化區”,拼接如下。
DS18B20利用單總線協議控制,時序嚴格而且復雜。但好在Arduino的開發者們為它開發了一整套的開發函數,創客們只需調用幾條函數語句即可。而蝸牛控制器對DS18B20的使用更勝一籌,因為全程只需要一個積木。
DS18B20編程積木
DS18B20積木位于“傳感器”積木組中。將其拖放至程序區后,只需指定它的連接引腳(DATA管腳連在蝸?刂破鞯腎O端口編號)即可,這里選擇2,即對應D2引腳。
蝸牛端將DS18B20采集到的溫度值通過藍牙串口發送到手機端,手機端通過接收后在“交互”窗口進行顯示。
串口發送溫濕度值用到了“串口打印”和“串口打印(換行)”兩種串口發送積木。
最后,因為單片機執行速度很快,執行上述語句大概只需要幾十微秒,為防止串口堵塞,必須加一個延遲等待,而且溫度也不需要特別快的顯示頻率。延時等待積木位于左側的“控制”積木組。這里每1秒顯示一次測量結果。
完整的程序模塊
供電后,其上的藍色指示燈會處于閃爍狀態,表明蝸牛控制器正常工作了。
使用蝸牛手機APP時,需要打開手機的藍牙和GPS定位功能,同時保證藍牙未被其它設備連接。
點擊左上角的“連接”按鈕,按鈕由灰底“連接”切換為黃底“斷開”,表明連接成功。
點擊“下載”按鈕開始程序編繹和下載,就可以看到“下載”按鈕切換為百分號數字進度條了。
程序無線下載中...
程序下載完成后,連接后傳感器,將DS18B20的金屬頭清潔后,夾在腋窩。
體溫測量中...
點擊APP最上面的“交互”按鈕,打開手機與蝸牛控制器的交互窗口?梢钥吹剑扛1秒鐘左右,蝸牛控制器上傳一次溫度值到手機上。大概3分鐘后就可以看到體溫趨于穩定了。
使用中,DS18B20與真實濕度值還是有一定偏差的,這時我們就需要對它進行大致的校準,做到心里有數。
最簡單的校準方法就是選定一個基準溫度(最常用的是人的體溫),也就是在盡量短的時間內,分別用數字濕度計和我們本例的濕度計分別測量一個體溫,計算兩者的偏差,作為后續使用的修改系數。
由于DS18B20的測量濕度范圍較寬,該體溫計不僅可以用于體溫檢測,還可以用于生活中的水溫測量等等,還是比較廣泛的。
Highnose 發表于 2021-10-27 22:15
編程的軟件叫啥?
歡迎光臨 (http://m.zg4o1577.cn/bbs/) | Powered by Discuz! X3.1 |