Stap 7: De waarde van besturingselement wijzigen op basis van indrukken van de tijd van een drukknop
Als de knop wordt ingedrukt één keer, zal de waarde met één worden verhoogd.
Maar als de knop continu ingedrukt is, de waarde zal worden verhoogd door een voortdurend op de
begin. En later de waarde zal worden verhoogd met 10 voortdurend. En dan 100 als houden op
de knop te drukken.
Button_07
Besturingselement wijzigen op basis van indrukken van de tijd van een drukknop
//
gemaakt door uvvvvw
2015-04-05
//
#include
#include
LiquidCrystal_I2C lcd(0x27,16,2); 0x27 het LCD-adres instelt voor een 16 tekens en 2 regelig display
//
Const int knop = 12; Definiëren van de knop pin
int Button_still_pressed = laag; Status van de knop
lange Button_count = 0; Neem de tijd te drukken
lange waarde = 0; Waarde die zal worden verhoogd terwijl de knop is ingedrukt
//
//
VOID Setup
{
pinMode (knop, INPUT);
digitalWrite (knop, hoge); Gebruik interne pull up weerstand voor de knop. Het opgeslagen een weerstand voor de knop.
//
LCD.init();
delay(400);
LCD.init();
LCD.Clear();
LCD.cursor();
LCD.Blink();
LCD.backlight();
//
lcd.setCursor(0,0);
LCD.Print(Value);
}
//
//
void loop
{
{}
Als (digitalRead(Button) == LOW) //if knop is ingedrukt
{
Button_still_pressed = hoog;
Button_count ++;
//
Als (Button_count < 20)
{
Waarde ++;
lcd.setCursor(0,0);
LCD.Print(Value);
LCD.Print("");
}
anders
{
Als (Button_count < 100)
{
Waarde = waarde + 10;
lcd.setCursor(0,0);
LCD.Print(Value);
LCD.Print("");
}
anders
{
Button_count = 100;
Waarde = waarde + 100;
lcd.setCursor(0,0);
LCD.Print(Value);
LCD.Print("");
}
}
}
anders
{
Button_still_pressed = laag;
Button_count = 0;
}
delay(300); Een zeer eenvoudige manier om de knop stuiteren, maar de noodzaak van aanpassing van de vertragingstijd voor het optimaliseren van het resultaat.
} terwijl (Button_still_pressed);
//
}