This sensor is designed for comprehensive monitor over indoor air condition. It's responsive to a wide scope of harmful gases, as carbon monixide, alcohol, acetone, thinner, formaldehyde and so on. Due to the measuring mechanism, this sensor can not output specific data to describe target gases' concentrations quantitatively. But it's still competent enough to be used in applications that require only qualitative results, like auto refresher sprayers and auto air cycling systems.

Dependencies:   Grove_Air_Quality_Sensor_Library mbed

Fork of Seeed_Grove_Air_Quality_Sensor_Example by Austin Blackstone

main.cpp

Committer:
mbedAustin
Date:
2014-09-05
Revision:
1:888328032581
Parent:
0:2dbce8e35862

File content as of revision 1:888328032581:


#include"mbed.h"
#include"Air_Quality.h"
AirQuality airqualitysensor;
int current_quality = -1;
PinName analogPin = A0;

// Interrupt Handler
void AirQualityInterrupt()
{
    AnalogIn sensor(analogPin);
    airqualitysensor.last_vol = airqualitysensor.first_vol;
    airqualitysensor.first_vol = sensor.read()*1000;
    airqualitysensor.timer_index = 1;
}

// Main loop
int main()
{
    airqualitysensor.init(analogPin, AirQualityInterrupt);
    while(1) {
        current_quality=airqualitysensor.slope();
        if (current_quality >= 0) { // if a valid data returned.
            if (current_quality == 0)
                printf("High pollution! Force signal active\n\r");
            else if (current_quality == 1)
                printf("High pollution!\n\r");
            else if (current_quality == 2)
                printf("Low pollution!\n\r");
            else if (current_quality == 3)
                printf("Fresh air\n\r");
        }
    }
}