编辑: 山南水北 | 2016-07-07 |
一、产品引言 相信要是我们接触过 Arduino 那么对 DS18B20 这款神奇的数字测温芯片一般都不会 陌生吧,对!它能让你随时了解你周边的环境温度,更重要的是如果你有想法还可以自 己用 Arduino 动手做一个测温计,放在你的卧室或是车厢里,那样经济而且还倍儿有面子, ^-^ 好,下面就让我们一起来揭开 DS18B20 的神秘面纱,到那时你就能使用它做出各 种符合你个性的电子产品哦,是不是有点心动.
.....
二、产品介绍 由于以往的温度传感器输出的是模拟量,我们还要增加额外的 A/D 和D/A 芯片进 行转换,那么对于 Arduino 外部接口资源并不丰富是一大挑战同时利用率不高,那么我们 新推出的 DS18B20 Temperature Sensor Module 就很好的解决了这个问题,一线总线独特 而且经济的特点,完全适用 Arduino 平台,使用户可轻松地组建传感器网络.
三、技术参数
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 端口,数据总线连至数字端口.
六、模块功能测试 http://keyes-arduino.taobao.com http://keyes-arduino.taobao.com 如图,连接电路非常的简单,只要连接好模块的电源,地线,再将模块的数据总线 与Arduino 的数字端
10 引脚相连便可,连上 USB 数据通信线这样整个测试电路就完成了, http://keyes-arduino.taobao.com http://keyes-arduino.taobao.com USB 数据线 *
1
1、硬件设备 Arduino 控制器 *
1 DS18B20 温度模块 *
1 DS18B20 的测试结果我们将采用串口方式显示在计算机屏幕上. 我们将测试代码编译后下载到实验板上,打开串口便可知道我们是处在什么样的温 度中了,好吧,话不多说,先来看下我们的测试代码吧 ^-^ #include // DS18S20 Temperature chip i/o OneWire ds(10);
// on pin
10 void setup(void) { // initialize inputs/outputs // start serial port Serial.begin(9600);
} void loop(void) { byte i;
byte present = 0;
byte data[12];
byte addr[8];
if ( !ds.search(addr)) { Serial.print("No more addresses.\n");
ds.reset_search();
return;
} Serial.print("R=");
for( i = 0;
i < 8;
i++) { Serial.print(addr[i], HEX);
Serial.print(" ");
} if ( OneWire::crc8( addr, 7) != addr[7]) { Serial.print("CRC is not valid!\n");