#include <Wire.h>
#include <Adafruit_GFX.h>
#include <Adafruit_SSD1306.h>
#include "DHT.h"

#include <LiquidCrystal_I2C.h>
#define DHTPIN 3    
#define DHTTYPE DHT22   
#define OLED_RESET -1 
#define SCREEN_ADDRESS 0x3C
#define SCREEN_WIDTH 128
#define SCREEN_HEIGHT 64
LiquidCrystal_I2C lcd2(0x27, 16, 2);
#include <LiquidCrystal.h>
unsigned long period=100;
unsigned long last_time=0;
 LiquidCrystal lcd1(8, 9, 4, 5, 6, 7);
Adafruit_SSD1306 oled(SCREEN_WIDTH, SCREEN_HEIGHT, &Wire, OLED_RESET);
DHT dht(DHTPIN, DHTTYPE);

void setup() {
  dht.begin();
  oled.begin(SSD1306_EXTERNALVCC,0x3C);
 lcd1.begin(16, 2);
lcd2.begin(16, 2);  
 //  lcd.begin(0x27, 16, 2);
lcd2.init();  // 初始化LCD
lcd2.backlight(); // 设置LCD背景灯亮
//lcd2.clear()
    
 

  oled.clearDisplay(); 
  oled.setTextSize(1);        
  oled.setTextColor(WHITE);    
  oled.setCursor(10,20);  
  oled.println("TEMP and HUMIDITY"); 
  oled.setCursor(10,30);  
  oled.println("MONITORING DEVICE"); 
  oled.display(); 
  delay(2000);             
}
void loop() {
  float temperature = dht.readTemperature();
  float humidity = dht.readHumidity();
 

  oled.clearDisplay(); 
  oled.setTextSize(1.8);        
  oled.setTextColor(WHITE);
  oled.setCursor(0,0);      
  oled.print("Temperature = "); 
  oled.println(temperature);
  oled.print("Humidity = "); 
  oled.println(humidity);
  oled.display(); 
//  delay(2000);

  lcd1.setCursor(0, 0);
lcd1.print("Temperature="); 
lcd1.setCursor(12, 0);
lcd1.print(temperature);
lcd1.setCursor(0, 2);
lcd1.print("Humidity = "); 
lcd1.setCursor(12, 2);
lcd1.print(humidity);


  lcd2.setCursor(0, 0);
lcd2.print("Temperature="); 
lcd2.setCursor(12, 0);
lcd2.print(temperature);
lcd2.setCursor(0, 1);
lcd2.print("Humidity = "); 
lcd2.setCursor(12, 1);
lcd2.print(humidity);

}