MQ-X Arduino Library 1.0.0
This is a library for the MQ-X Sensors.
Loading...
Searching...
No Matches
MQUnifiedsensor.h
Go to the documentation of this file.
1#ifndef MQUnifiedsensor_H
2#define MQUnifiedsensor_H
3
4#include "Wire.h"
5#include <Arduino.h>
6#include <stdint.h>
7
8/***********************Software Related Macros************************************/
9
10#define ADC_RESOLUTION 10 // for 10bit analog to digital converter.
11#define retries 2
12#define retry_interval 20
13
15{
16 public:
17 MQUnifiedsensor(int pin = 1, String Placa = "Arduino", float Voltage_Resolution = 5, int ADC_Bit_Resolution = 10,
18 String type = "CUSTOM MQ");
19
20 // Functions to set values
21 void init(int addr);
22 void update();
23 void setR0(float R0 = 10);
24 void setRL(float RL = 10);
25 void setA(float a);
26 void setB(float b);
27 void setRegressionMethod(int regressionMethod);
28 void setVoltResolution(float voltage_resolution = 5);
29 void serialDebug(bool onSetup = false); // Show on serial port information about sensor
30 void setADC(int value); // For external ADC Usage
31
32 // user functions
33 float calibrate(float ratioInCleanAir);
34 float readSensor();
35 float validateEcuation(float ratioInput = 0);
36
37 // get function for info
38 float getA();
39 float getB();
40 float getR0();
41 float getRL();
42 float getVoltResolution();
43 String getRegressionMethod();
44 float getVoltage(int read = true);
45
46 float stringTofloat(String &str);
47
48 bool native = 1;
49 byte addr = 0;
50
51 private:
52 /************************Private vars************************************/
53 byte _pin;
54 byte _firstFlag = false;
55 float _VOLT_RESOLUTION = 5.0; // if 3.3v use 3.3
56 float _RL = 10; // Value in KiloOhms
58 byte _regressionMethod = 1; // 1 -> Exponential || 2 -> Linear
59
62
63 char _type[6];
64 char _placa[20];
65};
66
67#endif // MQUnifiedsensor_H
Definition MQUnifiedsensor.h:15
float getVoltage(int read=true)
Definition MQUnifiedsensor.cpp:243
float _b
Definition MQUnifiedsensor.h:60
float validateEcuation(float ratioInput=0)
Definition MQUnifiedsensor.cpp:176
MQUnifiedsensor(int pin=1, String Placa="Arduino", float Voltage_Resolution=5, int ADC_Bit_Resolution=10, String type="CUSTOM MQ")
Definition MQUnifiedsensor.cpp:3
float getR0()
Definition MQUnifiedsensor.cpp:49
float getVoltResolution()
Definition MQUnifiedsensor.cpp:57
float readSensor()
Definition MQUnifiedsensor.cpp:195
char _type[6]
Definition MQUnifiedsensor.h:63
void setADC(int value)
Definition MQUnifiedsensor.cpp:35
float _adc
Definition MQUnifiedsensor.h:60
void setRegressionMethod(int regressionMethod)
Definition MQUnifiedsensor.cpp:44
char _placa[20]
Definition MQUnifiedsensor.h:64
float _sensor_volt
Definition MQUnifiedsensor.h:60
byte _regressionMethod
Definition MQUnifiedsensor.h:58
void update()
Definition MQUnifiedsensor.cpp:160
float _VOLT_RESOLUTION
Definition MQUnifiedsensor.h:55
bool native
Definition MQUnifiedsensor.h:48
float _PPM
Definition MQUnifiedsensor.h:61
String getRegressionMethod()
Definition MQUnifiedsensor.cpp:61
float stringTofloat(String &str)
Definition MQUnifiedsensor.cpp:263
void setRL(float RL=10)
Definition MQUnifiedsensor.cpp:31
float getA()
Definition MQUnifiedsensor.cpp:68
float _ratio
Definition MQUnifiedsensor.h:61
void setR0(float R0=10)
Definition MQUnifiedsensor.cpp:27
float RS_air
Definition MQUnifiedsensor.h:61
float calibrate(float ratioInCleanAir)
Definition MQUnifiedsensor.cpp:219
float _RL
Definition MQUnifiedsensor.h:56
void setB(float b)
Definition MQUnifiedsensor.cpp:23
float _RS_Calc
Definition MQUnifiedsensor.h:61
float _a
Definition MQUnifiedsensor.h:60
float getRL()
Definition MQUnifiedsensor.cpp:53
float _R0
Definition MQUnifiedsensor.h:61
void serialDebug(bool onSetup=false)
Definition MQUnifiedsensor.cpp:76
byte addr
Definition MQUnifiedsensor.h:49
void init(int addr)
Definition MQUnifiedsensor.cpp:13
byte _firstFlag
Definition MQUnifiedsensor.h:54
void setVoltResolution(float voltage_resolution=5)
Definition MQUnifiedsensor.cpp:40
byte _pin
Definition MQUnifiedsensor.h:53
byte _ADC_Bit_Resolution
Definition MQUnifiedsensor.h:57
float getB()
Definition MQUnifiedsensor.cpp:72
void setA(float a)
Definition MQUnifiedsensor.cpp:19