【问题标题】:How to go up to a specific value, then go down and up again?如何上升到特定值,然后再下降和上升?
【发布时间】:2020-01-30 04:41:06
【问题描述】:

我是一名生物学家,我正在为我们想要检验的假设建造一个细胞培养孵化器。我们已经建立了孵化器,但我在代码方面遇到了问题。我想让孵化器上升到 21.5C,然后下降到 20.5C,然后再上升到 21.5C,一遍又一遍。

我正在使用 arduino、温度传感器和继电器来检测温度并打开和打开加热元件。

我有我的代码的方式,当我打开孵化器时,继电器打开加热元件,直到温度传感器检测到 21.5C,然后真正关闭加热元件,但是一旦温度下降,它再次打开加热元件,因此它一直保持在 21.5C。我不知道如何让它冷却到 20.5C 并再次上升到 21.5C。您能帮我或指出正确的方向吗?

这是我的代码:

#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);
}

【问题讨论】:

    标签: if-statement arduino conditional-statements sensors


    【解决方案1】:

    一个简单的if.. else if.. 逻辑将处理上限和下限要求。

    if (temp >= 21.5) {
        // turn off
    }
    else if (temp <= 20.5) {
        // turn on
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-11-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多