#include <DHT.h>;
DHT sensor(3, DHT22); // INIZIALIZZO IL SENSORE SUL PIN 3
//unsigned long NowTime;
int hum_set;
int hum_read;
int temp;
String fan;
void setup()
{
pinMode(A6, INPUT); //POTENZIOMETRO
pinMode(3, INPUT); //DHT22 PIN
pinMode(4, OUTPUT); //RELE'
pinMode(13, OUTPUT); //LED
Serial.begin(9600);
sensor.begin();
// splashscreen
Serial.println();
Serial.println(" ***** ASPIRATORE AUTOMATICO *****");
Serial.println(" ***** SEMPLIFICATO *****");
Serial.println();
digitalWrite(13, HIGH);
digitalWrite(4, HIGH);
Serial.println(" ***** ATTIVAZIONE MANUALE ATTIVATA *****");
Serial.println();
for (int i = 0; i<(5); i++){ // TEMPO DI ATTIVAZIONE MANUALE (ES. 15 MINUTI--(15*60)
delay (1000);
}
//NowTime = millis();
digitalWrite(13, LOW);
digitalWrite(4, LOW);
fan = "SPENTO";
//NowTime = millis();
}
void loop()
{
// MAPPATURA LETTURA POTENZIOMETRO
hum_set = (map(analogRead(A6), 0, 1023, 50, 75));
hum_read = sensor.readHumidity();
temp= sensor.readTemperature();
digitalWrite(13, HIGH); //LAMPEGGIO LED STATO ATTESA
Serial.print("UMIDITA'%:");
Serial.print(hum_read);
Serial.print(", IMPOSTAZIONE:");
Serial.print(hum_set);
Serial.print(", TEMPERATURA:");
Serial.print(temp);
Serial.print(", ASPIRATORE-");
Serial.println(fan);
delay (100);
digitalWrite(13, LOW);
//if threshold exceeded
if(hum_read > hum_set) {
fan = "ACCESO";
digitalWrite(4, HIGH);
digitalWrite(13, HIGH);
}
// SOGLIA DI LETTURA CON ISTERESI
if(hum_read < (hum_set-3)) {
fan = "SPENTO";
digitalWrite(4, LOW);
}
delay(2000);
}