mirror of
https://github.com/miguel5612/MQSensorsLib.git
synced 2025-03-15 05:17:30 +03:00
Full optiomization 25% to 5%
This commit is contained in:
parent
1cdbb3895b
commit
c3068ecca2
@ -7,65 +7,69 @@
|
||||
//Set _MQ variable with MQ sensor selected
|
||||
if(_type == 2)
|
||||
{
|
||||
memcpy(_MQ, MQ2, sizeof(MQ2));
|
||||
memcpy(_MQ, _MQ2, sizeof(_MQ2));
|
||||
//_MQ = MQ2;
|
||||
}
|
||||
else if(_type == 3)
|
||||
{
|
||||
memcpy(_MQ, MQ3, sizeof(MQ3));
|
||||
memcpy(_MQ, _MQ3, sizeof(_MQ3));
|
||||
//_MQ = MQ3;
|
||||
}
|
||||
else if(_type == 4)
|
||||
{
|
||||
memcpy(_MQ, MQ4, sizeof(MQ4));
|
||||
memcpy(_MQ, _MQ4, sizeof(_MQ4));
|
||||
//_MQ = MQ4;
|
||||
}
|
||||
else if(_type == 5)
|
||||
{
|
||||
memcpy(_MQ, MQ5, sizeof(MQ5));
|
||||
memcpy(_MQ, _MQ5, sizeof(_MQ5));
|
||||
//_MQ = MQ5;
|
||||
}
|
||||
else if(_type == 6)
|
||||
{
|
||||
memcpy(_MQ, MQ6, sizeof(MQ6));
|
||||
memcpy(_MQ, _MQ6, sizeof(_MQ6));
|
||||
//_MQ = MQ6;
|
||||
}
|
||||
else if(_type == 7)
|
||||
{
|
||||
memcpy(_MQ, MQ7, sizeof(MQ7));
|
||||
memcpy(_MQ, _MQ7, sizeof(_MQ7));
|
||||
//_MQ = MQ7;
|
||||
}
|
||||
else if(_type == 8)
|
||||
{
|
||||
memcpy(_MQ, MQ8, sizeof(MQ8));
|
||||
memcpy(_MQ, _MQ8, sizeof(_MQ8));
|
||||
//_MQ = MQ8;
|
||||
}
|
||||
else if(_type == 9)
|
||||
{
|
||||
memcpy(_MQ, MQ9, sizeof(MQ9));
|
||||
memcpy(_MQ, _MQ9, sizeof(_MQ9));
|
||||
//_MQ = MQ9;
|
||||
}
|
||||
else if(_type == 131)
|
||||
{
|
||||
memcpy(_MQ, MQ131, sizeof(MQ131));
|
||||
memcpy(_MQ, _MQ131, sizeof(_MQ131));
|
||||
//_MQ = MQ131;
|
||||
}
|
||||
else if(_type == 135)
|
||||
{
|
||||
memcpy(_MQ, MQ135, sizeof(MQ135));
|
||||
memcpy(_MQ, _MQ135, sizeof(_MQ135));
|
||||
//_MQ = MQ135;
|
||||
}
|
||||
else if(_type == 303)
|
||||
{
|
||||
memcpy(_MQ, MQ303A, sizeof(MQ303A));
|
||||
memcpy(_MQ, _MQ303A, sizeof(_MQ303A));
|
||||
//_MQ = MQ303A;
|
||||
}
|
||||
else if(_type == 309)
|
||||
{
|
||||
memcpy(_MQ, MQ309A, sizeof(MQ309A));
|
||||
memcpy(_MQ, _MQ309A, sizeof(_MQ309A));
|
||||
//_MQ = MQ309;
|
||||
}
|
||||
}
|
||||
void MQUnifiedsensor::setVoltResolution(float voltaje)
|
||||
{
|
||||
VOLT_RESOLUTION = voltaje;
|
||||
}
|
||||
void MQUnifiedsensor::inicializar()
|
||||
{
|
||||
pinMode(_pin, INPUT);
|
||||
|
@ -25,12 +25,28 @@
|
||||
#define retries 50
|
||||
#define retry_interval 20
|
||||
|
||||
//Values consolidated
|
||||
/* Gas, Value of m (Slope) and b (Cut on x axis) points */
|
||||
const char* const _MQ2[18] = {"H2","-2.2459","2.9845","LPG","-2.2879","2.7901","CO","-2.6208","3.6075","Alcohol","-3.1157","4.5134","Propane","-2.7028","3.5595","Benzene","-2.2879","2.7901"};
|
||||
const char* const _MQ3[18] = {"LPG","-3.1851","4.7048","CH4","-17.531","28.785","CO","-4.339","6.4432","Alcohol","-1.435","0.4103","Benzene","-2.7009","0.632","Hexane","-2.7268","3.6299"};
|
||||
const char* const _MQ4[15] = {"LPG","-2.5818","3.6303","CH4","0.9873","2.6386","CO","-5.5945","5.6693","Alcohol","-11.89","9.0375","smoke","-11.189","9.0375"};
|
||||
const char* const _MQ5[15] = {"H2","-4.368","2.9667","LPG","-2.5723","1.8943","CH4","-2.4438","2.3044","CO","-4.8188","5.2023","Alcohol","-4.419","4.8044"};
|
||||
const char* const _MQ6[15] = {"H2","-3.6775","5.0286","LPG","-1.6567","2.8775","CH4","-1","3.301","CO","-12.791","14.523","Alcohol","-5.8057","7.5292"};
|
||||
const char* const _MQ7[15] = {"H2","-1.329","1.8864","LPG","-7.8626","9.1056","CH4","-5.4878","8.8387","CO","-1.4065","2.0162","Alcohol","-6.3219","9.924"};
|
||||
const char* const _MQ8[15] = {"H2","-0.7152","2.9891","LPG","-3.419","7.3513","CH4","-7.5609","15.243","CO","-7.0753","15.396","Alcohol","-1.7459","4.7575"};
|
||||
const char* const _MQ9[9] = {"LPG","-2.2535","2.9855","CH4","-1.6012","3.1476","CO","-1.749","2.827"};
|
||||
const char* const _MQ131[9] = {"Nox","-2.7245","3.3004","CL2","-1.0333","1.7117","O3","-1.2037","1.6455"};
|
||||
const char* const _MQ135[18] = {"CO","-2.7268","2.301","Alcohol","-2.8608","1.8627","CO2","-3.2819","1.9903","Tolueno","-5.7015","1.1612","NH4","-2.2119","2.0473","Acetona","-5.9682","1.0175"};
|
||||
const char* const _MQ303A[9] = {"Iso-butano","-2.3543","1.144","Hydrogeno","-2.4338","0.7558","Ethanol","-2.5597","0.4436"};
|
||||
const char* const _MQ309A[12] = {"H2","-2.1311","3.0886","CH4","-1.6554","2.985","CO","-4.7623","6.7413","Alcohol","-3.7686","5.6744"};
|
||||
|
||||
class MQUnifiedsensor
|
||||
{
|
||||
public:
|
||||
MQUnifiedsensor(int pin, int type);
|
||||
void inicializar();
|
||||
void setR0(double R0);
|
||||
void setVoltResolution(float voltaje);
|
||||
void setSensorCharacteristics(String nameLectureReqeuired, bool print);
|
||||
void setDefaultGas();
|
||||
|
||||
@ -44,27 +60,12 @@ class MQUnifiedsensor
|
||||
String getnameLecture();
|
||||
|
||||
|
||||
//Values consolidated
|
||||
/* Gas, Value of m (Slope) and b (Cut on x axis) points */
|
||||
const char* const MQ2[18] = {"H2","-2.2459","2.9845","LPG","-2.2879","2.7901","CO","-2.6208","3.6075","Alcohol","-3.1157","4.5134","Propane","-2.7028","3.5595","Benzene","-2.2879","2.7901"};
|
||||
const char* const MQ3[18] = {"LPG","-3.1851","4.7048","CH4","-17.531","28.785","CO","-4.339","6.4432","Alcohol","-1.435","0.4103","Benzene","-2.7009","0.632","Hexane","-2.7268","3.6299"};
|
||||
const char* const MQ4[15] = {"LPG","-2.5818","3.6303","CH4","0.9873","2.6386","CO","-5.5945","5.6693","Alcohol","-11.89","9.0375","smoke","-11.189","9.0375"};
|
||||
const char* const MQ5[15] = {"H2","-4.368","2.9667","LPG","-2.5723","1.8943","CH4","-2.4438","2.3044","CO","-4.8188","5.2023","Alcohol","-4.419","4.8044"};
|
||||
const char* const MQ6[15] = {"H2","-3.6775","5.0286","LPG","-1.6567","2.8775","CH4","-1","3.301","CO","-12.791","14.523","Alcohol","-5.8057","7.5292"};
|
||||
const char* const MQ7[15] = {"H2","-1.329","1.8864","LPG","-7.8626","9.1056","CH4","-5.4878","8.8387","CO","-1.4065","2.0162","Alcohol","-6.3219","9.924"};
|
||||
const char* const MQ8[15] = {"H2","-0.7152","2.9891","LPG","-3.419","7.3513","CH4","-7.5609","15.243","CO","-7.0753","15.396","Alcohol","-1.7459","4.7575"};
|
||||
const char* const MQ9[9] = {"LPG","-2.2535","2.9855","CH4","-1.6012","3.1476","CO","-1.749","2.827"};
|
||||
const char* const MQ131[9] = {"Nox","-2.7245","3.3004","CL2","-1.0333","1.7117","O3","-1.2037","1.6455"};
|
||||
const char* const MQ135[18] = {"CO","-2.7268","2.301","Alcohol","-2.8608","1.8627","CO2","-3.2819","1.9903","Tolueno","-5.7015","1.1612","NH4","-2.2119","2.0473","Acetona","-5.9682","1.0175"};
|
||||
const char* const MQ303A[9] = {"Iso-butano","-2.3543","1.144","Hydrogeno","-2.4338","0.7558","Ethanol","-2.5597","0.4436"};
|
||||
const char* const MQ309A[12] = {"H2","-2.1311","3.0886","CH4","-1.6554","2.985","CO","-4.7623","6.7413","Alcohol","-3.7686","5.6744"};
|
||||
|
||||
|
||||
private:
|
||||
int _pin, _type, _PPM, _lecturePosInArray;
|
||||
double _R0, _m, _b;
|
||||
String _MQ[19], _nameLectureRequeired;
|
||||
const float VOLT_RESOLUTION = 5.0; // if 3.3v use 3.3
|
||||
|
||||
String _MQ[19], _nameLectureRequeired;
|
||||
int VOLT_RESOLUTION = 5.0; // if 3.3v use 3.3
|
||||
};
|
||||
|
||||
#endif //MQUnifiedsensor_H
|
Loading…
x
Reference in New Issue
Block a user