TCA9548 et afficheurs OLED SSD1306

Merci pour ta réponse. Effectivement, je me suis donné intuitivement la même réponse que toi, mais je n'ai néanmoins par réussi à faire fonctionner l'ensemble.

Est-il nécessaire de faire une déclaration particulière "d'objets", par exemple ?

Pour le moment, j'ai simplement tenté d'envoyer une instruction de sélection du port à utiliser, avec une fonction "tcaselect", comme suit :

 #define TCAADDR 0x70

void tcaselect(uint8_t i) {
  if (i > 7) return;
 
  Wire.beginTransmission(TCAADDR);
  Wire.write(1 << i);
  Wire.endTransmission();  
}

Puis :

 void setup()   {   
  char mot[]="Hello !";    
  printscreen1(mot);         
}

void printscreen1(char * c)   {  
  tcaselect(1);              
  Serial.begin(9600);
  display.begin(SSD1306_SWITCHCAPVCC, 0x3C);  // initialize with the I2C addr 0x3D (for the 128x64)
  display.clearDisplay();
  display.setTextSize(2);
  display.setTextColor(WHITE);
  display.setCursor(15,25);
  display.println(c);
  display.display();
  delay(2000);
  display.clearDisplay();
}

Voilà, évidemment ça ne fonctionne pas, j'imagine que ça serait trop simple de cette façon ! :slight_smile:
J'ai également tenté de changer l'adresse du display, en mettant celle du multiplexeur à la place (0x70 à la place de 0x3C, dans le code ci-dessus, ainsi que dans le fichier .h de la librairie SSD1306), mais ça ne fonctionne pas mieux...