DS18B20 温度传感器类
tijos.framework.sensor.ds18b20中包含DS18B20数字温度传感器类,可支持测量范围-55~+125℃、精度为±0.5℃的环境实时温度监测。
包含类如下:
| 类名称 | 说明 | 
|---|---|
| TiDS18B20 | DS18B20数字温度传感器类 | 
TiDS18B20
TiJOS提供使用DS18B20数字温度传感器的类。
TiJOS DS18B20包括如下类:
| 类名 | 说明 | 
|---|---|
| TiDS18B20 | DS18B20数字温度传感器类 | 
| TiDS18B20ROM | DS18B20数字温度传感器ROM信息解析类 | 
TiDS18B20的创建、绑定与使用
TiDS18B20实例在创建时需要和具体总线设备绑定,具体绑定类型与其工作方式以及通讯协议有关,本实例绑定的设备总线类为 tijos.framework.devicecenter.TiOWMaster;设备总线的使用请参考:tijos.framework.devicecenter。
构造器如下:
| 构造器 | 说明 | 
|---|---|
| TiDS18B20(TiOWMaster ow, int ioID) | 创建实例 | 
| TiDS18B20ROM(long rom) | 创建实例 | 
主要方法如下:
| 方法 | 说明 | 
|---|---|
| void selectSingle() | 设置为单个传感器模式(仅在一根总线上只有一个传感器时调用) | 
| TiDS18B20ROM[] enumeration() | 枚举总线上的传感器(仅在一根总线上挂有多个传感器时调用) | 
| void select(TiDS18B20ROM rom) | 选择指定ROM信息的传感器(仅在一根总线上挂有多个传感器时调用) | 
| int getFamilyCode() | 获取当前传感器子系列码(通过ROM对象获取) | 
| byte[] getSerialNumber() | 获取当前传感器的唯一ID(通过ROM对象获取) | 
| int setResolution(int bits) | 设置当前传感器的分辨率(默认为12位) | 
| int getResolution() | 获取当前传感器当前的分辨率 | 
| void measure() | 测量当前环境温度 | 
| double getTemperature() | 获取当前温度数据(单位:摄氏度) | 
当一根总线上只挂有一个DS18B20传感器时,使用方法如下:
// 创建TiDS18B20对象ds18b20并将owIo0和owIoID0与其绑定
TiDS18B20 ds18b20 = new TiDS18B20(owIo0, owIoID0);
//选择只有单传感器
ds18b20.selectSingle();
//调用measure方法测量温度
ds18b20.measure();
//获取最近一次测量的结果
double temperature = ds18b20.getTemperature();
当一根总线上挂有多个DS18B20传感器时,使用方法如下:
// 创建TiDS18B20对象ds18b20并将owIo0和owIoID0与其绑定
TiDS18B20 ds18b20 = new TiDS18B20(owIo0, owIoID0);
//枚举单根总线上的所有传感器并返回传感器的ROM信息
TiDS18B20ROM[] romlist = ds18b20.enumeration();
//选择指定ROM信息的传感器,当前选择第一个
ds18b20.select(romlist[0]); 
//使用指定ROM信息的传感器,调用measure方法测量温度
ds18b20.measure();
//使用指定ROM信息的传感器,获取最近一次测量的结果
double temperature = ds18b20.getTemperature();
TiDS18B2类中他方法的使用请参考TiDS18B20数字温度传感器功能例程。