Project Goal
To create Arduino based device to compare data for as much 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 need to use i2c multiplexer. In the case of 8 line multiplexer, there is a possibility to have 8-16 sensor of the same time to be connected with Arduino.
Sensor i2c addresses and voltages
to divide between multiplexers
Sensor | address | alt address | spec | Vmin-Vmax | Vtyp | 1.8v | 3.3v | 5v** |
---|---|---|---|---|---|---|---|---|
AOSONG AHT10 | 0x38 (62) | 0x39 (63) | 1.8-3.6v | 3.3v | ||||
AOSONG AHT15 | 0x38 (62) | 1.8-3.6v | 3.3v | |||||
Senserion SHT2x | 0x40 (64) | 0x41 (65) | 20,21,25 | 2.1-3.6v | 3v | |||
Senserion SHT3x | 0x44 (68) | 0x45 (69) | SHT3x | 2.15-5.5v | 3.3v | |||
Senserion SHT8x | 0x44 (68) | SHT85 | 2.15-5.5v | 3.3v | ||||
Meas(1) HTU21D | 0x40 (64) | HTU21D | 1.5v-3.6v | 3v | ||||
Silicon Labs Si7021 | 0x40 (64) | 1.9v-3.6v | - | |||||
Bosch(2) BMEx80 | 0x76 (118) | 0x77 (119) | 680 | 1.71v-3.6v | 1.8v | |||
Bosch(2) BME280 | 0x76 (118) | 0x77 (119) | 280 | 1.71v-3.6v | 1.8v | |||
Ti(3) HDC1080 | 0x40 (64) | 2.7v-5.5v | 3v | |||||
Ti(3) HDC2080 | 0x40 (64) | 0x41 (65) | 1.62v-3.6v | - | ||||
AOSONG DHT12 | 0x5C (92) | 2.7-5.5v | 5v | |||||
AOSONG AM2320 | 0x5C (92) | 3.1-5.5v | 5v |
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
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 - current
- 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
- code optimization
- trend visualization
- hardware controls
- menu options (like format SD card)
- got some kind of home-made "calibration" tests with resolutions
- fan
- publish final electric scheme, sketch, results