I picked up a couple Honeywell HIH-8120 SIP humidity sensors to use with an Arduino Uno. The sensors communicate via I
2C. All sensors ship with a default I
2C address of 0x27. So I need to modify the address of one of the sensors so I can differentiate between the two over I
2C.
The problem is that in order to change any settings on the sensor you have to put it into command mode first. From the time the sensor is first powered on you have a 3ms window to send the command mode instruction to the sensor, otherwise you can't get in and the sensor remains in "normal" mode.
I've tried to get into command mode but I don't believe I've been successful. The data I get back is all random garbage. My hypothesis is that I'm missing the 3ms window and then sending command mode instructions while the sensor is in normal mode causing it to return garbage data.
When the arduino is powered, it supplies power to it's rails almost immediately, before the boot sequence is complete. So I'm wondering if the sensor is being powered concurrently with the arduino but by the time the command entry code is sent to the sensor more than 3ms has elapsed since power on.
Anybody run into anything like this before?
Datasheet:
https://dl.dropboxusercontent.com/u/91808950/Honeywell%20HIH8000%20HumidIcon%20Sensor%20Datasheet.pdfI2C Communications Technical Note:
https://dl.dropboxusercontent.com/u/91808950/Honeywell%20HumidIcon%20I2C%20Comms.pdfCommand Mode Technical Note:
https://dl.dropboxusercontent.com/u/91808950/Honeywell%20HumidIcon%20Command%20Mode.pdf