int ledpins[] = {2,3,4,5,6,7,8,9,10,11};
int numLeds = 10;
int NTC = A0;
const float BETA = 3950;
void setup() {
for (int a = 0; a < numLeds; a++){
pinMode(ledpins[a], OUTPUT);
digitalWrite(ledpins[a], LOW);
}
Serial.begin(9600);
}
void loop() {
int ntcvalue = analogRead(NTC);
float(temperature) = 1 / (log(1 / (1023. / ntcvalue - 1)) / BETA + 1.0 / 298.15) - 273.15;
int ledon = ntcLed(temperature);
updateleds(ledon);
Serial.print(temperature);
Serial.println(ledon);
delay(500);
}
int ntcLed(float temp){
if (temp < 16) return 1;
if (temp < 18) return 2;
if (temp < 20) return 3;
if (temp < 22) return 5;
if (temp < 24) return 7;
if (temp < 26) return 9;
return 10;
}
void updateleds(int ledon){
for (int a = 0; a < numLeds; a++){
digitalWrite(ledpins[a], a < ledon ? HIGH : LOW);
}
}