// Reference https://docs.wokwi.com/parts/wokwi-ntc-temperature-sensor

#define sensorPin A0
#define BETA 3950

int ledArray[] = {4,5,6,7,8,9,10,11,12,13};

void setup() {
    pinMode(sensorPin , INPUT);
    int i ;
    for(i=0 ; i<13 ; i++){
      pinMode(ledArray[i],OUTPUT);
    }
}

void loop() {

int analogValue = analogRead(A0);
float celsius = 1 / (log(1 / (1023. / analogValue - 1)) / BETA + 1.0 / 298.15) - 273.15;


  
 delay(10);
   if (celsius >-24 && celsius < -13.6){
  int i ;
  for(i=0;i<1;i++){
    digitalWrite(ledArray[i], HIGH);
  }
} if (celsius > -13.6 && celsius < -3.2){
  int i ;
  for(i=0;i<2;i++){
    digitalWrite(ledArray[i], HIGH);
  }
}if (celsius > -3.2 && celsius < 7.2){
  int i ;
  for(i=0;i<3;i++){
    digitalWrite(ledArray[i], HIGH);
  }
} if (celsius > 7.2 && celsius < 17.6){
  int i ;
  for(i=0;i<4;i++){
    digitalWrite(ledArray[i], HIGH);
  }
} if (celsius > 17.6 && celsius < 28){
  int i ;
  for(i=0;i<5;i++){
    digitalWrite(ledArray[i], HIGH);
  }
}if (celsius > 28 && celsius < 38.4){
  int i ;
  for(i=0;i<6;i++){
    digitalWrite(ledArray[i], HIGH);
  }
} if (celsius > 38.4 && celsius < 48.8){
  int i ;
  for(i=0;i<7;i++){
    digitalWrite(ledArray[i], HIGH);
  }
}if (celsius > 48.8 && celsius < 59.2){
  int i ;
  for(i=0;i<8;i++){
    digitalWrite(ledArray[i], HIGH);
  }
}

 if (celsius > 59.2 && celsius < 69.6){
  int i ;
  for(i=0;i<9;i++){
    digitalWrite(ledArray[i], HIGH);
  }
}
 if (celsius > 69.6 && celsius < 80){
  int i ;
  for(i=0;i<10;i++){
    digitalWrite(ledArray[i], HIGH);
  }
}
if (celsius >= 80 ){
  int i ;
   for(i=0;i<10;i++){
    digitalWrite(ledArray[i], HIGH);
  
}}

else {
  int i ;
   for(i=0;i<10;i++){
    digitalWrite(ledArray[i], LOW);
}

}
}
 

 
 
Loading
st-nucleo-c031c6