LILYGO T-Display-S3 (ESP32), TCA9548A and AHT20 Sensors

Hola! Estoy tratando de leer varios sensores de temperatura y humedad, para ello tengo una placa LILYGO T-Display-S3, un multiplexor TCA9548A y par de sensores Adafruit AHT20...

Estoy tratando de inicializar los sensores, pero se que queda colgado el programa en ese punto... He intentado varias cosas y no logro que pase de ahí... A continuación, les subo el código para ver si tienen alguna idea de por donde seguir buscando la solución:

#include <Wire.h>
#include <Adafruit_Sensor.h>
#include <Adafruit_AHTX0.h>

#define TCAADDR 0x70

uint8_t dataPin = 43;
uint8_t clockPin = 44;

Adafruit_AHTX0 dev0;
Adafruit_AHTX0 dev1;

Adafruit_Sensor *sens0Humd, *sens0Temp;
Adafruit_Sensor *sens1Humd, *sens1Temp;

void tcaselect(uint8_t i) {
  Serial.println("Trying to select channel from TCA9548A.");
  if (i > 7) return;
  Wire.setPins(dataPin, clockPin);
  Wire.beginTransmission(TCAADDR);
  Wire.write(1 << i);
  Wire.endTransmission();
  Serial.println("Channel TCA9548A selected.");  
}


void setup(void) {
  Serial.begin(9600);
  Serial.println("--> Setup");
  Serial.println("Initializing sensors...");

  /* Initialise the 1st sensor */
  tcaselect(0);
  Serial.println("Starting Device 0.");
  if(!dev0.begin()){
    Serial.println("Ooops, no sensor detected ... Check your wiring!");
  } else {
    Serial.println("Sensor successfully initialized!");
  }
  
  /* Initialise the 2nd sensor */
  tcaselect(1);
  Serial.println("Starting Device 1.");
  if(!dev1.begin()){
    Serial.println("Ooops, no sensor detected ... Check your wiring!");
  } else {
    Serial.println("Sensor successfully initialized!");
  }
  
  /* Display some basic information on this sensor */
  tcaselect(0);
  sens0Humd = dev0.getHumiditySensor();
  sens0Humd->printSensorDetails();
  sens0Temp = dev0.getTemperatureSensor();
  sens0Temp->printSensorDetails();
  
  tcaselect(1);
  sens1Humd = dev1.getHumiditySensor();
  sens1Humd->printSensorDetails();
  sens1Temp = dev1.getTemperatureSensor();
  sens1Temp->printSensorDetails();
}

void loop(void) {

}

Aquí está lo que me devuelve vía mesajes por el puerto serie...

11:13:45.144 -> ESP-ROM:esp32s3-20210327
11:13:45.144 -> --> Setup
11:13:45.144 -> Initializing sensors...
11:13:45.144 -> Trying to select channel from TCA9548A.
11:13:45.144 -> Channel TCA9548A selected.
11:13:45.144 -> Starting Device 0.

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.