- Found at :
- www.aliexpress.com
MQ4
High sensitve multiple gas sensor especially for CH4,Natural gas
If you are using just MQ4(not module), Then prepare load resistance around 2k ohm.
This sensor need pre-heating. To get stable output, wait for heat-up, minimum 2 minutes.
This library get analog voltage from a sensor. Output voltage will increase regarding gas level. When you need actual level (ppm), you should do calibrate the sensor and prepare a formula.
wired(obniz, { vcc, gnd, do, ao});
name | type | required | default | description |
---|---|---|---|---|
vcc | number(obniz Board io) |
no | VCC or H on MQ4. | |
gnd | number(obniz Board io) |
no | GND or H on MQ4. | |
do | number(obniz Board io) |
no | digital out | |
ao | number(obniz Board io) |
no | analog out |
// Javascript Example
var mq4 = obniz.wired("MQ4", {vcc:3, gnd:2, do:1, ao:0});
await mq4.heatWait();
mq4.onchangeanalog = function(voltage) {
console.log(voltage);
}
startHeating()
It start heating.
// Javascript Example
var mq4 = obniz.wired("MQ4", {vcc:3, gnd:2, do:1, ao:0});
mq4.startHeating();
[await] heatWait(sec: number)
It start heating and wait for a while.
You can update wait time.
name | type | required | default | description |
---|---|---|---|---|
sec | number |
no | 120 | seconds for wait |
// Javascript Example
var mq4 = obniz.wired("MQ4", {vcc:3, gnd:2, do:1, ao:0});
await mq4.heatWait();
mq4.onchangeanalog = function(voltage) {
console.log(voltage);
}
onchangeanalog = function(voltage: number)
Specified function will be called every voltage change.
// Javascript Example
var mq4 = obniz.wired("MQ4", {vcc:3, gnd:2, do:1, ao:0});
await mq4.heatWait();
mq4.onchangeanalog = function(voltage) {
console.log(voltage);
}
onexceedvoltage = function(voltage: number)
Specified function will be called only when a voltage exceed voltageLimit variable.
// Javascript Example
var mq4 = obniz.wired("MQ4", {vcc:3, gnd:2, do:1, ao:0});
await mq4.heatWait();
mq4.voltageLimit = 1.0
mq4.onexceedvoltage = function(voltage) {
console.log(voltage);
}
voltageLimit = number
It define the level of onexceedvoltage call.
// Javascript Example
var mq4 = obniz.wired("MQ4", {vcc:3, gnd:2, do:1, ao:0});
await mq4.heatWait();
mq4.voltageLimit = 1.0
mq4.onexceedvoltage = function(voltage) {
console.log(voltage);
}
onchangedigital = function(voltage: number)
This function only be called when do was specified at wired function.
do output high/low regarding output. It compared in a module.
This function will be called every change of do.
// Javascript Example
var mq4 = obniz.wired("MQ4", {vcc:3, gnd:2, do:1, ao:0});
await mq4.heatWait();
mq4.onchangedigital = function(value) {
console.log(value);
}
Supported from: obniz.js 3.5.0