Forum Rule: Always post complete source code & details to reproduce any issue!
Results 1 to 3 of 3

Thread: Teensy 3.6 not detecting MCP9808 sensor

  1. #1

    Teensy 3.6 not detecting MCP9808 sensor

    Hi here is the code being used for this. Everytime I try to run the code it confirms code is on teensy board but cannot find the sensor. I tried this same sensor on an arduino Uno using same code and it works instantly. The pinout is pins 18 and 19 on teensy for the SCL and SDA and then on the Uno the pins are A4 and A5. What gives?

    #include <Wire.h>
    #include "Adafruit_MCP9808.h"

    // Create the MCP9808 temperature sensor object
    Adafruit_MCP9808 tempsensor = Adafruit_MCP9808();

    void setup() {
    Serial.begin(9600);
    while (!Serial); //waits for serial terminal to be open, necessary in newer arduino boards.
    Serial.println("MCP9808 demo");

    // Make sure the sensor is found, you can also pass in a different i2c
    // address with tempsensor.begin(0x19) for example, also can be left in blank for default address use
    // Also there is a table with all addres possible for this sensor, you can connect multiple sensors
    // to the same i2c bus, just configure each sensor with a different address and define multiple objects for that
    // A2 A1 A0 address
    // 0 0 0 0x18 this is the default address
    // 0 0 1 0x19
    // 0 1 0 0x1A
    // 0 1 1 0x1B
    // 1 0 0 0x1C
    // 1 0 1 0x1D
    // 1 1 0 0x1E
    // 1 1 1 0x1F
    if (!tempsensor.begin(0x18)) {
    Serial.println("Couldn't find MCP9808! Check your connections and verify the address is correct.");
    while (1);
    }

    Serial.println("Found MCP9808!");

    tempsensor.setResolution(3); // sets the resolution mode of reading, the modes are defined in the table bellow:
    // Mode Resolution SampleTime
    // 0 0.5C 30 ms
    // 1 0.25C 65 ms
    // 2 0.125C 130 ms
    // 3 0.0625C 250 ms
    }

    void loop() {
    Serial.println("wake up MCP9808.... "); // wake up MCP9808 - power consumption ~200 mikro Ampere
    tempsensor.wake(); // wake up, ready to read!

    // Read and print out the temperature, also shows the resolution mode used for reading.
    Serial.print("Resolution in mode: ");
    Serial.println (tempsensor.getResolution());
    float c = tempsensor.readTempC();
    float f = tempsensor.readTempF();
    Serial.print("Temp: ");
    Serial.print(c, 4); Serial.print("*C\t and ");
    Serial.print(f, 4); Serial.println("*F.");

    delay(2000);
    Serial.println("Shutdown MCP9808.... ");
    tempsensor.shutdown_wake(1); // shutdown MSP9808 - power consumption ~0.1 mikro Ampere, stops temperature sampling
    Serial.println("");
    delay(200);
    }

  2. #2
    Some information is missing: 1) Is there a common ground connection that you didn't mention? 2) What about pullup resistors?

  3. #3
    Quote Originally Posted by UhClem View Post
    Some information is missing: 1) Is there a common ground connection that you didn't mention? 2) What about pullup resistors?
    Common ground is fine so is power supply

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •