Skip to content

Commit 3a57c34

Browse files
2.0.3
Added examples with ENS210 for temperature and relative humidity compensation
2 parents e3950bc + 07f1cd7 commit 3a57c34

File tree

3 files changed

+151
-2
lines changed

3 files changed

+151
-2
lines changed
Lines changed: 74 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,74 @@
1+
#include <Arduino.h>
2+
#include <Wire.h>
3+
#include <ScioSense_ENS16x.h>
4+
#include <ScioSense_ENS21x.h>
5+
6+
#define ENS160_I2C_ADDRESS 0x52
7+
8+
ENS160 ens160;
9+
ENS210 ens210;
10+
11+
void setup()
12+
{
13+
Serial.begin(9600);
14+
ens160.enableDebugging(Serial);
15+
16+
Wire.begin();
17+
ens160.begin(&Wire, ENS160_I2C_ADDRESS);
18+
ens210.begin();
19+
20+
Serial.println("begin ens160..");
21+
while (ens160.init() != true)
22+
{
23+
Serial.print(".");
24+
delay(1000);
25+
}
26+
Serial.println("success");
27+
28+
Serial.println("begin ens210..");
29+
while (ens210.init() != true)
30+
{
31+
Serial.print(".");
32+
delay(1000);
33+
}
34+
Serial.println("success");
35+
36+
ens160.startStandardMeasure();
37+
}
38+
39+
void loop()
40+
{
41+
42+
// Enable Tools->Serial Plotter to see the sensor output as a graph
43+
44+
if (ens210.singleShotMeasure() == RESULT_OK)
45+
{
46+
Serial.print("Temp[°C]: "); Serial.print(ens210.getTempCelsius());
47+
Serial.print("\tHumidity[%RH]: "); Serial.print(ens210.getHumidityPercent());
48+
49+
ens160.writeCompensation(ens210.getDataT(), ens210.getDataH());
50+
}
51+
52+
ens160.wait();
53+
54+
if (ens160.update() == RESULT_OK)
55+
{
56+
if (ens160.hasNewData())
57+
{
58+
Serial.print("\tAQI UBA:"); Serial.print((uint8_t)ens160.getAirQualityIndex_UBA());
59+
60+
Serial.print("\tTVOC:"); Serial.print(ens160.getTvoc());
61+
Serial.print("\tECO2: "); Serial.print(ens160.getEco2());
62+
}
63+
64+
if (ens160.hasNewGeneralPurposeData())
65+
{
66+
Serial.print("\tRS0:"); Serial.print(ens160.getRs0());
67+
Serial.print("\tRS1:"); Serial.print(ens160.getRs1());
68+
Serial.print("\tRS2:"); Serial.print(ens160.getRs2());
69+
Serial.print("\tRS3:"); Serial.print(ens160.getRs3());
70+
}
71+
72+
Serial.println("");
73+
}
74+
}
Lines changed: 74 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,74 @@
1+
#include <Arduino.h>
2+
#include <Wire.h>
3+
#include <ScioSense_ENS16x.h>
4+
#include <ScioSense_ENS21x.h>
5+
6+
#define ENS161_I2C_ADDRESS 0x52
7+
8+
ENS161 ens161;
9+
ENS210 ens210;
10+
11+
void setup()
12+
{
13+
Serial.begin(9600);
14+
ens161.enableDebugging(Serial);
15+
16+
Wire.begin();
17+
ens161.begin(&Wire, ENS161_I2C_ADDRESS);
18+
ens210.begin();
19+
20+
Serial.println("begin ens161..");
21+
while (ens161.init() != true)
22+
{
23+
Serial.print(".");
24+
delay(1000);
25+
}
26+
Serial.println("success");
27+
28+
Serial.println("begin ens210..");
29+
while (ens210.init() != true)
30+
{
31+
Serial.print(".");
32+
delay(1000);
33+
}
34+
Serial.println("success");
35+
36+
ens161.startStandardMeasure();
37+
}
38+
39+
void loop()
40+
{
41+
42+
// Enable Tools->Serial Plotter to see the sensor output as a graph
43+
44+
if (ens210.singleShotMeasure() == RESULT_OK)
45+
{
46+
Serial.print("Temp[°C]: "); Serial.print(ens210.getTempCelsius());
47+
Serial.print("\tHumidity[%RH]: "); Serial.print(ens210.getHumidityPercent());
48+
49+
ens161.writeCompensation(ens210.getDataT(), ens210.getDataH());
50+
}
51+
52+
ens161.wait();
53+
54+
if (ens161.update() == RESULT_OK)
55+
{
56+
if (ens161.hasNewData())
57+
{
58+
Serial.print("\tAQI ScioSense:"); Serial.print(ens161.getAirQualityIndex_ScioSense());
59+
60+
Serial.print("\tTVOC:"); Serial.print(ens161.getTvoc());
61+
Serial.print("\tECO2: "); Serial.print(ens161.getEco2());
62+
}
63+
64+
if (ens161.hasNewGeneralPurposeData())
65+
{
66+
Serial.print("\tRS0:"); Serial.print(ens161.getRs0());
67+
Serial.print("\tRS1:"); Serial.print(ens161.getRs1());
68+
Serial.print("\tRS2:"); Serial.print(ens161.getRs2());
69+
Serial.print("\tRS3:"); Serial.print(ens161.getRs3());
70+
}
71+
72+
Serial.println("");
73+
}
74+
}

library.properties

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,10 @@
11
name=ScioSense_ENS16x
2-
version=2.0.2
2+
version=2.0.3
33
author=ScioSense
44
maintainer=ScioSense
55
sentence=Arduino library for the ENS16x digital four channel MOX gas sensor family with I2C interface from ScioSense
66
paragraph=This library controls the ENS16x devices. The main feature of this library is controlling measurement modes and retrieving the measurement data.
77
category=Sensors
88
url=https://github.com/sciosense/ens16x-arduino
9-
architectures=*
9+
architectures=*
10+
depends=ScioSense_ENS21x

0 commit comments

Comments
 (0)