#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);
}