В базовой переменной и установке кнопок в программном обеспечении Arduino идея заключается в том, что если вы нажмете кнопку, вы получите одну из переменных. Теоретически, удержание кнопки не должно приводить к увеличению переменной более чем на единицу до отпускания и повторного нажатия кнопки. Однако я не мог этого сделать. Как это должно быть сделано?
Я пытался использовать else с задержкой (потому что добавление единицы к коду переменной было внутри оператора if), поэтому он не задерживался, если кнопка и не отпущена, и не считал несколько входов кнопки, но это привело к большее увеличение при нажатии кнопки, а не одно увеличение.
const int buttonPin = 8;
int number = 0;
int numbertwo = 0;
int buttonState = 0;
void setup()
{
pinMode(buttonPin, INPUT);
}
void loop()
{
buttonState = digitalRead(buttonPin);
if (buttonState == LOW){
numbertwo = ++number;
delay(100);
}
(Можно использовать любой метод для определения переменной, как на ЖК-дисплее)
Как упоминалось выше, я ожидал, что переменная будет увеличиваться только на единицу при нажатии кнопки и не будет продолжать увеличиваться до тех пор, пока кнопка не будет отпущена и повторно нажата, но на самом деле произошло то, что переменная продолжала увеличиваться в значении как кнопка был проведен.