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
}