Arduino基础入门篇30—数字温度传感器DS18B20
生活随笔
收集整理的這篇文章主要介紹了
Arduino基础入门篇30—数字温度传感器DS18B20
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
溫度傳感器的種類繁多,按照測量方式分為接觸式和非接觸式,按照傳感器材料分為熱電阻和熱電偶兩類,按照工作原理分為模擬式和數字式。上一篇介紹了模擬溫度傳感器LM35,本篇介紹數字溫度傳感器DS18B20的使用。
1. DS18B20介紹
DS18B20是常用的數字溫度傳感器,使用集成芯片,采用單總線技術,能夠有效的減小外界的干擾,提高測量的精度。其輸出的是數字信號,接線非常方便,封裝成不同方式可以應用于不同場合,如管道式,螺紋式,磁鐵吸附式,不銹鋼封裝式。
主要特點:
- 采用單總線的接口方式。只需要一條數據線就能雙向通訊。
- 測量范圍寬,精度高。其測量范圍為-55℃ — +125℃ ,在-10—+85℃ 范圍內,精度為±0.5℃ 。
- 多點組網功能。多個DS18B20可以并聯在惟一的三線上,實現多點測溫。
- 供電方式靈活。可通過內部寄生電路從數據線上獲取電源。
- 測量參數可配置。DS18B20的測量分辨率可通過程序設定9—12位。
- 掉電保護功能。內部含有EEPROM,在系統掉電以后,仍可保存分辨率及報警溫度的設定值。
2. 實驗材料
- Uno R3開發板
- 配套USB數據線
- 面包板及配套連接線
- DS18B20
- 10K直插電阻
3. 安裝庫
本實驗用到兩個庫,分別為「OneWire」和「DallasTemperature」,前者是單總線庫,后者是在前者基礎上針對Dallas溫度傳感器封裝的庫。
- 在IDE中點擊「項目」—「加載庫」—「管理庫」,查找「OneWire」,選擇最新版本進行安裝。目前最新版本為2.3.4。
- 查找「DallasTemperature」,選擇最新版本進行安裝。目前最新版本為3.8.0。
4. 實驗步驟
1. 根據原理圖搭建電路圖。
線路連接非常簡單,DS18B20的VCC、DQ、GND分別連接到開發板的5V、2、GND。10K電阻一段連接VCC,另一端連接DQ,上拉電阻用于提高I/O口的驅動能力。
實驗原理圖如下圖所示:
實物連接圖如下圖所示:
2. 新建sketch,拷貝如下代碼替換自動生成的代碼并進行保存。
#include <OneWire.h> #include <DallasTemperature.h>// 數據輸出腳接開發板數字引腳2 #define ONE_WIRE_BUS 2OneWire oneWire(ONE_WIRE_BUS); DallasTemperature sensors(&oneWire);void setup(void) {Serial.begin(9600);sensors.begin(); }void loop(void) { sensors.requestTemperatures(); // 發送命令獲取溫度Serial.print("Temperature for the device 1 (index 0) is: ");Serial.println(sensors.getTempCByIndex(0)); delay(500); }3. 連接開發板,設置好對應端口號和開發板類型,進行程序下載。
5. 實驗現象
打開串口監視器,波特率設置為9600,串口會循環打印讀取的溫度值。
更多內容,歡迎關注我的公眾號。 微信掃一掃下方二維碼即可關注:
總結
以上是生活随笔為你收集整理的Arduino基础入门篇30—数字温度传感器DS18B20的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 《自然语言处理:基于预训练模型的方法》读
- 下一篇: 温度传感器的c语言程序,DS18B20数