#include "DHT.h"

#define DHTPIN D8     // Pin where the DHT22 is connected
#define DHTTYPE DHT22   

#define redPin D2   // D2 pin on for red color
#define greenPin D3  // D3 pin on  for green color
#define bluePin D4   // D4 pin on  for blue color


DHT dht(DHTPIN, DHTTYPE);

void setup() {
  // put your setup code here, to run once:
  pinMode(redPin, OUTPUT);
  pinMode(greenPin, OUTPUT);
  pinMode(bluePin, OUTPUT);
  
  
  Serial.begin(115200);
  dht.begin();
  Serial.println("Hello, STM32!");
}

void loop() {
  // put your main code here, to run repeatedly:
  delay(2000); // Wait a few seconds between measurements.

  float temperature = dht.readTemperature();
  

  // Print temperature.
  Serial.print("Temperature: ");
  Serial.print(temperature);
  Serial.println(" °C");

  // Change LED color based on temperature ranges
  if (temperature < 20) { // If temperature is less than 20°C, make it blue
    digitalWrite(redPin, LOW);
    digitalWrite(greenPin, LOW);
    digitalWrite(bluePin, HIGH);
    
    
  } else if (temperature >= 20 && temperature <= 30) { // If temperature is between 20°C and 30°C, make it green
    digitalWrite(redPin, LOW);
    digitalWrite(greenPin, HIGH);
    digitalWrite(bluePin, LOW);
    
    
  } else { // If temperature is greater than 30°C, make it red and activate the buzzer
    digitalWrite(redPin, HIGH);
    digitalWrite(greenPin, LOW);
    digitalWrite(bluePin, LOW);
    
  }
}