// Reference https://docs.wokwi.com/parts/wokwi-ntc-temperature-sensor
#define sensorPin A0
#define BETA 3950
#define R0 10000
int ledArray[] = {4,5,6,7,8,9,10,11,12,13};
void setup()
{
for (int i = 0; i < 10; i++)
{
pinMode(ledArray[i], OUTPUT);
digitalWrite(ledArray[i], LOW);
}
}
void loop()
{
int analog_val = analogRead(sensorPin);
float resistance = (1023.0 / analog_val - 1) * R0;
float temperatureC = 1.0 / (log(resistance / R0) / BETA + 1.0 / 298.15) - 273.15;
int ledCount = map(temperatureC, -24, 80, 0, 10);
ledCount = constrain(ledCount, 0, 10);
for (int i = 0; i < 10; i++)
{
if (i < ledCount)
{
digitalWrite(ledArray[i], LOW);
}
else
{
digitalWrite(ledArray[i], HIGH);
}
}
delay(10);
}