MQ系列气体传感器
tijos.framework.sensor.mq中包含了MQ通过系列气体检测关的传感器类MQ气体检测传感器测量周围环境中的可燃气体浓度(包括甲烷、丙烷、丁烷、氢气、酒精和液化气体),并通过相应的模拟电压值输出和数字信号输出实现浓度监测和报警。
包含类如下:
类名称
说明
TiMQ
MQn(n=气体检测传感器类
TiMQ
TiJOS提供使用MQ气体检测传感器的类别。
TiJOS MQ 包括以下类:
类名
说明
TiMQ
MQ气体检测传感器
TiMQEventListener
MQ气体检测报警事件接口
TiMQ创建、绑定和使用
TiMQ创建实例时,需要与具体的总线设备绑定。具体绑定类型与其工作模式和通信协议有关。本实例绑定的设备总线为 tijos.framework.devicecenter.TiGPIO和tijos.framework.devicecenter.TiADC;使用设备总线请参考:tijos.framework.devicecenter。
结构如下:
构造器
说明
TiMQ(TiGPIO gpio,int signalPinID)
创建实例
TiMQ(TiGPIO gpio,int signalPinID,TiADC adc)
创建当前传感器输出模拟电压值的例子
TiMQEventListener()
气体检测报警事件监测创建实例
TiMQ使用类中主要方法:
主要方法如下:
方法
说明
boolean isGreaterThanThreshold()
当前测量值是否大于门限值
double getAnalogOutput()
获取当前传感器AO模拟电压值(单位:V)
int getDigitalOutput()
获取当前传感器DO口输出的数字电平(1:高电平,0:低电平)
long getEventTime()
单位:us
int getSignalPinID()
获取报警信号pin ID
TiMQ事件监听
TiMQ事件监控主要通过TiMQEventListener事件类型包括:
方法
说明
void setEventListener(TiMQEventListener lc)
设置监听
void onThresholdNotify(TiMQ mq)
门限检测通知
创建TiMQ事件监听对象:
/*
* 资源利用,
* 创建事件监控对象,设置事件监控
* 在事件监控中处理报警事件的逻辑
*/
MQEventListener lc = new MQEventListener();
mq.setEventListener(lc);
事件处理:
class MQEventListener implements TiMQEventListener
/*通知事件处理*/
public void onThresholdNotify(TiMQ mq)
/*检测值是否大于门限值*/
boolean alarm = mq.isGreaterThanThreshold
/*读取AO模拟电压值*/
double vol = mq.getAnalogOutput();
/*读取DO数字电平值*/
int level = mq.getDigitalOutput();
...
}
}
①注:由于MQn类型的传感器本身属于化学成分检测的传感器。各种气体的浓度只能用电压值表示。另一方面,在使用化学气体浓度检测传感器之前,需要在可信实验室中使用固定浓度气体进行比较校准,以获得传感器等效的浓度转换曲线和转换公式。基于上述原因,在我们的示例场景中没有xx气体浓度与电压值的转换关系仅在传感器输出的电压下达到较高值(例如5)V)报警提示模拟环境中可燃气体浓度高、需要报警提示的场景。
TiMQ使用类中的其他方法请参考《TiMQ2可燃气体浓度监测例程。