#include "DHT.h" //LLibreia pel sensor de temperatura
#define DHTTYPE DHT22 // DHT 22 (AM2302), AM2321
const uint8_t pinPolsador=34; //Pin on esta el polsador
const uint8_t DHTPin = 5; //Pin de connexio del sensor de temp.
const uint8_t pinRele=25; //Pin on esta connectat el RELE
const uint8_t pinTermostat=12; //Pin on està el termostat(potenciomentre)
//configuració PWM LED
const int canalLED = 0;
const int pinLED=33;
const int freq= 5000;
const int resolucio = 8;
const bool ON=true;
const bool OFF=false,
// ledcSetup(ledChannel, frequency, resolution);
// ledcAttachPin(ledPin, ledChannel);
// ledcWrite(ledChannel, dutyCycle);
//Instanciem el sensor DHT dht.begin(); dht.readTemperature();
DHT dht(DHTPin, DHTTYPE);
//estats i variable del sistema
uint8_t estatLED=0;
float valorTermpostat=0;
uint8_t poteLED=0;
//Funció que retorna un valor canviat d'escala
float fmap(float x, float in_min, float in_max, float out_min, float out_max)
{
return (x - in_min) * (out_max - out_min) / (in_max - in_min) + out_min;
}
//inc. entrades i sortides. Inic. LEDC amb cicle treball inicial=0
void setup(){
pinMode(pinPolsador, INPUT);
pinMode(pinRele, OUTPUT);
pinMode(pinTermostat, INPUT);
ledcSetup(canalLED,freq,resolucio);
ledcAttachPin(pinLED,canalLED);
ledcWrite(canalLED,poteLED);
//inc. sesor temperatura
dht.begin();
}//end setup
//gestiona el canvi d'intensista del LED
void rutinaLED(){
}
//func. que activa o desactiva rele amb el parametre value true o false
void rele(boolean value){
digitalWrite(pinRele, value);
}
//funcio que retorna la temperatura llegida pel sensor
float temp({
return dht.readTemperature();
})
//funció que retorna el valor del termostat entre 20 i 30º
void valorTermostat{
int lectura analogRead(pinTermostat);
return map(lectura, 0, 4095, 20, 30);
}
//gestiona el termostat, si la temperatura hamb> que la temp. consigna del termostat
//extractor ON.
void rutinaExtractor(){
if(temp()>valorTermostat){
rele(ON);
}else{
rele(OFF);
}
}
void impInfo(){
}
void loop(){
rutinaLED();
rutinaExtractor();
impInfo();
}//end loop