MS8607 temp, humidity and pressure sensor having issues

Hi CE commnunity,

I have the MS8607 temperature, humidity and pressure sensor,  also I have the  CE Screw Terminal Breakout Board for Particle Photon With Power Supply, I am using the MS8607 sample code  posted here on the CE web site with some minor modification.  After some minutes, the sensor goes banana. It shows all kind of senseless numbers.  One peace of data that remains OK is the humidity, the temp and pressure are all wrong.  

Any idea?

Thank you,

Alex 

 

Topics: 
T

Hi Alex,

So the code seems to run ok for a while giving accurate temperature, humidity, and pressure readings but then the readings become inaccurate?  Any idea how long it runs before this happnes(minutes, hours, days, etc)?

I

 

Thank you, Travis, for your reply. The code runs may be an hour or less. I checked everything, power supply, pull-up resistor jumper, etc., still I keep getting the same result. I also have the CE SHT25 , this one runs solid. 

 

 

 

T

Hi,

I will try to setup a test here at my desk this afternoon to see what I can find out.

I

Did you find anything, Travis?

T

Hi,

I attempted to test a board I have here.  The issue is this chip should show up on the I2C bus with two addresses.  Temperature and Pressure is monitored through one address and humidity is monitored through the other.

What are you connecting this sensor to?  Raspberry Pi, Particle module, Arduino, etc?

Thank you,

Travis Elliott

I

Travis, 

I am using one of your boards for the Photon, and your example code, like I said, with minors modification, I did not change the addresses. 

 

Alex

T

Hi Alex,

I would like to determine if both addresses are mounting to the I2C bus.

Flash this application to the Photon module:

 

int LED = D7;

void setup() {
    //Set the speed of the I2C port on the Photon and start it.
    Wire.begin(); 
    pinMode(LED, OUTPUT);
}

void loop() {
    bool devicesFound = false;
    String newDevices;
    //Step through all 127 possible I2C addresses to scan for devices on the I2C bus.
    for(int i = 1; i < 128; i++){
        //Make a general call to device at the current address to see if anything responds.
        Wire.beginTransmission(i);
        byte status = Wire.endTransmission();
        if(status == 0){
            //Device found so append it to our device list event string
            char devices[20];
            sprintf(devices, "Device at: %i\n", i);
            digitalWrite(LED, HIGH);
            delay(50);
            digitalWrite(LED, LOW);
            newDevices.concat(devices);
            devicesFound = true;
        }
        
    }
    if(devicesFound){
        Serial.println(newDevices);
        Particle.publish("New Devices", newDevices);
    }else{
        Serial.println("No Devices Found");
        Particle.publish("New Devices", "No Devices Found");
    }
    
    delay(2000);
}

Once you have flashed that go to https://console.particle.io/logs  Here you should see events published which will tell you what address's are mounted to the I2C bus of the Photon module.  Can you tell me what you find there?

Thank you,

Travis Elliott

 

B

Hi,

once you scan the i2c port and find both addresses over there. 

use this Arduino lib( will need few minor edits to make it work with photon)

MS86-7 arduino lib

Thanks