Arduino-TWI
Two-Wire Interface (TWI) library for Arduino
Si7021.ino
Go to the documentation of this file.
1 #include "TWI.h"
2 #include "Driver/Si70XX.h"
3 
4 // Configure: TWI bus manager (software or hardware)
5 #define USE_SOFTWARE_TWI
6 
7 #if defined(USE_SOFTWARE_TWI)
8 #include "GPIO.h"
9 #include "Software/TWI.h"
11 #else
12 // Configure: Hardware TWI bus clock frequency (100 or 400 kHz)
13 // #define FREQ 800000UL
14 #define FREQ 400000UL
15 // #define FREQ 100000UL
16 #include "Hardware/TWI.h"
18 #endif
19 
20 Si70XX sensor(twi);
21 
22 void setup()
23 {
24  Serial.begin(57600);
25 
26  uint8_t reg = 0;
27  int res = sensor.read_user_register(reg);
28  Serial.print(res);
29  Serial.print(F(":user: "));
30  Serial.println(reg, HEX);
31 
32  uint8_t snr[8];
34  Serial.print(res);
35  Serial.print(F(":snr:"));
36  for (size_t i = 0; i < sizeof(snr); i++) {
37  Serial.print(' ');
38  Serial.print(snr[i], HEX);
39  }
40  Serial.println();
41 
42  uint8_t rev = 0;
43  res = sensor.read_firmware_revision(rev);
44  Serial.print(res);
45  Serial.print(F(":rev:"));
46  Serial.println(rev, HEX);
47 }
48 
49 void loop()
50 {
52  delay(20);
53  float humidity = sensor.read_humidity();
54  float humidity_temperature = sensor.read_humidity_temperature();
55 
57  delay(10);
58  float temperature = sensor.read_temperature();
59 
60  Serial.print(humidity);
61  Serial.print(F("% RH, "));
62  Serial.print(humidity_temperature);
63  Serial.print(F("° C, "));
64  Serial.print(temperature);
65  Serial.println(F("° C"));
66 
67  delay(1000);
68 }
Si70XX sensor(twi)
bool read_electronic_serial_number(uint8_t snr[8])
Definition: Si70XX.h:77
bool read_firmware_revision(uint8_t &rev)
Definition: Si70XX.h:128
float read_humidity()
Definition: Si70XX.h:154
void loop()
Definition: Si7021.ino:49
bool measure_humidity()
Definition: Si70XX.h:144
bool measure_temperature()
Definition: Si70XX.h:180
Software::TWI< BOARD::D18, BOARD::D19 > twi
Definition: Si7021.ino:10
bool read_user_register(uint8_t &reg)
Definition: Si70XX.h:66
float read_humidity_temperature()
Definition: Si70XX.h:166
#define FREQ
Definition: PCF8574.ino:13
float read_temperature()
Definition: Si70XX.h:190
void setup()
Definition: Si7021.ino:22
Definition: Si70XX.h:51