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数字温度传感器功能例程。