Étape 4: boucle
void loop()
{
currentState = digitalRead(buttonPin) ; le bouton est enfoncé ? Permet de lire à l’aide de la buttonPin.
Si (currentState! = previousState) //if a changé l’état du bouton... ce qui signifie que ce n’est ne pas comme si c’était avant.
{
Si (currentState == faible) / / Note : J’ai utilisé une résistance pull-up donc sa valeur (faible) quand son pressé.
{
Si (buttonCount > = 10) //When le buttonCount atteint 10... Envoyer à l’utilisateur un signal de redémarrage.
{
buttonCount = 0 ; Redémarrez le buttonCount à zéro.
Afficher un signal de redémarrage afin que l’utilisateur sache qu'ils commencent au-dessus. digitalWrite (primeLED, HIGH) ;
digitalWrite (evenLED, HIGH) ;
digitalWrite (oddLED, HIGH) ;
Delay(Reset) ;
digitalWrite (primeLED, basse) ;
digitalWrite (evenLED, faible) ;
digitalWrite (oddLED, basse) ;
Delay(Reset) ;
digitalWrite (primeLED, HIGH) ;
digitalWrite (evenLED, HIGH) ;
digitalWrite (oddLED, HIGH) ;
Delay(Reset) ;
digitalWrite (primeLED, basse) ;
digitalWrite (evenLED, faible) ;
digitalWrite (oddLED, basse) ;
}
else / / si le buttonCount est inférieur à 10, puis les Arduino s’acquittera des fonctions spécifiques.
{
buttonCount ++ ; incrémenter le buttonCount par 1.
Serial.Print ("bouton Count =") ; Imprimer une chaîne
Serial.println(buttonCount) ; Afficher la valeur actuelle de la buttonCount
Commencez par éteindre toutes les valeurs lorsque buttonCount = 0
digitalWrite (primeLED, basse) ;
digitalWrite (evenLED, faible) ;
digitalWrite (oddLED, basse) ;
Ce code permet de que vous exécuter une fonction spécifique, si la condition « is_prime(buttonCount) » a la valeur True
Si (is_prime(buttonCount))
{
digitalWrite (primeLED, HIGH) ;
}
d’autre
{
digitalWrite (primeLED, basse) ;
}
Ce code permet de que vous exécuter une fonction spécifique, si la condition « is_even(buttonCount) » a la valeur True.
Si (is_even(buttonCount))
{
digitalWrite (evenLED, HIGH) ;
digitalWrite (oddLED, basse) ;
}
d’autre
{
digitalWrite (evenLED, faible) ;
digitalWrite (oddLED, HIGH) ;
}
}
}
previousState = currentState ; Cela vous permet d’enregistrer les données de la question de savoir si le bouton est enfoncé ou non.
}
Delay(Wait) ;
}
Boolean is_prime (int inputNumber)
{
pour (int i = 0; i < primeSize; i ++)
{
Si (inputNumber == primeSet[i])
{
retourne la valeur true ;
}
}
retourne la valeur false ;
}
Boolean is_even (int n)
{
retour (n % 2 == 0) ;
}