Stap 3: Controle LED op, blink en uit door een drukknop
Button_03
Controle LED op, blink en uit door een drukknop
//
gemaakt door uvvvvw
2015-04-05
//
Const int knop = 12; Definiëren van de knop pin
Const int LED = 4; Define LED pin
int LED_state = 3; Status van LED: 1(on), 2(blink), 3(off)
//
omgaan met het knipperen terwijl LED_state == 2
lange interval = 500; interval van knipperen (milliseconden)
unsigned long currentMillis; record de huidige tijd voor blinking
lange previousMillis = 0; opslaan van de laatste tijd LED werd bijgewerkt
//
//
VOID Setup
{
pinMode (LED, uitvoer);
pinMode (knop, INPUT);
digitalWrite (knop, hoge); Gebruik interne pull up weerstand voor de knop. Het opgeslagen een weerstand voor de knop.
}
//
//
void loop
{
Als (digitalRead(Button) == LOW) //if knop is ingedrukt
{
LED_state ++;
Als (LED_state > 3) LED_state = 1; knop staat van 1 tot 3
//
delay(300); Een zeer eenvoudige manier om de knop stuiteren, maar de noodzaak van aanpassing van de vertragingstijd voor het optimaliseren van het resultaat.
}
//
schakelaar (LED_state)
{
geval 1: / / LED op
digitalWrite (LED, hoge);
breken;
geval 2: / / LED knipperen
currentMillis = millis(); Start het interval tellen
Als (currentMillis - previousMillis > interval)
{
digitalWrite (LED, digitalRead (LED) ^ 1); Lees de staat van de Led, verso op door XOR. En zet hem in- of uitschakelen dienovereenkomstig
previousMillis = currentMillis;
}
breken;
Case 3: / / OPENDE
digitalWrite (LED, laag);
breken;
}
//
}