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.
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
Sensor | address | alt address | spec |
---|
VSHT8569 | 3v,680.3v3v3.3v0xB8 ? | 1 TE Connectivity Measurement Specialties
2 Texas Instruments
3 Bosch Sensortec
...
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
- AHT20 instead of AHT10
- two HIH7120 added (code reused from CC2D33)
- 3 fan added
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