MCP9808 precision temperature con ESP32

Alimentazione 3.3-5 V Bus I2C Indirizzo I2C 0x18 / 0x19 / 0x1A / 0x1B / 0x1C / 0x1D / 0x1E / 0x1F Misura temperatura
VDDGNDSCLSDAALERTA2A1A0

Pin e collegamento all’ESP32

PinRuoloPin ESP32Note
VDDAlimentazione3V3
GNDMassaGND
SCLClock I2C (SCL)D22
SDADati I2C (SDA)D21
ALERTInterruptD35Alert output (open drain), optional
A2Non collegato all’ESP32—Address bit 2. Pulled LOW on the board
A1Non collegato all’ESP32—Address bit 1. Pulled LOW on the board
A0Non collegato all’ESP32—Address bit 0. Pulled LOW on the board (0x18)

Collegamento consigliato per l’ESP32 DevKit a 30 pin, evitando i pin della flash, di sola lettura e di strapping. BoardPilot lo controlla mentre colleghi.

Verifica che sia il chip originale

Leggi il registro 0x07: un componente originale risponde 0x04. BoardPilot lo fa da solo in “Risolvi un problema”.

Codice di partenza (Arduino)

#include <Wire.h>

void setup() {
  Serial.begin(115200);
  Wire.begin(21, 22);  // SDA = GPIO 21, SCL = GPIO 22
  Wire.beginTransmission(0x18);
  bool found = Wire.endTransmission() == 0;
  Serial.println(found ? "MCP9808 precision temperature found at 0x18" : "Not found: check power, GND and SDA/SCL");
}

void loop() {}

Fonti

Provalo in 3D in BoardPilot

BoardPilot Dati del componente (JSON)

Componenti simili

Dati dei componenti: CC BY 4.0, riutilizzabili citando BoardPilot.