From b69d85d6be6bd4ebd7402768646b529c5e3f92ad Mon Sep 17 00:00:00 2001 From: miguel5612 Date: Thu, 30 May 2019 13:49:50 -0500 Subject: [PATCH] Fixed calibration --- .vscode/c_cpp_properties.json | 6 ++++-- .../MQ-Board-Calibration.ino | 21 ++++++++++--------- src/MQUnifiedsensor.cpp | 2 +- src/MQUnifiedsensor.h | 2 +- 4 files changed, 17 insertions(+), 14 deletions(-) diff --git a/.vscode/c_cpp_properties.json b/.vscode/c_cpp_properties.json index 15e45be..4148d0e 100644 --- a/.vscode/c_cpp_properties.json +++ b/.vscode/c_cpp_properties.json @@ -3,8 +3,10 @@ { "name": "Win32", "includePath": [ - "C:\\\\\\\\Users\\\\\\\\migue\\\\\\\\AppData\\\\\\\\Local\\\\\\\\Arduino15\\\\\\\\packages\\\\\\\\esp8266\\\\\\\\tools\\\\\\\\**", - "C:\\\\\\\\Users\\\\\\\\migue\\\\\\\\AppData\\\\\\\\Local\\\\\\\\Arduino15\\\\\\\\packages\\\\\\\\esp8266\\\\\\\\hardware\\\\\\\\esp8266\\\\\\\\2.4.2\\\\\\\\**" + "C:\\\\Users\\\\migue\\\\AppData\\\\Local\\\\Arduino15\\\\packages\\\\esp8266\\\\tools\\\\**", + "C:\\\\Users\\\\migue\\\\AppData\\\\Local\\\\Arduino15\\\\packages\\\\esp8266\\\\hardware\\\\esp8266\\\\2.4.2\\\\**", + "C:\\Users\\migue\\AppData\\Local\\Arduino15\\packages\\esp8266\\hardware\\esp8266\\2.4.2\\**", + "C:\\Users\\migue\\AppData\\Local\\Arduino15\\packages\\esp8266\\tools\\**" ], "forcedInclude": [], "intelliSenseMode": "msvc-x64", diff --git a/examples/MQ-Board-Calibration/MQ-Board-Calibration.ino b/examples/MQ-Board-Calibration/MQ-Board-Calibration.ino index 1bb1e10..2f9de59 100644 --- a/examples/MQ-Board-Calibration/MQ-Board-Calibration.ino +++ b/examples/MQ-Board-Calibration/MQ-Board-Calibration.ino @@ -95,27 +95,28 @@ void setup() { //Print in serial monitor Serial.println("MQ2 to MQ9 - Calibracion"); Serial.println("Note - Make sure you are in a clean room and the sensor has pre-heated almost 4 hours"); + Serial.println("Note - All values are in KOhms"); Serial.println("Autonumeric, MQ2(R0), MQ3(R0), MQ4(R0), MQ5(R0), MQ6(R0), MQ7(R0)"); //Wait one second to continue delay(timeDelay/10); } void loop() { - //Review in serial port the measures - bool printRawData = true; + //Read the sensor - int lecture2 = MQ2.calibrate(printRawData); - int lecture3 = MQ3.calibrate(printRawData); - int lecture4 = MQ4.calibrate(printRawData); - int lecture5 = MQ5.calibrate(printRawData); - int lecture6 = MQ6.calibrate(printRawData); - int lecture7 = MQ7.calibrate(printRawData); - int lecture8 = MQ8.calibrate(printRawData); - int lecture9 = MQ9.calibrate(printRawData); + int lecture2 = MQ2.calibrate(); + int lecture3 = MQ3.calibrate(); + int lecture4 = MQ4.calibrate(); + int lecture5 = MQ5.calibrate(); + int lecture6 = MQ6.calibrate(); + int lecture7 = MQ7.calibrate(); + int lecture8 = MQ8.calibrate(); + int lecture9 = MQ9.calibrate(); //Print in serial monitor char out[40]; + //snprintf(out, 30, "%d,%d,%d,%d,%d,%d,%d,%d", contador, lecture2, lecture3, lecture4, lecture5, lecture6, lecture7, lecture8, lecture9); snprintf(out, 30, "%d,%d,%d,%d,%d,%d,%d,%d", contador, lecture2, lecture3, lecture4, lecture5, lecture6, lecture7, lecture8, lecture9); Serial.println(out); diff --git a/src/MQUnifiedsensor.cpp b/src/MQUnifiedsensor.cpp index e3e00c5..d123575 100644 --- a/src/MQUnifiedsensor.cpp +++ b/src/MQUnifiedsensor.cpp @@ -527,7 +527,7 @@ int MQUnifiedsensor::readPPM(int m, int b) { double ppm = pow(10, ppm_log); //Convert ppm value to log scale return floor(ppm); } -int MQUnifiedsensor::calibrate(boolean print) { +float MQUnifiedsensor::calibrate(boolean print) { //More explained in: https://jayconsystems.com/blog/understanding-a-gas-sensor /* V = I x R diff --git a/src/MQUnifiedsensor.h b/src/MQUnifiedsensor.h index e6113df..65f0602 100644 --- a/src/MQUnifiedsensor.h +++ b/src/MQUnifiedsensor.h @@ -274,7 +274,7 @@ class MQUnifiedsensor int readSensor(String nameLectureRequeired = "", bool print = false); int readPPM(int m, int b); - int calibrate(boolean print = false); + float calibrate(boolean print = false); double getVoltage(); double stringToDouble(String & str);