//This example is created by Mangesh Prabhudesai - Architect @ Tata Elxsi Ltd
//Read temp sensor values and turn on/off heater to maintain temprature range
#define HEATING_ELEMENT GPIO_NUM_7
#define TEMP_SENSOR 35
const float BETA = 3950; // should match the Beta Coefficient of the thermistor
void HeaterON()
{
digitalWrite(HEATING_ELEMENT, LOW);
}
void HeaterOFF()
{
digitalWrite(HEATING_ELEMENT, HIGH);
}
void setup()
{
Serial.begin(115200);
pinMode(HEATING_ELEMENT, OUTPUT);
}
void loop()
{
int analogValue = analogRead(TEMP_SENSOR);
float celsius = 1 / (log(1 / (4094. / analogValue - 1)) / BETA + 1.0 / 298.15) - 273.15;
Serial.print("Temperature: ");
Serial.print(celsius);
Serial.println(" ℃");
if (celsius >= 60) HeaterOFF();
if (celsius <= 50) HeaterON();
delay(1500);
}