Multiplos sensores BMP280 com Uno via SPI

Eu preciso conectar três dispositivos BMP280 (pressão atmosférica) com um Arduino Uno (com LCD 16x2).

BMP280 Digital Pressure (1)

Eu conectei o Uno no LCD via IIC (módulo LCM1602), nos pinos A4 e A5; está Ok.

Eu conectei os três BMP280 ao Arduino via SPI, como demonstrado no esquema visto abaixo:
Arduino pino. . . . . .BMP280 (1). . BMP280 (2). . BMP280 (3)
D13 (SCLK). . . . . . .SCL. . . . . . . . . SCL. . . . . . . . . SCL
D12 (MISO). . . . . . .SDO. . . . . . . . .SDO. . . . . . . . . SDO
D11 (MOSI). . . . . . .SDA. . . . . . . . .SDA. . . . . . . . . SDA
D10 (ss1). . . . . . . . CSB
D9 (ss2). . . . . . … . . . . . … . . . . . … CSB
D8 (ss3). . . . . . … . . . . . … . . . . . … . . . . . … . . . . . . .CSB

Isto parece congruente com a teoria da comunicação SPI.

Comunicação, SPI - multiple devices (Independent slave configuration)

Agora a dificuldade é encontrar a biblioteca que permita múltiplos dispositivos conectados via SPI para:

  1. Uno recebe dados de BMP280 (1), apresenta no LCD;
  2. Uno recebe dados de BMP280 (2), apresenta no LCD;
  3. Uno recebe dados de BMP280 (3), apresenta no LCD;

As três bibliotecas BMP280 encontradas são fracamente documentadas e não demonstram terem recursos para múltiplos dispositivos:

  • Adafruit_BMP280_Library
  • BMP280_DEV
  • BMP280_Grove

Eu tentei alternar:

  • digitalWrite(ss1, LOW) and digitalWrite(ss1, HIGH)
  • digitalWrite(ss2, LOW) and digitalWrite(ss2, HIGH)
  • digitalWrite(ss3, LOW) and digitalWrite(ss3, HIGH)
    e criar instancias diferentes para BMP(1), BMP(2) e BMP(3) mas não funcionou.

Existe farta demonstração na WEB de como conectar um sensor BMP280 ao Uno (ou ESP) mas eu não encontrei um que conectasse dois ou mais BMP280 via SPI ou IIC (I2C). Nos foruns, muita especulação mas nada de concreto.

Alguma sugestão?

A solução: