upm  0.4.1
Sensor/Actuator repository for libmraa (v0.8.0)
Public Member Functions | List of all members

API for the DFRobot CO2 Sensor. More...

Detailed Description

This sensor returns an an analog voltage that falls as the concentration of CO2 increases. It contains a heater that must be allowed to 'warm' up the sensor before measurements are stable (hours to days is the recommendation). It requires that the MCU be powered from an external power supply (not USB) at 5v, since the heater will consume significant current.

The sensor should be allowed to 'heat' up for some time before beginning use, typically a couple of hours minimum. It also needs fairly precise calibration at 400ppm and 1000ppm to return meaningful results.

The sensor also incorporates a potentiometer that can be adjusted to specific threshold. Once that threshold is reached, an LED on the sensor will light, and the digital pin will be driven high.

Public Member Functions

synchronized void delete ()
 
 MG811 (int pin, int dpin, float aref)
 
 MG811 (int pin, int dpin)
 
float getReferenceVoltage ()
 
void setCalibration (float ppm400, float ppm1000)
 
float volts ()
 
float ppm ()
 
boolean thresholdReached ()
 

Constructor & Destructor Documentation

MG811 ( int  pin,
int  dpin,
float  aref 
)

MG811 constructor

Parameters
pinAnalog pin to use
dpinDigital pin that indicates threshold
arefAnalog reference voltage; default is 5.0 V

Member Function Documentation

float getReferenceVoltage ( )

Return a cumputed reference voltage to be used in calibration.

Returns
Computed reference voltage
float ppm ( )

Returns the computed CO2 concentration in ppm (Parts Per Million). This method will return 0.0 if the reference voltage is greater than the ppm400 value. Essentially, ppm values below 400 will be reported as 0.

Returns
The computed CO2 concentration in ppm
void setCalibration ( float  ppm400,
float  ppm1000 
)

Set calibration parameters. You should measure the reference voltage you get when at CO2 concentrations of 400ppm (ambient) and 1000ppm using the getReferenceVoltage() method. Then specify those voltages here for more accurate results.

Parameters
ppm400The measured reference voltage at 400 ppm
ppm40000The measured reference voltage at 1000 ppm
boolean thresholdReached ( )

Read the digital pin and return true if the set threshold has been reached or exceeded. This threshold is set by adjusting the potentiometer on the sensor.

Returns
true if the threshold has been reached, false otherwise
float volts ( )

Returns the voltage detected on the analog pin

Returns
The detected voltage

The documentation for this class was generated from the following file: