-4
2秒ごとにLEDが点滅しているかどうかを確認する必要がありますか?私はArduino Mega 2560を使用しています。ありがとう。一定期間LEDが点滅しているか確認するには?
2秒ごとにLEDが点滅しているかどうかを確認する必要がありますか?私はArduino Mega 2560を使用しています。ありがとう。一定期間LEDが点滅しているか確認するには?
複数のオプションがありますが、LED自体によって異なります。
LEDの配線(私は5Vと仮定しています)にアクセスすれば、Arduinoの割り込みピンと共通のGNDを接続できます。今度は、 "Turn Ons"を数え、Timeで割り、平均値を求めます。これは2に等しくなければなりません。
サンプルコードはされるだろう(テストしていない!):
#define MEASUREPIN 2 // Watch https://www.arduino.cc/en/Reference/AttachInterrupt for infos
long measureStartTime{0}; // ms since start of first blink
long runTime{0}; // [ms]
long avgTime; // [ms]
volatile long cycles{0};
void setup() {
pinMode(MEASUREPIN, INPUT);
Serial.begin(9600);
attachInterrupt(digitalPinToInterrupt(MEASUREPIN), countCycles, RISING);
}
void loop() {
if(measureStartTime == 0 && cycles == 0){
Serial.println("Blink not started");
}else{
if(measureStartTime == 0){
measureStartTime == millis();
}else{
runTime = millis()-measureStartTime;
avgTime = runTime/cycles;
Serial.print("Average blink interval: ");
Serial.print(avgTime);
Serial.println("ms");
}
}
}
void countCycles(){
cycles++;
}
あなたがlightsensorを使用することができ、配線にアクセスしていない場合は、同様の信号を生成します。
私はコメントできないので、あなたのニーズに合うことを望みます。私はさらに情報を得ることができませんでした。