Skillnad mellan versioner av "Grove - Air Quality Sensor"

Från Karlskrona Makerspace Wiki
Hoppa till: navigering, sök
 
Rad 11: Rad 11:
 
== Exempelkod ==  
 
== Exempelkod ==  
 
=== Arduino ===
 
=== Arduino ===
<syntaxhighligh lang="C++" line>
+
<syntaxhighlight lang="C++" line>
 
#include "AirQuality.h"
 
#include "AirQuality.h"
 
#include "Arduino.h"
 
#include "Arduino.h"
Rad 82: Rad 82:
 
     except IOError:
 
     except IOError:
 
         print "Error"
 
         print "Error"
</syntaxhighligh>
+
</syntaxhighlight>
  
 
== Mer information ==
 
== Mer information ==

Versionen från 26 oktober 2018 kl. 22.51

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

#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++;
    }
}

Raspberry Pi

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"

Mer information

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