Grove - Air Quality Sensor

Från Karlskrona Makerspace Wiki
Version från den 26 oktober 2018 kl. 22.50 av Christian (diskussion | bidrag)
(skillnad) ← Äldre version | Nuvarande version (skillnad) | Nyare version → (skillnad)
Hoppa till: navigering, sök

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>

  1. include "AirQuality.h"
  2. 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

  1. Connect the Grove Air Quality Sensor to analog port A0
  2. 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>

Mer information

http://wiki.seeedstudio.com/Grove-Air_Quality_Sensor_v1.3/