Fullt ut utnyttja kraften i en tryckknapp (3 / 8 steg)
Steg 3: Kontrollera LED på, blink och off av en tryckknapp
Button_03
Kontrollera LED på, blinka och genom en tryckknapp
//
skapad av uvvvvw
2015-04-05
//
CONST int knappen = 12. Definiera knappen pin
CONST int LED = 4; Definiera LED stift
int LED_state = 3; Status LED: 1(on), 2(blink), 3(off)
//
hantera blinkar medan LED_state == 2
långa intervall = 500. intervall av blinkande (millisekunder)
osignerade långa currentMillis; spela in den aktuella tiden för blinkande
lång previousMillis = 0; lagring av senaste tiden LED uppdaterades
//
//
void setup()
{
pinMode (LED, OUTPUT);
pinMode (knapp, indata);
digitalWrite (knappen, hög); Använd interna dra upp motstånd för knappen. Det sparade en resistor för knappen.
}
//
//
void loop()
{
om (digitalRead(Button) == låg) //if knapp trycks
{
LED_state ++;
om (LED_state > 3) LED_state = 1; knappen stat från 1 till 3
//
Delay(300); Ett mycket enkelt sätt att hantera knappen studsande, men behovet av att justera fördröjningstiden att optimera resultatet.
}
//
växel (LED_state)
{
fall 1: / / LED
digitalWrite (LED, hög);
bryta;
fall 2: / / LED blinkar
currentMillis = millis(); börja intervall räkna
om (currentMillis - previousMillis > intervall)
{
digitalWrite (LED, digitalRead (LED) ^ 1); Läs staten LED, vända på det av XOR. Och slå på eller av följaktligen
previousMillis = currentMillis;
}
bryta;
fall 3: / / LED
digitalWrite (LED, låg);
bryta;
}
//
}