#include <Arduino.h>
int button_pin = 2;
bool button_press = false;
int menu = 0;
#include "DHTesp.h"
#include <LiquidCrystal_I2C.h>
#define I2C_ADDR 0x27
#define LCD_COLUMNS 20
#define LCD_LINES 4
LiquidCrystal_I2C lcd(I2C_ADDR, LCD_COLUMNS, LCD_LINES);
const int DHT_PIN = 15;
DHTesp dhtSensor;
void setup() {
Serial.begin(115200);
Serial.println("Hello");
pinMode(button_pin, INPUT);
lcd.init();
lcd.backlight();
lcd.print("Hello");
lcd.setCursor(0, 1);
lcd.print("I'm PhacPhac");
dhtSensor.setup(DHT_PIN, DHTesp::DHT22);
}
void loop() {
TempAndHumidity data = dhtSensor.getTempAndHumidity();
String f,h;
f = String(data.temperature, 2);
h = String(data.humidity, 1);
int button_state = digitalRead(button_pin);
if (button_state == HIGH && !button_press) {
delay(50);
if (button_state == HIGH) {
button_press = true;
menu++;
if (menu > 2) {
menu = 1;
}
Serial.print("menu : ");
Serial.println(menu);
lcd.print("Job2-Button");
Serial.println("Job2-Button");
if (menu == 1) {
lcd.setCursor(0, 0);
lcd.print("Job2-Button");
Serial.println("Job2-Button");
lcd.setCursor(0, 1);
lcd.print("Temp: " + String(data.temperature, 2) + "°C ");
Serial.println("Temp: " + String(data.temperature, 2) + "°C");
} else if (menu == 2) {
lcd.setCursor(0, 0);
lcd.print("Job2-Button");
Serial.println("Job2-Button");
lcd.setCursor(0, 1);
lcd.print("Humidity: " + String(data.humidity, 1) + "% ");
Serial.println("Humidity: " + String(data.humidity, 1) + "%");
}
}
} else if (button_state == LOW) {
button_press = false;
}
delay(50);
}