Für dieses Beispiel habe ich einen Thermistor aus der Bastelkiste gewählt. Diesen habe ich mit einem Pin an einen analogen Eingang angeschlossen und mit dem anderen Pin an 5V+. Am benutzen analogen Eingang kommt noch eine Verbindung zur Masse mit 10kOhm Widerstand.
Folgende vereinfachte Formel habe ich im Netz gefunden (ist wohl nicht ganz exakt, aber es erfüllt den Zweck einer annehmbar genauen Temperaturbestimmung (ist es grob zu kalt/warm). Ich müsste die Genauigkeit mal bei Gelegenheit testen. Ich weiß leider nicht mehr wer das wo gepostet hatte. Für sachdienliche Hinweise zur Quellenangabe wäre ich dankbar.
Sie wird mit dem Wert von analogRead() des genutzten Pins aufgrufen.
// // Calculate Temperatures // double Thermister(int RawADC) { double Temp; Temp = log(((10240000/RawADC) - 4700)); // last digit for termistor value Temp = 1 / (0.001129148 + (0.000234125 + (0.0000000876741 * Temp * Temp ))* Temp ); Temp = Temp - 273.15; // Convert Kelvin to Celcius //Temp = (Temp * 9.0)/ 5.0 + 32.0; // Convert Celcius to Fahrenheit return Temp; }