Je dois vérifier si une LED clignote toutes les 2 secondes ... est-ce possible? J'utilise Arduino Mega 2560. Merci.Comment vérifier si une led clignote pendant un certain temps?
-4
A
Répondre
1
Il existe plusieurs options, en fonction de la DEL elle-même.
Si vous avez accès au câblage de la LED (je suppose 5V!), Vous pouvez connecter une broche d'interruption de l'Arduino et une GND commune. Maintenant, vous pouvez compter les "Turn Ons" et les diviser par le temps, pour obtenir une valeur moyenne, qui devrait être égale à deux.
Exemple de code serait (non testé!):
#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++;
}
Si vous avez pas accès au câblage vous pouvez utiliser un LightSensor, pour générer un signal similaire.
J'espère que cela correspond à vos besoins, car je ne suis pas autorisé à commenter, donc je ne pouvais pas obtenir plus d'infos.