質問: 'T') { digitalWrite(Power, HIGH);//水を出す delay(5000);//5秒待つ } else{ digitalWrite(Power, LOW); } }//水を止める digitalWrite(Power, LOW); delay(1000); }//1秒待つ ### 試したこと センサー側で一度乾いた状態を作って、受信側が電圧を出力する状態にした後に、センサー側の電源を切っても受信側は’T’を受信した場合のループを繰り返した。 受信側の電源を切って、再度電源を入れると'T'を受信して起こるループは止まった。 ただもう一度乾いた状態を作って、湿った状態にしても電圧がかかる状態がループした。 よろしくお願いいたします。
回答: > > if(SensorRead()<350) { > > > これが成立している間、送信しっぱなしになるので、この関数の戻り値が各状態のときにどうなってるか、どっかに出してみてみることですな。 > > if (Serial.read() == 'T') { > > digitalWrite(Power, HIGH);//水を出す > > delay(5000);//5秒待つ > > } > > > シリアル入力のバッファが16バイトあるとどっかで読んだ覚えがあるので、 Tの送信が終わっても、16回水が出ることになるけど、それは想定した動作なのかな?