#include <Servo.h>
#include <SevSeg.h>
Servo threeWayValve;
const float BETA = 3950; // should match the Beta Coefficient of the thermistor
void setup() {
Serial.begin(9600);
pinMode(A0, INPUT);
pinMode(2, OUTPUT);
pinMode(3, OUTPUT);
pinMode(4, OUTPUT);
pinMode(6, OUTPUT);
pinMode(7, OUTPUT);
pinMode(8, OUTPUT);
pinMode(9, OUTPUT);
pinMode(10, OUTPUT);
pinMode(11, OUTPUT);
pinMode(12, OUTPUT);
pinMode(13, OUTPUT);
pinMode(A1, INPUT);
threeWayValve.attach(2);
//threeWayValve.write(posit);
//posit=threeWayValve.read();
//delay(2000);
//threeWayValve.write(posit);
SevSeg sevseg; //Instantiate a seven segment object
byte numDigits = 2;
byte digitPins[] = {3, 4,};
byte segmentPins[] = {6, 7, 8, 9, 10, 11, 12, 13};
bool resistorsOnSegments = false; // 'false' means resistors are on digit pins
byte hardwareConfig = COMMON_ANODE; // See README.md for options
bool updateWithDelays = false; // Default 'false' is Recommended
bool leadingZeros = false; // Use 'true' if you'd like to keep the leading zeros
bool disableDecPoint = false; // Use 'true' if your decimal point doesn't exist or isn't connected. Then, you only need to specify 7 segmentPins[]
sevseg.begin(hardwareConfig, numDigits, digitPins, segmentPins, resistorsOnSegments,
updateWithDelays, leadingZeros, disableDecPoint);
}
void loop() {
int analogTemp = analogRead(A1);
delay(200);
float celsius = 1 / (log(1 / (1023. / analogTemp - 1)) / BETA + 1.0 / 298.15) - 273.15;
int analogTempMap = map(celsius,-24,80,0,180);
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(1000);
digitalWrite(3, HIGH);
digitalWrite(6, HIGH);
delay(1000);
digitalWrite(3, LOW);
}