#include <SevSeg.h>
#include <Servo.h> // подключаем библиотеку
Servo servo1; // создаем экземпляр класса Servo и SevSeg
SevSeg sevseg;
#define buttonPin0 3
#define NTCOut A0
const float BETA = 3950; // коэфициент
void setup() {
pinMode(buttonPin0, INPUT_PULLUP);
servo1.attach(2);
byte numDigits = 2;
byte digitPins[] = {4, 5};
byte segmentPins[] = {6, 7, 8, 9, 10, 11, 12};
bool resistorsOnSegments = false;
byte hardwareConfig = COMMON_ANODE;
bool updateWithDelays = false; // значение по умолчанию "false"
bool leadingZeros = false; // сохранить начальные нули
bool disableDecPoint = false;
sevseg.begin(hardwareConfig, numDigits, digitPins, segmentPins, resistorsOnSegments,
updateWithDelays, leadingZeros, disableDecPoint);
}
void loop() {
int analogValue = analogRead(NTCOut); // считываем значение с аналогового входа
int temperature = 1 / (log(1 / (1023. / analogValue - 1)) / BETA + 1.0 / 298.15) - 273.15; // переводим значение в градусы Цельсия
bool button = !digitalRead(buttonPin0); //считываем нажатие кнопки
temperature = map(temperature, -24, 80, 0, 90); // пропорционально переносим значение из диапазона -24 - +80 в диапазон 0 - 90
button ? servo1.write(0) : servo1.write(temperature); // если кнопка нажата, то пишем 0, если нет - пишем текущее значение
sevseg.setNumber(temperature); // вывод на индикатор значения temperature
sevseg.refreshDisplay();
}