Error utilizando la función lcd.cols

hola, estoy generando un código en el cuál se necesita imprimir la temperatura y humeda en una lcd 16x2, pero cada que voy a inicializar el código, me aparece un error por el uso de la función lcd.cols, asi que no se cómo cambiar el código o que librería insralar para corregir ese error, mi código es el siguiente:

#include <Wire.h>
#include <LiquidCrystal_I2C.h>
#include <DHT.h>

#define DHTPIN 9
#define DHTTYPE DHT11

// Define LED pins (uncomment if using LEDs)
//#define LED1PIN 10
//#define LED2PIN 11

DHT dht(DHTPIN, DHTTYPE);
LiquidCrystal_I2C lcd(0x27, 16, 2); // Address and size of LCD

const int textWidth =lcd_cols(16); // Get LCD width for scrolling

void scrollMessage(String message) {
  int spaces = (textWidth - message.length()) / 2;
  for (int i = 0; i < spaces; i++) {
    lcd.print(" ");
  }
  lcd.print(message);
  for (int i = 0; i < textWidth; i++) {
    lcd.scrollDisplayLeft();
    delay(450);
  }
}

void setup() {
  lcd.init();
  lcd.backlight();
  dht.begin();

  // LED setup (uncomment if using LEDs)
  //pinMode(LED1PIN, OUTPUT);
  //pinMode(LED2PIN, OUTPUT);

  lcd.clear();
  lcd.setCursor(7, 0);
  lcd.print("LCD");
  lcd.setCursor(1, 1);
  lcd.print("STEM-Proyecto");
  delay(5000);

  // Scroll messages (replace with your desired messages)
  scrollMessage(" curso : xx");
  scrollMessage(" Presentado por : xxxxxxx");
  scrollMessage("Para: xxxxxxxxxxxxxx");
  scrollMessage("El proyecto es sobre un cultivo de bacterias. ¿Que es? es el resultado de la siembra de microorganismos sobre medios nutritivos");
}

void loop() {
  float humidity = dht.readHumidity();
  float temperature = dht.readTemperature();

  // LED control based on temperature (uncomment if using LEDs)
  //if (temperature < 35) {
  //  digitalWrite(LED1PIN, HIGH);
  //  digitalWrite(LED2PIN, HIGH);
  //} else {
  //  digitalWrite(LED1PIN, LOW);
  //  digitalWrite(LED2PIN, LOW);
  //}

  lcd.clear(); // Clear for static temperature/humidity display
  lcd.setCursor(0, 0);
  lcd.print("Humedad: ");
  lcd.print(humidity);
  lcd.print("%");

  lcd.setCursor(0, 1);
  lcd.print("Temp: ");
  lcd.print(temperature);
  lcd.print("°C");

  delay(2000); // Adjust delay for temperature/humidity update
}

"lcd_cols" is not the same as "lcd.cols"

He trasladado su tema de una categoría de idioma inglés del foro a la categoría International > Español @m4j02010.

En adelante por favor usar la categoría apropiada a la lengua en que queráis publicar. Esto es importante para el uso responsable del foro, y esta explicado aquí la guía "How to get the best out of this forum".
Este guía contiene mucha información útil. Por favor leer.

De antemano, muchas gracias por cooperar.

Hi,
Tu mirastes el la libreria para ver si esa instrucciion esta disponible. Si te da un error es que esa instruccion no esta en la libreria.

¿Qué error te aparece?

Estás escribiendo lcd_cols en vez de lcd.cols
¿No será por eso?

Cambia

const int textWidth =lcd_cols(16); // Get LCD width for scrolling 

Por

const int textWidth = 16;

O dinos cuál versión de la librería LiquidCrystal_I2C estás usando porque ninguna de las más usadas tienen un tipo de variable lcd_cols ni función cols().