Étape 3: Téléchargez le croquis
int switchPin = 2 ;
int ledPin = 13 ;
Boolean lastButton = faible ;
Boolean currentButton = faible ;
Started booléen = false ;
minuterie booléen = false ;
startTime long ;
endTime long ;
randomTime long ;
float elapsedTime ;
void setup()
{
pinMode (switchPin, entrée) ;
pinMode (ledPin, sortie) ;
Serial.Begin(9600) ;
}
debounce(boolean last) booléenne
{
courant booléen = digitalRead(switchPin) ;
Si (dernier! = courant)
{
Delay(5) ;
courant = digitalRead(switchPin) ;
}
retour actuel ;
}
void loop()
{
currentButton = debounce(lastButton) ;
Si (lastButton == LOW & & currentButton == HIGH)
{
Commencé = ! A commencé ;
lastButton = élevé ;
}
lastButton = currentButton ;
Si (Started == true & & minuterie == false)
{
Random() ;
Timer = true ;
}
Si (Started == false & & minuterie == true)
{
Stop() ;
Timer = false ;
}
}
Random() Sub
{
randomTime = random(4,10) ;
randomTime = randomTime * 1000 ;
digitalWrite (ledPin, HIGH) ;
Delay(100) ;
digitalWrite (ledPin, basse) ;
Delay(randomTime) ;
Start() ;
}
void Start() {}
startTime = millis() ;
digitalWrite (ledPin, HIGH) ;
}
Sub Stop() {}
endTime = millis() ;
elapsedTime = (endTime - startTime) + 5 ;
elapsedTime = elapsedTime/1000 ;
Serial.Print ("temps secondes:") ;
Serial.println(ElapsedTime) ;
digitalWrite (ledPin, basse) ;
}