Knappen räkna är (Prime, jämnt eller udda) (4 / 4 steg)
Steg 4: Loop
void loop()
{
currentState = digitalRead(buttonPin); trycker på knappen? Kan läsa den med buttonPin.
om (currentState! = previousState) //if knappen staten har förändrats... vilket betyder att det är inte som det var innan.
{
om (currentState == låg) / / Note: Jag använde en pull-up resistor så dess ange som (låg) när dess pressade.
{
om (buttonCount > = 10) //When buttonCount når 10... ge användaren en omstart signal.
{
buttonCount = 0; Starta om buttonCount till noll.
Visa en omstart signal så att användaren vet de börjar över. digitalWrite (primeLED, hög);
digitalWrite (evenLED, hög);
digitalWrite (oddLED, hög);
Delay(reset);
digitalWrite (primeLED, låg);
digitalWrite (evenLED, låg);
digitalWrite (oddLED, låg);
Delay(reset);
digitalWrite (primeLED, hög);
digitalWrite (evenLED, hög);
digitalWrite (oddLED, hög);
Delay(reset);
digitalWrite (primeLED, låg);
digitalWrite (evenLED, låg);
digitalWrite (oddLED, låg);
}
annat / / om buttonCount är mindre än 10, sedan Arduino kommer att utföra specifika funktioner.
{
buttonCount ++; öka buttonCount av 1.
Serial.Print ("knappen Count ="); Skriva ut en sträng
Serial.println(buttonCount); Skriv ut det aktuella värdet för buttonCount
Starta genom att stänga av alla värden när buttonCount = 0
digitalWrite (primeLED, låg);
digitalWrite (evenLED, låg);
digitalWrite (oddLED, låg);
Denna kod kan du fylla en viss funktion om villkoret "is_prime(buttonCount)" är sant
om (is_prime(buttonCount))
{
digitalWrite (primeLED, hög);
}
annat
{
digitalWrite (primeLED, låg);
}
Denna kod kan du fylla en viss funktion om villkoret "is_even(buttonCount)" är sant.
om (is_even(buttonCount))
{
digitalWrite (evenLED, hög);
digitalWrite (oddLED, låg);
}
annat
{
digitalWrite (evenLED, låg);
digitalWrite (oddLED, hög);
}
}
}
previousState = currentState; Detta hjälper dig att spara uppgifter om knappen som används eller inte.
}
Delay(Wait);
}
booleska is_prime (int inputNumber)
{
för (int jag = 0; jag < primeSize; i ++)
{
om (inputNumber == primeSet[i])
{
return true;
}
}
returnera false;
}
booleska is_even (int n)
{
tillbaka (n % 2 == 0);
}