私はarduino unoで光、温度、湿度を測定しており、ループを毎分実行するようにプログラムしています。シリアルモニターで値を監視します。
ただし、コードを一度実行して値を取得し、値の1つが変化するまで待機または一時停止してから、これをシリアルモニターに出力するコードが必要です。
ループが実行されるのを 1 分も待つのではなく、センサーの変化をすぐに知りたいのです。これを行う方法はありますか?
ありがとう。
では、次のコードに 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);
}
}