Aquí te dejo un código de ejemplo para el ESP32 que lee la dirección y la temperatura de los sensores de temperatura Dallas 18B20 y muestra los datos en el monitor serial:

#include <OneWire.h>
#include <DallasTemperature.h>

// Definir el pin de datos
#define ONE_WIRE_BUS 18

// Instanciar el objeto OneWire
OneWire oneWire(ONE_WIRE_BUS);

// Instanciar el objeto DallasTemperature
DallasTemperature sensors(&oneWire);

void setup() {
  // Inicializar el monitor serial
  Serial.begin(9600);
  
  // Inicializar los sensores
  sensors.begin();
}

void loop() {
  // Leer la temperatura de todos los sensores
  sensors.requestTemperatures();

  // Imprimir los datos de cada sensor
  for (int i = 0; i < sensors.getDeviceCount(); i++) {
    // Obtener la dirección del sensor
    DeviceAddress address;
    sensors.getAddress(address, i);

    // Imprimir la dirección del sensor
    Serial.print("Sensor ");
    for (uint8_t j = 0; j < 8; j++) {
      if (address[j] < 16) Serial.print("0");
      Serial.print(address[j], HEX);
      if (j < 7) Serial.print(":");
    }

    // Obtener la temperatura del sensor
    float temperature = sensors.getTempC(address);

    // Imprimir la temperatura del sensor
    Serial.print(" - Temperatura: ");
    Serial.print(temperature);
    Serial.println("°C");
  }

  // Esperar un segundo antes de leer los sensores de nuevo
  delay(1000);
}

Este código utiliza la biblioteca OneWire y la biblioteca DallasTemperature para comunicarse con los sensores de temperatura. La dirección de cada sensor se muestra en formato hexadecimal y la temperatura se muestra en grados Celsius. Este código puede ser modificado para adaptarse a tu configuración de pines y número de sensores.
spam fails_task lang_mismatch pii not_appropriate hate_speech sexual_content quality toxicity humor helpfulness creativity violence