#include "DHT.h"
// led 1
int led1 = 6;
// led two ply dynamic delay control
int led2 = 7;
int rapidDelay = 200;
// led three with brightness check and fadeamount
int led3 = 8;
int brightness = 0;
int fadeAmount = 5;
int shortDelay = 30;
//Temperature sensor
#define DHTPIN 4
#define DHTTYPE DHT22
DHT tempSensor(DHTPIN, DHTTYPE);
void setup() {
pinMode(led1, OUTPUT);
pinMode(led2, OUTPUT);
pinMode(led3, OUTPUT);
Serial.begin(9600);
tempSensor.begin();
}
void loop() {
//led2Controle();
// led3Controle();
if (checkTemperature() > 45){
led1Controle();
digitalWrite(led2, LOW);
digitalWrite(led3, LOW);
};
if ((checkTemperature() < 45) && (checkTemperature() > 25)){
led2Controle();
digitalWrite(led1, LOW);
digitalWrite(led3, LOW);
};
if (checkTemperature() < 25) {
led3Controle();
digitalWrite(led1, LOW);
digitalWrite(led2, LOW);
};
}
void led1Controle(){
digitalWrite(led1, HIGH);
}
void led2Controle(){
digitalWrite(led2, HIGH);
delay(rapidDelay);
digitalWrite(led2, LOW);
delay(rapidDelay);
}
void led3Controle(){
//fade in
for (brightness = 0; brightness <= 255; brightness += fadeAmount) {
analogWrite(led3, brightness); // Set the LED brightness
delay(shortDelay);
}
//fade out
for (brightness = 255; brightness >= 0; brightness -= fadeAmount) {
analogWrite(led3, brightness);
delay(shortDelay);
}
}
int checkTemperature(){
float temperature = tempSensor.readTemperature(); //default = false = is Celsius
// Check if any reads failed and exit early (to try again).
if (isnan(temperature)) {
Serial.println(F("Failed to read from DHT sensor!"));
return;
}
Serial.print(F("Temperature: "));
Serial.print(temperature);
Serial.print(F("°C "));
delay(rapidDelay);
return temperature;
}