#include <Wire.h> // Include the Wire library for I2C communication
#include <LiquidCrystal_I2C.h>
#include <Bonezegei_DHT22.h>
// Define the pin for the DHT22 sensor
#define DHT_PIN 13
// Initialize LCD displays
LiquidCrystal_I2C LCD = LiquidCrystal_I2C(0x27, 16, 2); // Address 0x27, 16 columns, 2 rows
LiquidCrystal_I2C LCD2 = LiquidCrystal_I2C(0x27, 16, 2); // Address 0x26, 16 columns, 2 rows
Bonezegei_DHT22 dht(13); // Using pin 14 for DHT22
void setup() {
Serial.begin(115200);
dht.begin();
// Initialize LCD displays
LCD.init();
LCD.backlight();
LCD2.init();
LCD2.backlight();
}
void loop() {
if (dht.getData()) { // Check if data is received from DHT22
float temperature = dht.getTemperature(); // Get temperature in Celsius
float humidity = dht.getHumidity(); // Get humidity
// Display temperature on LCD1
LCD.clear();
LCD.setCursor(0,0);
LCD.print(String(temperature) + " C");
delay(2000);
// Display humidity on LCD2
LCD2.clear();
LCD2.setCursor(1,1);
LCD2.print(String(humidity) + " %");
Serial.printf("Temperature: %0.1f°C Humidity: %d%%\n", temperature, humidity);
} else {
Serial.println("Failed to read from DHT sensor!");
}
delay(2000); // Adjust delay according to your preference
}