Я биолог и строю инкубатор для клеточных культур для гипотезы, которую мы хотим проверить. Мы уже построили инкубатор, но у меня проблемы с кодом. Я хочу, чтобы инкубатор набрал go до 21,5 C, затем go до 20,5 C и go снова до 21,5 C, снова и снова.
Я используя arduino, датчик температуры и реле для определения температуры, включения и включения нагревательного элемента.
Как у меня есть код, когда я включаю инкубатор, реле включает нагрев до тех пор, пока датчик температуры не обнаружит 21,5 C, а затем действительно отключит нагревательный элемент, но как только температура снизится, он снова включит нагревательный элемент, поэтому он будет постоянно находиться на уровне 21,5 C. Я не знаю, как заставить его остыть до 20,5 C и go до 21,5 C снова. Не могли бы вы помочь мне или указать мне правильное направление?
Это мой код:
#include <math.h>
int pinOut = 10;
double Thermistor(int RawADC) {
double Temp;
Temp = log(10000.0*((1024.0/RawADC-1)));
Temp = 1 / (0.001129148 + (0.000234125 + (0.0000000876741 * Temp * Temp ))* Temp );
Temp = Temp - 273.15;
return Temp;
}
void setup() {
pinMode(10, OUTPUT);
Serial.begin(9600);
}
void loop() {
int val;
double temp;
val=analogRead(0);
temp=Thermistor(val);
Serial.print("Temperature = ");
Serial.print(temp);
Serial.println(" C");
if (temp >= 21.5){
digitalWrite(pinOut, HIGH);
}
else {
digitalWrite(pinOut, LOW);
}
delay(1000);
}