// 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() {
// Initialize all LED pins as outputs
for (int i = 0; i < 10; i++) {
pinMode(ledArray[i], OUTPUT);
}
}
void loop() {
int analogValue = analogRead(sensorPin);
float celsius = 1.0 / (log(1.0 / (1023.0 / analogValue - 1.0)) / BETA + 1.0 / 298.15) - 273.15;
int ledCount = map(celsius, -24, 80, 0, 10);
ledCount = constrain(ledCount, 0, 10);
for (int i = 0; i < 10; i++) {
if (i < ledCount) {
digitalWrite(ledArray[i], HIGH);
} else {
digitalWrite(ledArray[i], LOW);
}
}
delay(10); // speeds up the simulation
}