(传感器系列教程)007 温度传感器模块

robotmaker
一 技术参数
1、该模块使用的是单总线数字温度传感器 DS18B20,外界供电电压范围为 3.0 V 至 5.5 V,无需备用电源。 测量温度范围为-55 ° C 至+125 ℃ , 华氏相当于是67 ° F 到 257° F, -10 °C 至+85 ° C 范围内精度为±0.5 ° C 。
2、 温度传感器可编程的分辨率为 9~12 位 温度转换为 12 位数字格式最大值为 750 毫秒 用户可定义的非易失性温度报警设置。
3、每一个 DS18B20 的包含一个独特的序号,多个 ds18b20s 可以同时存在于一条总线。温度传感器可同时放置在多个不同的地方检测温度。
二、注意事项
1、由于 DS18B20 和普通的三极管长相相似,我们再使用时千万要注意不要把它当成了普通三极管使用,以免造成损害;
2、为了防止损坏 DS18B20 而使得它工作不正常,我们应保证其电源线和地线不要接反。
3、相关技术资料中并未提及单总线上所能挂 DS18B20 的数量多少,但在实际的应用中并不是任意多个的,我们要注意。
4、连接 DS18B20 的总线是有长度限制的,在长距离的通信中应当考虑总线分布电容和阻抗的影响。
三、使用说明
找出 DS18B20 Temperature Sensor Module 的电源线, 地线和数据线,电源线,地线分别连到 Arduino 实验板的+5V,GND 端口,数据总线连至数字端口。
四、模块功能测试
1、硬件设备
Arduino 控制器 × 1
DS18B20 Temperature Sensor Module × 1
USB 数据线 × 1
连接电路非常的简单,只要连接好模块的电源,地线,再将模块的数据总线与 Arduino 的数字端 12 引脚相连便可,连上 USB 数据整个测试电路就完成了,
DS18B20 的测试结果我们将采用串口方式显示在计算机屏幕上。
我们将测试代码编译后下载到实验板上,打开串口便可知道我们是
处在什么样的温度中了
#include
#include
// Data wire is plugged into port 2 on the Arduino
#define ONE_WIRE_BUS 2


// Setup a oneWire instance to communicate with any OneWire devices (not just Maxim/Dallas temperature ICs)
OneWire oneWire(ONE_WIRE_BUS);
// Pass our oneWire reference to Dallas Temperature. 
DallasTemperature sensors(&oneWire);
void setup(void)
{
  // start serial port
  Serial.begin(9600);
  Serial.println("Dallas Temperature IC Control Library Demo");
  // Start up the library
  sensors.begin();
}
void loop(void)

  Serial.print("Requesting temperatures...");
   sensors.requestTemperatures(); 
  Serial.println("DONE");
  
  Serial.print("Temperature for the device 1 (index 0) is: ");
  Serial.println(sensors.getTempCByIndex(0)); 


在编写完程序,下载到 arduino 里面以后,运行得到的效果如下:在做实验的时候这里的气温是 27 摄氏度左右,用手摸 DS18B20 以后,可以看到串口通信模块的温度有明显变化。