我是一名生物学家,我正在为我们想要检验的假设建立一个细胞培养的孵化器。我们已经建立了孵化器,但我在代码方面遇到了问题。我希望孵化器升到21.5摄氏度,然后降到20.5摄氏度,然后再升到21.5摄氏度,一遍又一遍。
我正在使用arduino,温度传感器和继电器来检测温度,打开和打开加热元件。
我有我的代码的方式,当我打开孵化器,继电器打开加热元件,直到温度传感器检测到21.5摄氏度,然后真正关闭加热元件,但一旦温度下降,它再次打开加热元件,所以它一直保持在21.5摄氏度。我不知道怎么把温度降到20.5摄氏度再升到21.5摄氏度。你能帮我指一指正确的方向吗?
这是我的代码:
#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);
}发布于 2020-01-30 20:42:29
一个简单的if.. else if..逻辑将处理上限和下限要求。
if (temp >= 21.5) {
// turn off
}
else if (temp <= 20.5) {
// turn on
}https://stackoverflow.com/questions/59979175
复制相似问题