#include <Servo.h>
//пытаемся подключить библиотеку термистора
#include <NTC_Thermistor.h>
#include <Thermistor.h>
#include <SmoothThermistor.h>
Servo threeWayValve; // трёхходовой класса Servo
#define NOMINAL_TEMPERATURE -24;
const float BETA = 3950; // should match the Beta Coefficient of the thermistor
int resetBut=2; // назначение пина для кнопки сброса
int analogTempMap=0; // переменная пересчета значений датчика Т в значенияе для передачи в серво
void setup() {
Serial.begin(9600);
pinMode(A0, INPUT);
pinMode(2, INPUT);
pinMode(3, OUTPUT);
pinMode(A1, INPUT);
threeWayValve.attach(3);// подключён к 3 пину трёхходовик
}
void loop() {
float celsius;
int reset =LOW; //переменная сброса
int analogTemp;// переменная для считывания NTC
delay(200);
reset= digitalRead(resetBut); // считывание состояния Пина сброса
if (!reset) {analogTemp = analogRead(A1); // читаем NTC если кнопуля reset ненажата
celsius = 1 / (log(1 / (1023. / analogTemp - 1)) / BETA + 1.0 / 298.15) - 273.15;
analogTempMap = map(celsius,-24,80,0,180);} // Перевод в цельсия
else {analogTempMap =0;} /* иначе переменную положение привода сделаем 0,
И ПО ИДЕЕ НУЖНО ДАТЧИК ТЕМПЕРАТУРЫ ОБНУЛИТЬ ЧТОБ ПРИВОД НЕ ВОЗВРАЩАЛСЯ*/
threeWayValve.write(analogTempMap); //выставляем положение привода
Serial.print("Analog from NTC Temperature Sensor: ");
Serial.println(analogTemp);
Serial.print("Temperature C: ");
Serial.print(celsius);
Serial.println("℃");
Serial.print("Position Servo From MAP: ");
Serial.println(analogTempMap);
delay(100);
}