#include <math.h> // Подключаем библиотеку для математических функций
const int tempPin = A0; // Пин термистора
const int ledPin = 13; // Пин светодиода
const float BETA = 3950; // Бета-коэффициент термистора
const float R0 = 10000; // Сопротивление термистора при 25°C (в Ом)
void setup() {
pinMode(ledPin, OUTPUT); // Настройка пина светодиода как выхода
Serial.begin(9600); // Инициализация серийного порта
}
void loop() {
int analogValue = analogRead(tempPin); // Считываем данные с термистора
// Расчет сопротивления термистора
float resistance = R0 * (1023.0 / analogValue - 1);
// Расчет температуры в Кельвинах
float temperatureK = 1 / (log(1 / (1023. / analogValue - 1)) / BETA + 1.0 / 298.15);
// Преобразование температуры из Кельвинов в Цельсии
float temperatureC = temperatureK - 273.15;
Serial.print("Temperature: ");
Serial.print(temperatureC);
Serial.println(" °C");
// Управление светодиодом в зависимости от температуры
if (temperatureC > 25) { // Если температура выше 25°C
digitalWrite(ledPin, HIGH); // Включаем светодиод
} else {
digitalWrite(ledPin, LOW); // Выключаем светодиод
}
delay(1000); // Задержка 1 секунда
}