Подсчёт нажатий кнопки
Часть раздела Входные сигналы путешествия по Arduino на Coddy. Урок 5 из 22.
Фронт сигнала из предыдущего урока может запускать любое действие, которое должно происходить один раз при каждом нажатии. Здесь он увеличивает счётчик на единицу с помощью ++ из урока «Подсчёт вверх»:
int presses = 0;
void loop() {
int reading = digitalRead(2);
if (reading == LOW && lastReading == HIGH) {
presses++;
Serial.println(presses);
}
lastReading = reading;
}presses находится выше setup(), как и lastReading, поэтому сохраняет своё значение между запусками loop().
Вывод находится внутри if, поэтому число появляется только при изменении счётчика: 1, 2, 3. Вне if одно и то же значение счётчика выводилось бы тысячи раз в секунду.
Задание
ЛегкоКнопка подключена к пину 2 (INPUT_PULLUP). Считай количество нажатий:
- храни количество в
presses, объявленной вышеsetup() - когда кнопка нажимается, прибавь единицу и выведи количество
Нажми Run, нажми кнопку несколько раз и следи за монитором Serial, затем нажми Check.
Попробуйте сами
const int buttonPin = 2;
int lastReading = HIGH;
void setup() {
pinMode(buttonPin, INPUT_PULLUP);
Serial.begin(9600);
}
void loop() {
int reading = digitalRead(buttonPin);
// когда кнопка нажимается, увеличь счётчик и выведи его значение
lastReading = reading;
}
В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.
Все уроки раздела Входные сигналы
Потренируйтесь самостоятельно: Песочница Arduino