help with fermentation chamber

Hello, im designing a fermentation chamber for my homebrews, i`ve been using it with no problem for over a week now. it consists of a 10k termistor that reads the Temp of the chamber, and if its below 17 degrees C it turns on a hair dryer until the temperature reaches 19 degrees.
now, i want it to make it so that i can lower the treshold temperature, to say 14 degrees when i need to madurate the fermented beer, what is the easiest way to do so? i dont have an lcd display so how can i know if its indeed working at that temperature.
Im pretty new to coding and only know the principal functions.
Thanks, also i will put the code here, i would be very grateful if someone helped me to make it neater.

int ThermistorPin = 0;
int Vo;
float R1 = 10000;
float logR2, R2, T, Tc, TaC;
float c1 = 1.009249522e-03, c2 = 2.378405444e-04, c3 = 2.019202697e-07;
/* Comment this out to disable prints and save space */

int relay = 8;









  

void setup()
{
  
  Serial.begin(9600);

pinMode(relay, OUTPUT);

}

void loop()
{
Vo = analogRead(ThermistorPin);
  R2 = R1 * (1023.0 / (float)Vo - 1.0);
  logR2 = log(R2);
  T = (1.0 / (c1 + c2*logR2 + c3*logR2*logR2*logR2));
  Tc = T - 288; 

 
  

 Serial.println(Tc);
  if (Tc<=17){
  digitalWrite(relay, HIGH);
  
  }
  else if (Tc>=19)
  {
       digitalWrite(relay, LOW); 
      
  }
  delay (500);
  }

Trisomg:
now, i want it to make it so that i can lower the treshold temperature, to say 14 degrees when i need to madurate the fermented beer, what is the easiest way to do so? i dont have an lcd display so how can i know if its indeed working at that temperature.

It sounds to me like you're going to need some form of user interface. This can be as simple as the serial port, where the current temperature is printed, and through which you can send commands to the Arduino. Two buttons could also work: one for temp up, one for temp down.
You should really consider to add a small LCD display (they're cheap) so you can always easily see your current temperature and targets.

wvmarle:
It sounds to me like you're going to need some form of user interface. This can be as simple as the serial port, where the current temperature is printed, and through which you can send commands to the Arduino. Two buttons could also work: one for temp up, one for temp down.
You should really consider to add a small LCD display (they're cheap) so you can always easily see your current temperature and targets.

i have tought of a button, if its pressed for 100ms run temp option 1, if pressed for 2000ms run temp option 2.
and blink a led once if temp option 1 is selected or twice if option 2 is.
i have found a code for that, but it only seems to work on loop, and not in setup. how could i make it to run in setup

/*Using a Single Button, create mutliple options based on how long the button is pressed
 
 The circuit:
 * LED attached from pin 13 to ground through a 220 ohm resistor
 * LED attached from pin 12 to ground through a 220 ohm resistor
 * one side of momentary pushbutton attached to pin 2
 * other side of momentary pushbutton attached to Ground
 
 * Note 1: on most Arduinos there is already an LED on the board
 attached to pin 13.
 * Note 2: In this circuit, when the button is pressed, Ground Voltage is what will be applied. 
 
 Created DEC 2014 by Scuba Steve
 Modified JAN 2015 by Michael James
 Both members of https://programmingelectronics.com
 
 This code is in the public domain
 */


/////////Declare and Initialize Variables////////////////////////////

//We need to track how long the momentary pushbutton is held in order to execute different commands
//This value will be recorded in seconds
float pressLength_milliSeconds = 0;

// Define the *minimum* length of time, in milli-seconds, that the button must be pressed for a particular option to occur
int optionOne_milliSeconds = 100;
int optionTwo_milliSeconds = 2000;        

//The Pin your button is attached to
int buttonPin = 2;

//Pin your LEDs are attached to
int ledPin_Option_1 = 13;
int ledPin_Option_2 = 12;

void setup(){

  // Initialize the pushbutton pin as an input pullup
  // Keep in mind, when pin 2 has ground voltage applied, we know the button is being pressed
  pinMode(buttonPin, INPUT_PULLUP);     

  //set the LEDs pins as outputs
  pinMode(ledPin_Option_1, OUTPUT); 
  pinMode(ledPin_Option_2, OUTPUT); 

  //Start serial communication - for debugging purposes only
  Serial.begin(9600);                                     

} // close setup


void loop() {

  //Record *roughly* the tenths of seconds the button in being held down
  while (digitalRead(buttonPin) == LOW ){ 

    delay(100);  //if you want more resolution, lower this number 
    pressLength_milliSeconds = pressLength_milliSeconds + 100;   

    //display how long button is has been held
    Serial.print("ms = ");
    Serial.println(pressLength_milliSeconds);

  }//close while


  //Different if-else conditions are triggered based on the length of the button press
  //Start with the longest time option first

  //Option 2 - Execute the second option if the button is held for the correct amount of time
  if (pressLength_milliSeconds >= optionTwo_milliSeconds){

    digitalWrite(ledPin_Option_2, HIGH);     

  } 

  //option 1 - Execute the first option if the button is held for the correct amount of time
  else if(pressLength_milliSeconds >= optionOne_milliSeconds){

    digitalWrite(ledPin_Option_1, HIGH);  

  }//close if options


  //every time through the loop, we need to reset the pressLength_Seconds counter
  pressLength_milliSeconds = 0;

} // close void loop

Trisomg:
i have found a code for that, but it only seems to work on loop, and not in setup. how could i make it to run in loop

The code you post has it in loop() which is exactly what you ask for, so what's the problem?

By the way, I'd change it to be less than one second or more than one second. Pressing a button for <100 ms is very short.
Anyway, get an LCD. Then you can always see your current setting.
Get two buttons: one for up, one for down. Say 0.5° or so per press. Then you're more flexible, just in case you want a brew that needs yet another temperature.

wvmarle:
The code you post has it in loop() which is exactly what you ask for, so what's the problem?

By the way, I'd change it to be less than one second or more than one second. Pressing a button for <100 ms is very short.
Anyway, get an LCD. Then you can always see your current setting.
Get two buttons: one for up, one for down. Say 0.5° or so per press. Then you're more flexible, just in case you want a brew that needs yet another temperature.

got it working with 1 button, i wanted to wait in setup until the button was pressed (pin 2 grounded) and i acomplished that by adding an empty while loop before the reading loop in setup.
it works fine, for now
this is the code, any thing you would change?

int sensorPin = 0;
 

int led2 = 13;
int LowTemp;
  int TargetTemp;
int button = 2;
float timepres = 0;
int optionferm = 100;
int optionmad = 2000;
int led1 = 9;
void setup()
{
  Serial.begin(9600);  //Start the serial connection with the computer
     pinMode (led1, OUTPUT);
  pinMode (led2, OUTPUT);
  pinMode (button, INPUT_PULLUP);
  digitalWrite (led1, LOW);   //to view the result open the serial monitor
  while (digitalRead(button) == HIGH){}
   while (digitalRead(button) == LOW ){ 
 
delay(100);  //if you want more resolution, lower this number 
   timepres = timepres + 100;  
 
    //display how long button is has been held
    Serial.print("ms = ");
    Serial.println(timepres);
  
}
  if (timepres >= optionmad){
   LowTemp = 10;
    TargetTemp = 15;
    digitalWrite(led2, HIGH);
    delay(500);
    digitalWrite(led2, LOW);
    delay(500);
    digitalWrite(led2, HIGH);
    delay(500);
    digitalWrite(led2, LOW);
    delay(500);
    
  }
  else if (timepres >= optionferm){
   LowTemp = 16;
    TargetTemp = 21;
     digitalWrite(led2, HIGH);
    delay(2000);
    digitalWrite(led2, LOW);
  }
    

}
 
void loop()                     // run over and over again
{
 //getting the voltage reading from the temperature sensor
 int reading = analogRead(sensorPin);  
 
 // converting that reading to voltage, for 3.3v arduino use 3.3
 float voltage = reading * 5.0;
 voltage /= 1024.0; 
 

 
 // now print out the temperature
 float tC = (voltage - 0.5) * 100 ;  //converting from 10 mv per degree wit 500 mV offset
                                               //to degrees ((voltage - 500mV) times 100)
 Serial.print(tC); Serial.println(" degrees C");
  if (tC<=LowTemp){
  digitalWrite(led1, HIGH);
  }
  
  else if (tC>=TargetTemp)
  {
       digitalWrite(led1, LOW); 
  }

 

 
 delay(1000);                                     //waiting a second
}

Trisomg:
this is the code, any thing you would change?

I'd fix the indentation (ctrl-T in the Arduino IDE) so at least the thing becomes readable.

Also I don't understand why you want this in setup, as then you can only do this once and to change the setting you have to reset your Arduino. This kind of functionality normally goes in loop.

wvmarle:
I'd fix the indentation (ctrl-T in the Arduino IDE) so at least the thing becomes readable.

Also I don't understand why you want this in setup, as then you can only do this once and to change the setting you have to reset your Arduino. This kind of functionality normally goes in loop.

i dont mind reseting the arduino, but how could i do it in loop?+

The same way you do it in setup...
If you need examples on reacting to button press, there are gazillions of these in this forum alone, and even more can be found using a simple Google search.