pullUp su MCP23017

Buon giorno,

sto usando un MCP23017, che è un expander I2C, collegato ad un ESP32 per leggere lo stato di 16 pulsanti e, abilitando il pullUp interno i valori cambiano a loro piacimento. Il codice che uso è questo:

#include <Adafruit_MCP23017.h>
Adafruit_MCP23017 mcp;

void setup() {
  Serial.begin(115200);
  mcp.begin(0);
  for (byte i = 0; i < 16; i++) {
    mcp.pinMode(i, INPUT);
    mcp.pullUp(i, HIGH);
  }
}


void loop() {
  String text = "";
  int i;
  for (i = 0; i < 17; i++ ) {
    text += String(!mcp.digitalRead(i)) + ".";
  }
  text += String(!mcp.digitalRead(i+1)) + "\r";
  Serial.println(text);
}

Per il bus I2C ho inserito due pullUp da 2K2 su SDA e SCL

Se qualcuno sa aiutarmi mi farebbe piacere.

Grazie in anticipo

Alan Masutti

Ciao non sono un gran esperto ma su I2c uso 4K7,

milefori:
Ciao non sono un gran esperto ma su I2c uso 4K7,

Ciao, io ho un I2C a 3,3 V e mi hanno detto di non superare i 2K7 di pull-up.

Comunque proverò con questo valore....

Grazie