UPM

The UPM API is a high level sensor library for IoT devices using MRAA. See examples here. Back to index page.
SparkFun sensor images provided under CC BY-NC-SA-3.0.

CWLSXXA Class

Module: cwlsxxa

The driver was developed using the CWLSHTA CO2 Gas sensor. The 'T' variant supports a temperature transmitter, and the 'H' variant supports a humidity sensor. All 3 signals are provided by the device as analog 0-5Vdc, 0-10Vdc, or 4-20ma loop current outputs. For devices supporting temperature, the valid temperature range is 10C to 50C. The humidity ranges from 0% to 100% (non-condensing). The CO2 sensor ranges from 0 to 2000 ppm.
This driver was developed using the 5Vdc outputs and the 4-20ma outputs. For voltage outputs, your MCU must be configured for 5V operation. In addition, you must configure the sensor (via it's configuration switches) to output 0-5VDC only. Using any other analog reference voltage will require the appropriate external circuitry (such as a voltage divider) in order to interface safely with your MCU.
In addition, the sensor can be configured for 4-20ma usage, by specifying the correct receiver resistance (in ohms) in the constructor. This sensor was tested with a Cooking Hacks (Libelium) 4-channel 4-20ma Arduino interface shield. For this interface, the receiver resistance was specified as 165.0 ohms.
For devices which do not support temperature, use '-1' as the temperature pin number in the object constructor. If temperature measurement is disabled, getTemperature() will always return 0C/32F.
For devices which do not support humidity, use '-1' as the temperature pin number in the object constructor. If humidity measurement is disabled, getHumidity() will always return 0.

Methods

CWLSXXA

(
  • gPin
  • hPin
  • tPin
  • rResistor
  • aref
)
Number

CWLSXXA object constructor

Parameters:

  • gPin Number

    Analog pin to use for the CO2 measurement

  • hPin Number

    Analog pin to use for the humidity measurement. If your device does not support humidity, use -1 as the value so that humidity will not be queried and an analog pin won't be wasted.

  • tPin Number

    Analog pin to use for temperature. If your device does not support temperature, use -1 as the value so that temperature will not be queried and an analog pin won't be wasted.

  • rResistor Number

    The receiver resistance in ohms, when using a 4-20ma current loop interface. When specified, this value will be used in computing the current based on the voltage read when scaling the return values. Default is 0.0, for standard scaling based on voltage output rather than current (4-20ma mode).

  • aref Number

    The analog reference voltage, default 5.0

Returns:

Number:

update

()

Read current values from the sensor and update internal stored values. This method must be called prior to querying any values, such as CO2, temperature, or humidity.

getTemperature

(
  • fahrenheit
)
Number

Get the current temperature. update() must have been called prior to calling this method. If temperature measurement was disabled (by passing -1 as the temperature pin in the constructor) then this function will always return 0C/32F.

Parameters:

  • fahrenheit Boolean

    true to return the temperature in degrees fahrenheit, false to return the temperature in degrees celsius. The default is false (degrees Celsius).

Returns:

Number:

The last temperature reading in Celsius or Fahrenheit

getHumidity

() Number

Get the current relative humidity. update() must have been called prior to calling this method. If humidity measurement was disabled (by passing -1 as the te pin in the constructor) then this function will always return 0.

Returns:

Number:

The last humidity reading

getCO2

() Number

Get the current CO2 concentration in Parts Per Million (PPM). update() must have been called prior to calling this method.

Returns:

Number:

The last CO2 reading