Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Project Goal

To create Arduino based device to compare data for as much many t/RH sensors as possible (without manual sensor switch), optionally with data logging for further analysis.

Table of Contents

Children Display

Preparation

Use of the same sensor on i2c usually limited by 1 or 2 (using ALT i2c address) of the same type. And SHT20, SHT21, SHT25, HTU21 is actually the same type, so to be able to compare measurement there is a need to use i2c multiplexer. In the case of 8 line multiplexer, there is a possibility to have 8-16 sensor of at the same time to be connected with Arduino.

Sensor i2c addresses and voltages

to divide between multiplexers

Sensoraddressalt addressspec
V
Vmin-VmaxVtyp1.8v3.3v5v**
AOSONG AHT100x38 (62)0x39 (63)*pdf1.8-3.6v3.3v(question)(tick)(minus)
AOSONG AHT150x38 (62)
*pdf1.8-3.6v3.3v(question)(tick)(minus)
Senserion SHT2x0x40
(64)0x41
(65)20,21,252.1-3.6v3v(minus)(tick)(minus)
Senserion SHT3x0x44
(68)0x45
(69)SHT3x2.15-5.5v3.3v(minus)(tick)(tick)
Senserion SHT8x0x44
SHT85
(68)
69

SHT852.15-5.5v

3.3v(minus)(tick)(tick)
Meas(1) HTU21D0x40
(64)
HTU21D1.5v-3.6v3v(tick)(tick)(minus)
Silicon Labs Si70210x40
(64)
pdf1.9v-3.
3v
6v-(minus)(tick)(minus)
Bosch(2) BMEx800x76
(118)0x77
(119)
280,
6801.71v-3.
3vTi(3) HDC10800x4064pdf3.3vAOSONG DHT120x5C92*pdf3.3vAOSONG AM23200x5C920xB8 ?*pdf5v

1 TE Connectivity Measurement Specialties

Texas Instruments

3 Bosch Sensortec

Multiplexer Lines

...

i2c Scan

Code Block
Port:0  i2c addr 64  i2c addr 68  i2c addr 119
Port:1  i2c addr 64  i2c addr 68  i2c addr 119
Port:2  i2c addr 64  i2c addr 68  i2c addr 118
Port:3  i2c addr 64  i2c addr 68  i2c addr 118
Port:4  i2c addr 64  i2c addr 68  i2c addr 118
Port:5  i2c addr 64  i2c addr 68  i2c addr 92  i2c addr 118
Port:6  i2c addr 64  i2c addr 68  i2c addr 92  i2c addr 118
Port:7  i2c addr 64  i2c addr 68  i2c addr 92

Hardware in use

  1. Mega2560 keyestudio
  2. LCD 3.5 inch Arduino Mega2560
  3. DFRobot i2c multiplexer (or compatible ShangSi MoudleCX TCA9548A i2c multiplexer)
  4. Sensors (DHT11, SHT21, SHT20, SHT25, HTU21D, SHT30, SHT31, SHT35, SHT85, BME280, BME680)

Draft sketch

Libraries

  • UTFT
  • Sodaq_SHT2x
  • DFRobot_I2CMultiplexer

...

6v1.8v(tick)(tick)(minus)
Bosch(2) BME2800x76 (118)0x77 (119)2801.71v-3.6v1.8v(tick)(tick)(minus)
Ti(3) HDC10800x40 (64)
pdf2.7v-5.5v3v(minus)(tick)(tick)
Ti(3) HDC20800x40 (64)0x41 (65)pdf1.62v-3.6v-(tick)(tick)(minus)
AOSONG DHT120x5C (92)
*pdf2.7-5.5v5v(minus)(tick)(tick)
AOSONG AM23200x5C (92)
*pdf3.1-5.5v5v(minus)(minus)(tick)

1 TE Connectivity Measurement Specialties

2Bosch Sensortec

3 Texas Instruments

** some sensors board have voltage regulators and level converter (and may support voltages above mentioned in sensor datasheet)

Draft schematic

Image Added

Versions

v1

  • Single multiplexer breadboard draft project with 26 Sensors

v2

  • Use less wires and more soldering and connectors
  • SD data logging (with filenames auto increment)
  • Add more columns to the screen

v3

  • Use 3+ multiplexers to include twice more sensors (incl. hdc1080 and Si7021, SHT85)
  • Add more SHT85 sensors to see results repeatability (for the most expensive sensor)
  • remove some libraries (multiplexor, sensor reading) not compatible with multiple mux projects
  • substitute i2c scan every cycle with pre-defined array processing
  • (Hardware) i2c 3.3v/5v level converter
  • (Hardware) 2500mAh battery with related circuits
  • (Hardware) New case, 
  • (Hardware) New 2m wire between the main unit and the board
  • (Hardware) New plastic shields for connectors

v4 - failed

  • AHT10 sensors (both wiring and code needed) - fail
  • Change board wiring for new Adafruit sensors
  • replace DHT12 with additional BME280
  • Change board sensors (HDC1080 to HTU21d)

v5

  • New board for both mux and sensors with fewer wires and connectors 
  • Wire new additional 5v sensor board with mux #4
  • AM23020 5v sensors and code
  • HDC1080 moved to 5v additional board
  • Separate AHT10 to additional multiplexor (mux #5)

v6 - unstable

  • AHT15 sensors (AHT10 code reuse)
  • HDC2080 sensors and code
  • connect and enable mux #6

v7 - unstable

  • hardware RTC clock
  • SD files with correct timestamps

v8 - unstable

  • Updated Power circuit
  • i2c voltage converter board and new wiring
  • SHTC1 and SHTC3 sensors added
  • mux #1 address changed (to solve i2c address conflict)
  • 2x BME680 removed (to solve i2c address conflict)
  • 1x BME280 removed (to solve i2c address conflict)
  • DHT12 sensors added instead of three BMEx80 (8a)
  • ChipCap Sensor added instead of DHT12 (8b)

v9 - current

v10 - abandoned

  • code optimization
  • trend visualization
  • hardware controls
  • menu options (like format SD card)
  • got some kind of home-made "calibration" tests with resolutions

v10-AHT

  • New small density sensor boar
  • AHT10, AHT20, AHT21, AHT25 sensors only
  • exclude voltage conversion (that is why AHT15 is missing)
  • a single sensor on one i2c multiplexer lane
  • Single read for temperature and humidity data for AHT
  • simplified code to support only AHT type of sensors