我在 arduino uno 上测量光、温度和湿度,并已将循环编程为每分钟运行一次。监视串行监视器上的值。
但是,我想要的是代码运行一次以获取值,然后等待或暂停,直到其中一个值更改,然后在串行监视器上输出。
我想立即了解传感器的变化,而不是等待循环运行。有没有办法做到这一点?
谢谢。
所以我需要在下面的代码中添加一个 if/else 函数吗?
int lightPin = A5;
int lightok = 9;
int lighthigh = 10;
void setup()
{
Serial.begin(9600);
pinMode(lightok,OUTPUT);
pinMode(lighthigh,OUTPUT);
}
void loop()
{
delay(600000);
int lightlevel = analogRead(lightPin);
lightlevel = map(lightlevel, 0, 1023, 0, 255);
lightlevel = constrain(lightlevel, 0, 255);
Serial.print("Lightlevel: ");
Serial.println(lightlevel);
//led control for light levels
if (lightlevel < 15 || lightlevel > 125) {
digitalWrite(lighthigh, HIGH);
digitalWrite(lightok, LOW);
} else {
digitalWrite(lighthigh, LOW);
digitalWrite(lightok, HIGH);
}
}