Stap 4: Loop
void loop
{
currentStatus = digitalRead(buttonPin); is de knop ingedrukt? Laat lezen met behulp van de buttonPin.
Als (currentStatus! = previousState) //if de knopstatus veranderd... Wat betekent zijn niet zoals voorheen.
{
Als (currentStatus == LOW) / / Opmerking: Ik gebruikte een pull-up weerstand dus zijn ingesteld als (laag) wanneer zijn geperst.
{
Als (buttonCount > = 10) //When de buttonCount bereikt 10... de gebruiker een HERSTART signaal.
{
buttonCount = 0; Start opnieuw op de buttonCount terug naar nul.
Een HERSTART signaal weergeven zodat de gebruiker weet dat zij zijn beginnen. digitalWrite (primeLED, hoge);
digitalWrite (evenLED, hoge);
digitalWrite (oddLED, hoge);
delay(reset);
digitalWrite (primeLED, laag);
digitalWrite (evenLED, laag);
digitalWrite (oddLED, laag);
delay(reset);
digitalWrite (primeLED, hoge);
digitalWrite (evenLED, hoge);
digitalWrite (oddLED, hoge);
delay(reset);
digitalWrite (primeLED, laag);
digitalWrite (evenLED, laag);
digitalWrite (oddLED, laag);
}
anders / / als de buttonCount minder dan 10 is, Arduino vervolgens specifieke taken zal uitvoeren.
{
buttonCount ++; _ / / verhogen de buttonCount door 1.
Serial.Print ("knop Count ="); Drukken een string
Serial.println(buttonCount); Afdrukken van de huidige waarde van de buttonCount
Start door het uitschakelen van alle waarden wanneer buttonCount = 0
digitalWrite (primeLED, laag);
digitalWrite (evenLED, laag);
digitalWrite (oddLED, laag);
Deze code kunt dat u een bepaalde functie uitvoeren als de voorwaarde "is_prime(buttonCount)" True is
Als (is_prime(buttonCount))
{
digitalWrite (primeLED, hoge);
}
anders
{
digitalWrite (primeLED, laag);
}
Deze code kunt dat u een bepaalde functie uitvoeren als de voorwaarde "is_even(buttonCount)" True is.
Als (is_even(buttonCount))
{
digitalWrite (evenLED, hoge);
digitalWrite (oddLED, laag);
}
anders
{
digitalWrite (evenLED, laag);
digitalWrite (oddLED, hoge);
}
}
}
previousState = currentStatus; Dit helpt u de gegevens van het of de knop wordt ingedrukt of niet opslaan.
}
delay(wait);
}
Booleaanse is_prime (int inputNumber)
{
for (int i = 0; ik < primeSize; i ++)
{
Als (inputNumber == primeSet[i])
{
return true;
}
}
return false;
}
Booleaanse is_even (int n)
{
keren (n % 2 == 0);
}