#include <ESP32Servo.h>
//Pines de los Servomotores
const int servoPin1 = 18;
const int servoPin2 = 19;
Servo myServo;
//Pin del NTC
const int sensorPin = 27; // Pin del sensor NTC conectado al ESP32
//Cosa para el NTC
const float BETA = 3950; // Coeficiente BETA para la formula
void setup()
{
Serial.begin(9600);
//Declaración de los 2 servomorotes
myServo.attach(servoPin1);
myServo.attach(servoPin2);
//Esto es para el NTC
analogReadResolution(10);
pinMode(27,INPUT);
}
void loop ()
{
//Programacion del NTC (La formula) para los grados celcius
int analogValue = analogRead(27);
float celsius = 1 / (log(1 / (1023. / analogValue - 1)) / BETA + 1.0 / 298.15) - 273.15;
Serial.print("Temperature: ");
Serial.print(celsius);
Serial.println(" ℃");
if(celsius > 32) //Valor de Temp aprox de humedad cuando llueve en Villayork
{
//El servo va de 0 a 180 y de regreso
//Simulando un limpia parabrisas
myServo.write(0); // Ir a 0 grados
delay(1000); // Esperar 1 segundo
myServo.write(180); // Ir a 180 grados
delay(1000); // Esperar 1 segundo
}
else if(celsius < 28) //Valor de Temp prom en un dia cualquiera
{
// El servo regresa a su forma original
myServo.write(0);
}
}