#include <DHTesp.h>
DHTesp dhtSensor;
const int DHT_PIN = 15;
const int dataPin = 2;
const int clockPin = 0;
const int latchPin = 4;
int temperature = 0;
int humidity = 0;
int ledState = 0;
void setup() {
Serial.begin(115200);
dhtSensor.setup(DHT_PIN, DHTesp::DHT22);
pinMode(dataPin, OUTPUT);
pinMode(clockPin, OUTPUT);
pinMode(latchPin, OUTPUT);
}
void loop() {
TempAndHumidity data = dhtSensor.getTempAndHumidity();
temperature = int(data.temperature);
humidity = int(data.humidity);
Serial.print("Temperature: ");
Serial.print(temperature);
Serial.println(" °C");
Serial.print("Humidity: ");
Serial.print(humidity);
Serial.println(" %");
int ledIndex = map(temperature, 20, 40, 0, 7);
ledIndex = constrain(ledIndex, 0, 7);
ledState = 1 << ledIndex;
digitalWrite(latchPin, LOW);
shiftOut(dataPin, clockPin, LSBFIRST, ledState);
digitalWrite(latchPin, HIGH);
delay(2000);
}