//Bibliotecas necessárias
#include <iostream>
#include <cmath>
#include <map>
//Declarar porta serial dos potenciometros
//Temperatura
double potenciometro2=15;
//Umidade
double potenciometro1=33;
//Declaração das variaveis
//Humidade
//double potenciometro1;
//Temperatura
//double potenciometro2;
double ITUFinal;
double ITU1;
double constante;
double const1;
double const2;
double const3;
double const4;
double A;
double B;
double orvalho;
double tpo1;
double tpo2;
double x1;
double k1;
double p1;
int valorvariado1;
int valorvariado2;
float potenciomentro1;
float potenciomentro2;
//float(valorvariado1)=(map(float(potenciometro1), float(0), float(4095), float(0), float(100))) {
//return (potenciometro1 - 0) * (100 - 0) / (4095 - 0) + 0;
//}
// float (valorvariado2)=map(float(potenciometro2), float(0), float(4095), float(0), float(100)) {
//return (potenciometro2 - 0) * (100 - 0) / (4095 - 0) + 0;
//}
//loat valorvariado1=float(map(float(potenciometro1), float(0), float(4095), float(0), float(100)));
//float valorvariado2=float(map(float(potenciometro2), float(0), float(4095), float(0), float(100)));
void setup() {
// put your setup code here, to run once:
Serial.begin(115200);
pinMode(potenciometro1, INPUT);
pinMode(potenciometro2, INPUT);
//Valor das variaveis
//valorvariado1=20;
//valorvariado2=30;
A=17.625;
B=243.04;
x1=0.36;
k1=41.5;
//p1=valorvariado1/100.0;
//*p1=map(analogRead(potenciometro1),0, 4095, 0, 100.0)/100.0;
//FÓRMULAS
//α(T,RH) = ln(RH/100) + aT/(b+T).
//*const1 = log(p1);
//const2 = A * valorvariado2;
//*const2 = A * map(analogRead(potenciometro2),0, 4095, 0, 100.0);
//const3 = B + valorvariado1;
//*const3 = B + map(analogRead(potenciometro1),0, 4095, 0, 100.0);
//*const4 = const2 / const3;
//*constante = const1 + const4;
// Ts = (b × α(T,RH)) / (a - α(T,RH))
//*tpo1 = B * constante;
//*tpo2 = A - constante;
//*-orvalho = tpo1 / tpo2;
//ITU = Tbs + 0,36 Tpo + 41,5
//*ITU1 = x1 * orvalho;
//ITUFinal = valorvariado2 + ITU1 + K1
//*ITUFinal = map(analogRead(potenciometro2),0, 4095, 0, 100.0) + ITU1 + k1;
}
void loop() {
p1=map(analogRead(potenciometro1),0, 4095, 0, 100.0)/100.0;
//FÓRMULAS
//α(T,RH) = ln(RH/100) + aT/(b+T).
const1 = log(p1);
//const2 = A * valorvariado2;
const2 = A * map(analogRead(potenciometro2),0, 4095, 0, 100.0);
//const3 = B + valorvariado1;
const3 = B + map(analogRead(potenciometro1),0, 4095, 0, 100.0);
const4 = const2 / const3;
constante = const1 + const4;
// Ts = (b × α(T,RH)) / (a - α(T,RH))
tpo1 = B * constante;
tpo2 = A - constante;
orvalho = tpo1 / tpo2;
//ITU = Tbs + 0,36 Tpo + 41,5
ITU1 = x1 * orvalho;
//ITUFinal = valorvariado2 + ITU1 + K1
ITUFinal = map(analogRead(potenciometro2),0, 4095, 0, 100.0) + ITU1 + k1;
// put your main code here, to run repeatedly:
//valorvariado1=map((potenciometro1), 0, 4095, 0, 100);
//valorvariado2=map((potenciometro2), 0, 4095, 0, 100);
valorvariado1=map(analogRead(potenciometro1),0, 4095, 0, 100.0);
valorvariado2=map(analogRead(potenciometro2),0, 4095, 0, 100.0);
Serial.print(" POT1: ");
Serial.print(valorvariado1);
Serial.print(" POT2: ");
Serial.println(valorvariado2);
delay(300);
Serial.print("Temperatura: ");
Serial.print(valorvariado2 );
Serial.print(" Umidade: ");
Serial.println(valorvariado1);
Serial.print("Orvalho:");
Serial.print(orvalho);
Serial.print(" Constante: ");
Serial.print(constante);
Serial.print(" Const2: ");
Serial.print(const2);
Serial.print(" Const3: ");
Serial.print(const3);
Serial.print(" Const4: ");
Serial.println(const4);
Serial.print(" ITU Final: ");
Serial.println(ITUFinal);
delay(300);
}