複数の土壌水分センサーから433 MHz伝送を読み取るのにarduinoを使用したいと思います。私はすべての送信が受信機に到達することは決してできないので、最初の送信が受信された瞬間からカウントダウンを設定したいと思います。別の送信が受信されると、カウントダウンが再び開始されます。それ以上の信号がない場合、またはすべての信号が受信された場合(例えば、4つのセンサ)、受信ユニットは停止し、そのポイントに到達したデータに基づいて決定する必要がある。433 MHz送信によるトリガーカウントダウン
私は<RCSwitch.h>
ライブラリを使用して送受信しています。
受信部のループと1つのセンサは次のようになります。
#include <RCSwitch.h>
RCSwitch mySwitch = RCSwitch();
void Setup(){
Serial.begin(9600);
mySwitch.enableReceive(4);
}
void loop() {
if (mySwitch.available()) {
int value = mySwitch.getReceivedValue();
if (value == 0) {
lcd.clear();
Serial.print("Unknown encoding");
}
else {
Serial.print(mySwitch.getReceivedValue());
Serial.print("%");
}
完全なコードは、すべてのセンサーのためのいくつかの分化機構を備えるが、私はそれは私の質問には関係ないかもしれません考え出し。
質問: リアルタイムクロックモジュールを使用しないと、これを実行する最も良い方法は何ですか。私が知る限り、delay(...)
を使用して待つことはできません。それ以来、私はプロセッサが待機している間はデータを受信しません。