I bought a SunAirPlus to feed my weather station. It is a DIY with SDS dust sensor, BME280 pressure sensor, HTU21 temp/humidity sensor, BH1750 luminosity sensor and some onewire devices.
All works fine, except the HTU21 has an i2c address of 0x40 as does the SAP :-(
Now my two questions:
1. When i scan the i2c bus with only the SAP connected it shows 0x40 and 0x48 ? Does it have two addresses, or is that a bug in detection sketch i use ?
2. Can the 0x40 address of SAP be changed ? In another thread you suggested looking at the INA3221 doc from TI. I know that it can be changed on the INA3221 and i think you give the possibility on your own INA3221 breakout board. Is there also a possibility on the SAP ?
It would be a pity if i couldn't use the informations given by the SAP to detect battery charge e.t.c.
That is a great suggestion for the IN3221A. It is touchy, but can be done. On the next rev of the board, we will bring out A0.
We now use the HDC1080 board for inside humidity and temperature. The problem with the BME chips on the board is that we pick up heating from the board. Not too much on the WeatherBoard, but a lot on the WeatherPlus Board.
Interesting suggestion. I read temperature and humidity from BME280 as well. But i had in my mind that HTU21 was superior for temp and humidity. If that is not true then of course i will change my MQTT published to use the BME values ... I'll double check data sheets. There is quite a difference between the HTU and the BME. Sometimes up to 1 degree for temperature.I know that the IN3221A can have 4 different addresses, that's why i asked how to change it on the SAP board. But i understand this is not intended on this board.
29.01.2019 18:53:08 weather-station-01: HTU21: Humidity = 32.93 % - Temperature = 20.81 °C 29.01.2019 18:53:08 weather-station-01: BME280: Pressure = 964.55 hPa - Temperature = 20.70 °C - Humidity = 30.10 %
0x40 is the INA3221. 0x48 is the on board ADC ADS1015.
The 0x40 can not be changed.
What about the 0x48 ? Can that be changed? If I have two boards (SunControl or SunAirPlus) and both have their ADS1015 on 0x48 does that mean I can only write to the ADS1015 but not (reliably) read from it?
Since the ADS1015 doesn't seem to be needed in the default use case, do I even need to worry?