4 Replies Latest reply on Aug 15, 2016 9:45 AM by Intel Corporation

    MLX90614

    FShiwani

      I've recently acquired an MLX90614 sensor pre-attached to a breakout board to which i soldered headers for SCL,SCA,VCC and GND. I'm using the Galileo with the Arduino IDE. I'm also using Adafruit's MLX90614 library. I've attached SCL to A5 and SDA to A4. My particular sensor with the breakout board apparently supports both 3.3V and 5V. There is a LED indicator on the sensor so it is getting power fine. I'm using the example Adafruit code for it. It compiles and uploads fine. However I'm getting constant useless values. The serial monitor is reporting:

       

      Ambient = 1037.55*C Object = 1037.55*C

      Ambient = 1899.59*F Object = 1899.59*F

       

       

      /*************************************************** 
        This is a library example for the MLX90614 Temp Sensor
      
      
        Designed specifically to work with the MLX90614 sensors in the
        adafruit shop
        ----> https://www.adafruit.com/products/1748
        ----> https://www.adafruit.com/products/1749
      
      
        These sensors use I2C to communicate, 2 pins are required to  
        interface
        Adafruit invests time and resources providing this open source code, 
        please support Adafruit and open-source hardware by purchasing 
        products from Adafruit!
      
      
        Written by Limor Fried/Ladyada for Adafruit Industries.  
        BSD license, all text above must be included in any redistribution
       ****************************************************/
      
      
      #include <Wire.h>
      #include <Adafruit_MLX90614.h>
      
      
      Adafruit_MLX90614 mlx = Adafruit_MLX90614();
      
      
      void setup() {
        Serial.begin(9600);
      
      
        Serial.println("Adafruit MLX90614 test");  
      
      
        mlx.begin();  
      }
      
      
      void loop() {
        Serial.print("Ambient = "); Serial.print(mlx.readAmbientTempC()); 
        Serial.print("*C\tObject = "); Serial.print(mlx.readObjectTempC()); Serial.println("*C");
        Serial.print("Ambient = "); Serial.print(mlx.readAmbientTempF()); 
        Serial.print("*F\tObject = "); Serial.print(mlx.readObjectTempF()); Serial.println("*F");
      
      
        Serial.println();
        delay(500);
      }
      

       

       

       

       

      Adafruit: https://learn.adafruit.com/using-melexis-mlx90614-non-contact-sensors/wiring-and-test

        • 1. Re: MLX90614
          FGT

          Hi FShiwani,

           

          The wire library does not work in Intel Galileo IIRC...

           

          Are you powering the module with 3.3 or 5v? About

          There is a LED indicator on the sensor so it is getting power fine.

          Take into account that a LED usually indicates "some" power, not necessarilly enough for the module. I've used a HC-05 and it failed with 3.3v even when the LED was on.

           

          Fernando.

          • 2. Re: MLX90614
            FShiwani

            I tried with 5V as well, same issue. Are you sure the wire library doesn't work, I've seen some threads saying it does work

             

            Looking for I2C example

            Does the Wire library work on Galileo?

             

            Are there any alternatives to the wire library for I2C communication with the Galileo?

            • 3. Re: MLX90614
              Intel Corporation
              This message was posted on behalf of Intel Corporation

              Hi Fshiwani,

              Some time ago another user reported issues with this sensor when using it with Galileo. As you can see in this thread: https://communities.intel.com/message/222253#222253, it's a speed issue with the Galileo's I/Os. The sketch seems to be fine, however the issue is not at software level but at hardware level.

              You can also try to upload the sketch attached below (I2CScanDevices) just to check if your device is at least recognized by the board. If it's recognized, then the issue could be related to the example code or the library used and it might be fixed, but if the device is not recognized, I'm afraid the issue is because of the Galileo's I/O.

              Hope you find this information useful.

              Regards,
              -Diego

              • 4. Re: MLX90614
                Intel Corporation
                This message was posted on behalf of Intel Corporation

                Hello Fshiwani,

                I'd like to know if you have updates on this.

                Regards,
                -Diego