Skip to content

Commit 938ce9e

Browse files
committed
arduino example for ens161
1 parent 1cada7b commit 938ce9e

File tree

2 files changed

+75
-0
lines changed

2 files changed

+75
-0
lines changed

ENS161_Examples/ENS161_Arduino_Example/.uno.test.only

Whitespace-only changes.
Lines changed: 75 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,75 @@
1+
// SPDX-FileCopyrightText: 2021 Sciosense
2+
//
3+
// SPDX-License-Identifier: MIT
4+
5+
/***************************************************************************
6+
ENS161 - Digital Air Quality Sensor
7+
8+
This is an example for ENS161 basic reading in standard mode
9+
10+
Updated by Sciosense / 25-Nov-2021
11+
***************************************************************************/
12+
13+
#include <Wire.h>
14+
int ArduinoLED = 13;
15+
16+
#include "ScioSense_ENS160.h" // ENS160 library
17+
ScioSense_ENS160 ens160(ENS160_I2CADDR_1);
18+
19+
/*--------------------------------------------------------------------------
20+
SETUP function
21+
initiate sensor
22+
--------------------------------------------------------------------------*/
23+
void setup() {
24+
25+
Serial.begin(115200);
26+
27+
while (!Serial) {}
28+
29+
//Switch on LED for init
30+
pinMode(ArduinoLED, OUTPUT);
31+
digitalWrite(ArduinoLED, LOW);
32+
33+
Serial.println("------------------------------------------------------------");
34+
Serial.println("ENS161 - Digital air quality sensor");
35+
Serial.println();
36+
Serial.println("Sensor readout in standard mode");
37+
Serial.println();
38+
Serial.println("------------------------------------------------------------");
39+
delay(1000);
40+
41+
Serial.print("ENS161...");
42+
ens160.begin();
43+
Serial.println(ens160.available() ? "done." : "failed!");
44+
if (ens160.available()) {
45+
// Print ENS160 versions
46+
Serial.print("\tRev: "); Serial.print(ens160.getMajorRev());
47+
Serial.print("."); Serial.print(ens160.getMinorRev());
48+
Serial.print("."); Serial.println(ens160.getBuild());
49+
50+
Serial.print("\tStandard mode ");
51+
Serial.println(ens160.setMode(ENS160_OPMODE_STD) ? "done." : "failed!");
52+
}
53+
}
54+
55+
/*--------------------------------------------------------------------------
56+
MAIN LOOP FUNCTION
57+
Cylce every 1000ms and perform measurement
58+
--------------------------------------------------------------------------*/
59+
60+
void loop() {
61+
62+
if (ens160.available()) {
63+
ens160.measure(true);
64+
ens160.measureRaw(true);
65+
66+
Serial.print("AQI: ");Serial.print(ens160.getAQI());Serial.print("\t");
67+
Serial.print("TVOC: ");Serial.print(ens160.getTVOC());Serial.print("ppb\t");
68+
Serial.print("eCO2: ");Serial.print(ens160.geteCO2());Serial.print("ppm\t");
69+
Serial.print("R HP0: ");Serial.print(ens160.getHP0());Serial.print("Ohm\t");
70+
Serial.print("R HP1: ");Serial.print(ens160.getHP1());Serial.print("Ohm\t");
71+
Serial.print("R HP2: ");Serial.print(ens160.getHP2());Serial.print("Ohm\t");
72+
Serial.print("R HP3: ");Serial.print(ens160.getHP3());Serial.println("Ohm");
73+
}
74+
delay(1000);
75+
}

0 commit comments

Comments
 (0)