#include <DHT.h>
#include <Arduino.h>
#define DHTTYPE DHT22
#define DHTPIN 16
DHT dht (DHTPIN , DHTTYPE);

#define BUZZER_PIN 14
#define PIN_RED 19
#define PIN_BLUE 17
#define PIN_GREEN 18
#define SWITCH_PIN 15



void setup() {
  // put your setup code here, to run once:
  Serial.begin(115200);
  dht.begin();
  pinMode(PIN_RED, OUTPUT);
  pinMode(PIN_GREEN, OUTPUT);
  pinMode(PIN_BLUE, OUTPUT);
  pinMode(BUZZER_PIN, OUTPUT);
  pinMode(SWITCH_PIN, INPUT); 

  setColor(0,0,0);
  digitalWrite(BUZZER_PIN, LOW);
}

 void setColor(int red,int green,int blue) // sets the pins to the colors red gren and blue
 {  
  analogWrite(PIN_RED,255- red);
  analogWrite(PIN_GREEN,255- green);
  analogWrite(PIN_BLUE,255- blue);
 }



void loop() {
  // put your main code here, to run repeatedly:
  delay(2000); // this speeds up the simulation
  
  float temperature = dht.readTemperature(); //set the temperatur value to a float
  float humidity = dht.readHumidity();// sets the humidity value as a float
 
 if (isnan(temperature))
 {
    Serial.println("Failed to read from DHT sensor");// prints an error message
    return;
 } 
 else if (isnan(humidity))
 {
    Serial.println("Failed to read from DHT sensor");// prints an error message
    return;
 }
 
if (humidity >= 90)
{
  tone(BUZZER_PIN  , 1000);
}
else
{
 noTone(BUZZER_PIN);
}

 if (humidity >= 30 && humidity <= 40)
  {
  setColor( 255,255,255); // white
  }
  else if (humidity >= 40 && humidity <=50 )
  {
  setColor(0,0,255); //blue
  }
  else if (humidity >= 50 && humidity <=60 )
  {
  setColor(0,255,0); //green
  }
  else if (humidity >= 60 && humidity <=70 )
  {
    setColor(255,255,0); //yellow
  }
  else if (humidity >= 70 && humidity <=80 )
  {
    setColor(255,140,0); //orange
  }
  else if (humidity >= 80 && humidity <=90) 
  {
   setColor(255,0,0); // red
  }
  else if (humidity >= 90 && humidity <=100)
  {
    setColor(204,0,204); //purple
  }
  
  /*
analogWrite(19, 128); // Test pin 16 (half brightness)
delay(1000);
analogWrite(19, 255); // Full brightness
delay(1000);
analogWrite(19, 0);   
*/


Serial.print("Temperature: ");
Serial.print(temperature);
Serial.print("%");
Serial.println("");

Serial.print("Humidity: ");
Serial.print(humidity);
Serial.print("%");
Serial.println("");


}
$abcdeabcde151015202530354045505560fghijfghij
esp:0
esp:2
esp:4
esp:5
esp:12
esp:13
esp:14
esp:15
esp:16
esp:17
esp:18
esp:19
esp:21
esp:22
esp:23
esp:25
esp:26
esp:27
esp:32
esp:33
esp:34
esp:35
esp:3V3
esp:EN
esp:VP
esp:VN
esp:GND.1
esp:D2
esp:D3
esp:CMD
esp:5V
esp:GND.2
esp:TX
esp:RX
esp:GND.3
esp:D1
esp:D0
esp:CLK
rgb1:R
rgb1:COM
rgb1:G
rgb1:B
bz1:1
bz1:2
r3:1
r3:2
dht2:VCC
dht2:SDA
dht2:NC
dht2:GND
sw2:1
sw2:2
sw2:3
r4:1
r4:2