Yes, sorry
#include "DHT.h"
//Mac hc05: 98:D3:51:FD:99:66
#define DHTTYPE DHT11
const byte DHTpin=30; //Pin sensor DHT
DHT dht(DHTpin,DHTTYPE); //Parámetres del sensor DHT11
const int Bat=A0; //Pin analògic bateries
const int Vbat=A0; //Pin analògic voltatge bateries
const int Ibat=A1; //Pin analògic intensitat bateries
const int Vplac=A2; //Pin analògic voltatge plaques
const int Iplac=A3; //Pin analògic intensitat plaques
const int Vdomi=A4; //Pin analògic voltatge casa
const int Idomi=A5; //Pin analògic intensitat casa
const int Tplac=A6; //Pin analògic temperatura placa
const int Radsolar=A7; //Pin analògic radiació solar
const int Radplacas=A8; //Pin analògic radiació plaques
const int Tbat=A9; //Pin analògic temperatura bateries
int valorBat; //Valor analògic estat bateries
int valorVbat; //Valor analògic voltatge bateries
int valorIbat; //Valor analògic intensitat bateries
int valorVdomicilio; //Valor analògic voltatge casa
int valorIdomicilio; //Valor analògic intensitat casa
int valorVplacas; //Valor analògic voltatge plaques
int valorIplacas; //Valor analògic intensitat plaques
int valorTbat; //Valor analògic temperatura bateries
int valorRadsolar; //Valor analògic radiació solar
int valorTplacas; //Valor analògic temperatura plaques
int valorRadplacas; //Valor analògic radiació plaques
int porcentajeBat; //Valor porcentatge bateries
float SimTbat; //Valor simulat temperatura bateries
float SimTplacas; //Valor simulat temperatura plaques
float SimRadsolar; //Valor simulat radiació solar
float SimRadplacas; //Valor simulat radiació plaques
float SimVbaterias; //Valor simulat voltatge bateries
float SimIbaterias; //Valor simulat intensitat bateries
float SimVdomicilio; //Valor simulat voltatge casa
float SimIdomicilio; //Valor simulat intensitat casa
float SimVplacas; //Valor simulat voltatge plaques
float SimIplacas; //Valor simulat intensitat plaques
float t; //Valor de temperatura del sensor
float ComparacionRad; //Diferència dues radiacions per comprovar brutícia
void setup(){
Serial1.begin(9600);
dht.begin(); //Iniciar sensor DHT
pinMode(DHTpin,INPUT);
}
void loop(){
Baterias();
temperaturambient();
RadiacionSolar();
Tbaterias();
RadiacionPlacas();
Tplacas();
Vbaterias();
Ibaterias();
Vplacas();
Iplacas();
Vdomicilio();
Idomicilio();
/*Bruticia();*/
Serial1.print ("I");
Serial1.print("|");
Serial1.print (porcentajeBat);
Serial1.print ("|");
Serial1.print (t);
Serial1.print ("|");
Serial1.print (SimTbat);
Serial1.print ("|");
Serial1.print (SimTplacas);
Serial1.print ("|");
Serial1.print (SimVbaterias);
Serial1.print ("|");
Serial1.print (SimIbaterias);
Serial1.print ("|");
Serial1.print (SimVplacas);
Serial1.print ("|");
Serial1.print (SimIplacas);
Serial1.print ("|");
Serial1.print (SimVdomicilio);
Serial1.print ("|");
Serial1.print (SimIdomicilio);
Serial1.print ("|");
Serial1.print (SimRadsolar);
Serial1.print ("|");
Serial1.print (SimRadplacas);
Serial1.print ("|");
Serial1.print (ComparacionRad);
Serial1.print ("|");
Serial1.print ("F");
Serial1.print("|\n");
delay(550);
}
void Baterias() { //Funció que retorna el porcentaje de les baterias (A0)
valorBat = analogRead(Bat); // Realitzar la lectura analógica raw
porcentajeBat = map(valorBat, 0, 1023, 0, 101); // Convertir a porcentaje
return porcentajeBat;
}
void Vbaterias() { //Funció que retorna voltaje baterias (A0)
valorVbat = analogRead(Bat); // Realitzar la lectura analógica raw
SimVbaterias=valorVbat/42.625; //Convertir a valors reals de voltatge entre 0 i 24 V
/*SimVbaterias = map(valorVbat, 0, 1023, 0, 24); // 0-24 V*/
return SimVbaterias;
}
void Ibaterias() { //Funció que retorna intesitat baterias (A1)
valorIbat = analogRead(Ibat); //Realitzar la lectura analógica raw
SimIbaterias=valorIbat/204.6; //Convertir a valors reals d'intensitat entre 0 i 5 A
/*SimIbaterias = map(valorIbat, 0, 1023, 0, 5); // 0-5 A*/
return SimIbaterias;
}
void Iplacas() { //Funció que retorna intensitat plaques solars (A3)
valorIplacas = analogRead(Iplac);// Realitzar la lectura analógica raw
SimIplacas=valorIplacas/170.5; //Convertir a valors reals d'intensitat entre 0 i 6 A
/*SimIplacas = map(valorIplacas, 0, 1023, 0, 6); // 0-6 A*/
return SimIplacas;
}
void Vplacas() { //Funció que retorna voltaje plaques solars (A2)
valorVplacas = analogRead(Vplac); //Realitzar la lectura analógica raw
SimVplacas=valorVplacas/20.46; //Convertir a valors reals de voltatge entre 0 i 50 V
/*SimVplacas = map(valorVplacas, 0, 1023, 0, 50); // 0-50 V*/
return SimVplacas;
}
void Idomicilio() { //Funció que retorna intensitat domicili (A5)
valorIdomicilio = analogRead(Idomi); //Realitzar la lectura analógica raw
SimIdomicilio=valorIdomicilio/204.6; //Convertir a valors reals d'intensitat entre 0 i 5 A
/*SimIdomicilio = map(valorIdomicilio, 0, 1023, 0, 5); // 0-5 V*/
return SimIdomicilio;
}
void Vdomicilio() { //Funció que retorna voltaje domicili (A4)
valorVdomicilio = analogRead(Vdomi); //Realitzar la lectura analógica raw
SimVdomicilio=valorVdomicilio/2.5575; //Convertir a valors reals de voltatge entre 0 i 400 V
/*SimVdomicilio = map(valorBat, 0, 1023, 0, 400); // 0-400 V*/
return SimVdomicilio;
}
void Tplacas() { //Funció que retorn temperatura plaques solars (A6)
valorTplacas = analogRead(Tplac);//Realitzar la lectura analógica raw
SimTplacas = map(valorTplacas, 0, 1023, 5, 76); //Convertir a valors reals de temperatura entre 5 y 75 graus
return SimTplacas;
}
void RadiacionSolar() { //Funció que retorna radiació solar (A7)
valorRadsolar = analogRead(Radsolar); //Realitzar la lectura analógica raw
SimRadsolar=valorRadsolar/0.2046; //Convertir a valors reals de radiació entre 0 i 5000
/*SimRadsolar = map(valorRadsolar, 0, 1023, 0, 5000); // convertir a porcentaje*/
return SimRadsolar;
}
void RadiacionPlacas() { //Funció que retorna radiació plaques solars (A8)
valorRadplacas = analogRead(Radplacas);//Realitzar la lectura analógica raw
SimRadplacas=valorRadplacas/0.2046; //Convertir a valors reals de radiació entre 0 i 5000
/*SimRadplacas = map(valorRadplacas, 0, 1023, 0, 5000); // convertir a porcentaje*/
return SimRadplacas;
}
void Tbaterias() { //Funció que retorna temperatura bateries (A9)
valorTbat = analogRead(Tbat); //Realitzar la lectura analógica raw
SimTbat = map(valorTbat, 0, 1023, -20, 51); //Convertir a valors reals de temperatura entre -20 i 50 graus
return SimTbat;
}
void temperaturambient(){ //Funció per medir temperatura ambient i humitat amb sensor DHT11
t = dht.readTemperature();
return t;
}
void Bruticia() {
RadiacionPlacas();
RadiacionSolar();
ComparacionRad=SimRadplacas - SimRadsolar; //Difference between two radiations
ComparacionRad=abs(ComparacionRad); //Absolute value of difference
return ComparacionRad;
}