Grove - Air Quality Sensor
Denna sensor är konstruerad för en övergripande övervakning av inomhusluft. Det är mottagligt för ett brett spektrum av skadliga gaser, som kolmonoxid, alkohol, aceton, tunnare, formaldehyd och så vidare. På grund av mätmekanismen kan denna sensor inte mata ut specifik data för att kvantitativt beskriva målgaskoncentrationernas koncentrationer. Men det är fortfarande tillräckligt kompetent att användas i applikationer som kräver endast kvalitativa resultat, som automatisk upprepnings sprutor och auto-luftcykelsystem.
Kompatibilitet
- Arduino
- Raspberry Pi
Port
Analog
Exempelkod
Arduino
<syntaxhighligh lang="C++" line>
- include "AirQuality.h"
- include "Arduino.h"
AirQuality airqualitysensor; int current_quality =-1; void setup() {
Serial.begin(9600); airqualitysensor.init(14);
} void loop() {
current_quality=airqualitysensor.slope(); if (current_quality >= 0)// if a valid data returned. { if (current_quality==0) Serial.println("High pollution! Force signal active"); else if (current_quality==1) Serial.println("High pollution!"); else if (current_quality==2) Serial.println("Low pollution!"); else if (current_quality ==3) Serial.println("Fresh air"); }
} ISR(TIMER2_OVF_vect) {
if(airqualitysensor.counter==122)//set 2 seconds as a detected duty {
airqualitysensor.last_vol=airqualitysensor.first_vol; airqualitysensor.first_vol=analogRead(A0); // change this value if you use another A port airqualitysensor.counter=0; airqualitysensor.timer_index=1; PORTB=PORTB^0x20; } else { airqualitysensor.counter++; }
} </syntaxhighlight>
Raspberry Pi
<syntaxhighlight lang="Python" line> import time import grovepi
- Connect the Grove Air Quality Sensor to analog port A0
- SIG,NC,VCC,GND
air_sensor = 0
grovepi.pinMode(air_sensor,"INPUT")
while True:
try: # Get sensor value sensor_value = grovepi.analogRead(air_sensor)
if sensor_value > 700: print "High pollution" elif sensor_value > 300: print "Low pollution" else: print "Air fresh"
print "sensor_value =", sensor_value time.sleep(.5)
except IOError: print "Error"
</syntaxhighligh>