![](/media/cache/profiles/P1080070.JPG.50x50_q85.jpg)
Grove Air quality sensor program
Dependencies: Grove_Air_Quality_Sensor_Library mbed
Connection
VDD → 3.3V or 5V (supply voltage)
GND → GND
SIG → p15 (mbed)
NC → Non connection
main.cpp@2:225383599b95, 2019-11-06 (annotated)
- Committer:
- HeptaSatTraining2019
- Date:
- Wed Nov 06 18:32:23 2019 +0000
- Revision:
- 2:225383599b95
- Parent:
- 1:888328032581
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
mbedAustin | 1:888328032581 | 1 | #include"mbed.h" |
mbedAustin | 1:888328032581 | 2 | #include"Air_Quality.h" |
mbedAustin | 1:888328032581 | 3 | AirQuality airqualitysensor; |
mbedAustin | 1:888328032581 | 4 | int current_quality = -1; |
HeptaSatTraining2019 | 2:225383599b95 | 5 | PinName analogPin = p15; |
mbedAustin | 0:2dbce8e35862 | 6 | |
mbedAustin | 1:888328032581 | 7 | // Interrupt Handler |
mbedAustin | 1:888328032581 | 8 | void AirQualityInterrupt() |
mbedAustin | 1:888328032581 | 9 | { |
mbedAustin | 1:888328032581 | 10 | AnalogIn sensor(analogPin); |
mbedAustin | 1:888328032581 | 11 | airqualitysensor.last_vol = airqualitysensor.first_vol; |
mbedAustin | 1:888328032581 | 12 | airqualitysensor.first_vol = sensor.read()*1000; |
mbedAustin | 1:888328032581 | 13 | airqualitysensor.timer_index = 1; |
mbedAustin | 1:888328032581 | 14 | } |
mbedAustin | 0:2dbce8e35862 | 15 | |
mbedAustin | 1:888328032581 | 16 | // Main loop |
mbedAustin | 1:888328032581 | 17 | int main() |
mbedAustin | 1:888328032581 | 18 | { |
mbedAustin | 1:888328032581 | 19 | airqualitysensor.init(analogPin, AirQualityInterrupt); |
mbedAustin | 1:888328032581 | 20 | while(1) { |
mbedAustin | 1:888328032581 | 21 | current_quality=airqualitysensor.slope(); |
mbedAustin | 1:888328032581 | 22 | if (current_quality >= 0) { // if a valid data returned. |
mbedAustin | 1:888328032581 | 23 | if (current_quality == 0) |
mbedAustin | 1:888328032581 | 24 | printf("High pollution! Force signal active\n\r"); |
mbedAustin | 1:888328032581 | 25 | else if (current_quality == 1) |
mbedAustin | 1:888328032581 | 26 | printf("High pollution!\n\r"); |
mbedAustin | 1:888328032581 | 27 | else if (current_quality == 2) |
mbedAustin | 1:888328032581 | 28 | printf("Low pollution!\n\r"); |
mbedAustin | 1:888328032581 | 29 | else if (current_quality == 3) |
mbedAustin | 1:888328032581 | 30 | printf("Fresh air\n\r"); |
mbedAustin | 1:888328032581 | 31 | } |
mbedAustin | 0:2dbce8e35862 | 32 | } |
mbedAustin | 0:2dbce8e35862 | 33 | } |