Read ad values from sensor, and calculate the respective ppm value of respective gas .

Dependencies:   MQ4 mbed

Committer:
renanbmx123
Date:
Tue Jul 17 04:40:44 2018 +0000
Revision:
0:9f3c885e7d4e
MQ4 gas sensor example for reading 3 different types of gas.

Who changed what in which revision?

UserRevisionLine numberNew contents of line
renanbmx123 0:9f3c885e7d4e 1 #include "mbed.h"
renanbmx123 0:9f3c885e7d4e 2 #include "MQ4.h"
renanbmx123 0:9f3c885e7d4e 3
renanbmx123 0:9f3c885e7d4e 4 Serial pc(USBTX, USBRX); // tx, rx
renanbmx123 0:9f3c885e7d4e 5 MQ4 mq4(p18); // Analog Port to read from
renanbmx123 0:9f3c885e7d4e 6
renanbmx123 0:9f3c885e7d4e 7 int main() {
renanbmx123 0:9f3c885e7d4e 8 pc.baud(9600);
renanbmx123 0:9f3c885e7d4e 9 mq4.begin(); // 'Calibrate' sensor
renanbmx123 0:9f3c885e7d4e 10 MQ4_data_t MQ4_data; // Structure to hold data.
renanbmx123 0:9f3c885e7d4e 11 pc.printf("Ro calculated: %f\r\n",mq4.get_Ro());
renanbmx123 0:9f3c885e7d4e 12 while (true) {
renanbmx123 0:9f3c885e7d4e 13 pc.printf("H2 PPM: %.0f\r\n",mq4.readH2()); // Performs a one shot read of CO
renanbmx123 0:9f3c885e7d4e 14 pc.printf("CH4 PPM: %.0f\r\n",mq4.readCH4()); // Performs a one shot read of Smoke
renanbmx123 0:9f3c885e7d4e 15 pc.printf("LPG PPM: %.0f\r\n",mq4.readLPG()); // Performs a one shot read of LPG
renanbmx123 0:9f3c885e7d4e 16 wait(1);
renanbmx123 0:9f3c885e7d4e 17 pc.printf("................................\r\n");
renanbmx123 0:9f3c885e7d4e 18 mq4.read(&MQ4_data); // Alt reading method, reading to struct
renanbmx123 0:9f3c885e7d4e 19 pc.printf("CO PPM: %.0f\r\n",MQ4_data.h2); // Return data from strut
renanbmx123 0:9f3c885e7d4e 20 pc.printf("Smoke PPM: %.0f\r\n",MQ4_data.ch4); // Return data from strut
renanbmx123 0:9f3c885e7d4e 21 pc.printf("LPG PPM: %.0f\r\n",MQ4_data.lpg); // Return data from strut
renanbmx123 0:9f3c885e7d4e 22 pc.printf("................................\r\n");
renanbmx123 0:9f3c885e7d4e 23 wait(1);
renanbmx123 0:9f3c885e7d4e 24 }
renanbmx123 0:9f3c885e7d4e 25 }
renanbmx123 0:9f3c885e7d4e 26