#include "DHT.h"
#define DHTPIN 2
#define DHTTYPE DHT22
DHT dht(DHTPIN, DHTTYPE);
const int LDR = A1;
const int pinR = 3;
const int pinG = 5;
const int pinB = 6;
const int switchR = 11;
const int switchG = 12;
const int switchB = 10;
int i = 0;
float prev_temp;
float prev_hum;
int inputval=0;
int outval =0;
void setup() {
pinMode(pinR, OUTPUT);
pinMode(pinG, OUTPUT);
pinMode(pinB, OUTPUT);
pinMode(LDR, INPUT);
pinMode(switchR, INPUT_PULLUP);
pinMode(switchG, INPUT_PULLUP);
pinMode(switchB, INPUT_PULLUP);
dht.begin();
prev_temp = dht.readTemperature();
prev_hum = dht.readHumidity();
Serial.begin(115200);
if (isnan(prev_temp) || isnan(prev_hum)) {
Serial.println(F("Failed to read from DHT sensor!"));
return;
}
Serial.print(F("Humidity: "));
Serial.print(prev_hum);
Serial.print(F("% Temperature: "));
Serial.print(prev_temp);
Serial.println(F("°C "));
}
void loop() {
float temperature = dht.readTemperature();
float humidity = dht.readHumidity();
inputval = analogRead(LDR);
outval = map(inputval, 8, 1015, 0, 255);
if (isnan(temperature) || isnan(humidity)) {
Serial.println(F("Failed to read from DHT sensor!"));
return;
}
if (digitalRead(switchG) == HIGH) {
analogWrite(pinG, outval);
} else {
analogWrite(pinG, 0);
}
if (digitalRead(switchR) == HIGH) {
analogWrite(pinR, outval);
} else {
analogWrite(pinR, 0);
}
if (digitalRead(switchB) == HIGH) {
analogWrite(pinB, outval);
} else {
analogWrite(pinB, 0);
}
if (prev_temp != temperature || prev_hum != humidity) {
Serial.print(F("Humidity: "));
Serial.print(humidity);
Serial.print(F("% Temperature: "));
Serial.print(temperature);
Serial.println(F("°C "));
prev_temp = temperature;
prev_hum = humidity;
}
}