我已经为一个项目编写了一些代码,当温度> = 26℃时,将电机设置为在一个方向上运行6秒以打开通风口。当温度低于26℃时,电动机应向另一个方向运行6秒钟以关闭通风口。通风口打开后,电机不能再向那个方向运行打开它,它应该只能在打开后关闭,不能再打开。结束也是如此。我在代码中遇到的问题是代码中设置了opened
函数,基本上告诉代码通风口是打开的,不要再尝试打开。但是,当我设置一些调试线时,我看到电机仍在旋转,opened
设置为真/假,具体取决于温度,但它总是错误的值,它的设置在电机时打开已关闭通风口,并在通风口打开时设置为关闭。
#include <Thermistor.h> //Taken from http://garagelab.com/profiles/blogs/tutorial-using-ntc-thermistors-with-arduino
#define M1A 4
#define M1B 5
bool opened = false;
Thermistor temp(0);
void setup() {
Serial.begin(9600);
}
void loop() {
int temperature = temp.getTemp();
Serial.print(temperature);
Serial.println("*C");
// OPENING///////////////
if (opened != true and temperature >= 26) {
digitalWrite(M1A, 1);
analogWrite(M1B, 0);
delay(6000);
digitalWrite(M1A, 0);
analogWrite(M1B, 0);
opened = true;
}
// CLOSING///////////////
if (!opened and temperature < 26) {
digitalWrite(M1A, 0);
analogWrite(M1B, 255);
delay(6000);
digitalWrite(M1A, 0);
analogWrite(M1B, 0);
opened = false;
}
delay(1000);
Serial.println(opened);
}
感谢您可能要说的任何内容,如果您想了解更多,请发表评论或其他内容。 克雷格