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.
Preparation
Use of same sensor on i2c usually limited by 1 or 2 (using ALT i2c address) of same type. And SHT20, SHT21, SHT25, HTU21 is actually same type, so to be able to compare measurement there is need to use i2c multiplexer. In case of 8 line multiplexer there is possibility to have 8-16 sensor of same time to be connected with Arduino.
Sensor i2c addresses and voltages
to divide between multiplexers
Sensor | address | alt address | spec | Vmin-Vmax | Vtyp | 3.3v | 5v** |
---|---|---|---|---|---|---|---|
AOSONG AHT10 | 0x38 (62) | 0x39 (63) | 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 | ||||
AOSONG DHT12 | 0x5C (92) | 2.7-5.5v | 5v | ||||
AOSONG AM2320 | 0x5C (92) | 0xB8 ? | 3.1-5.5v | 5v |
1 TE Connectivity Measurement Specialties
2 Texas Instruments
3 Bosch Sensortec
** 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 auto new filenames for each test)
- 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 repitability (for most expensive sensor)
- remove some libraries (multiplexor, sensor reading) not compatible to multiple mux projects
- substitute i2c scan every cycle with pre-defined aray proccessing
- (Hardware) i2c 3.3v/5v level converter
- (Hardware) 2500mAh battery with related circuits
- (Hardware) New case,
- (Hardware) New 2m wire between main unit and the board
- (Hardware) New plastic shields for connectors
Plan
v4
- New type of sensor: AHT10 (both wiring and code needed)
- Change board wiring for new Adafruit sensors
- replace DHT12 with additional BME280
- Wire new additional 5v sensor board with mux#4
- ? Change board sensors (HDC1080 to HTU21d)
- ? Move HDC1080 to 5v additional board
- New type of sensor: DHT22 (both wiring and code needed)
- ? data visualisation
v5
- add non-i2c sensors like DHT11 and AM2302
- make some additional screen modes and control buttons
v6
- code optimisation
- got some kind of home-made "calibration" tests with resolutions
- publish final electric scheme, sketch, results