// 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
st-nucleo-c031c6