В этом проекте мы научимся считать количество нажатий кнопок на Keypad, и выводить это количество на семисегментный индикатор. Так, например, работает табло подсчёта забитых голов на спортивных соревнованиях!
Создайте переменную, которая будет выводиться на семисегментный индикатор. Реализуйте отображение переменной на индикаторе.
Реализуйте следующую логику программы:
- кнопка D0 уменьшает переменную на 1,
- кнопка D2 увеличивает переменную на 1,
- кнопка D1 сбрасывает переменную в 0.
Сделайте защиту переменной от выхода из диапазона от 0 до 99. Если например переменная приняла значение -1 она должна принудительно стать снова 0.
Мы рекомендуем сначала освоить материал и попробовать сделать программу самостоятельно! А потом проверить себя, посмотрев наш вариант решения:
#include <Eryoma.h>
Eryoma robot;
int count = 0;
void setup() {
robot.setupConnector(ePort0, DoubleSegment);
robot.setupConnector(ePort4, Keypad);
}
void loop() {
if(robot.read(ePort4, 0) == 0) count--;
if(robot.read(ePort4, 1) == 0) count = 0;
if(robot.read(ePort4, 2) == 0) count++;
robot.write(ePort0, count);
delay(100);
}
#include <Eryoma.h>
Eryoma robot;
int count = 0;
void setup() {
robot.setupConnector(ePort0, DoubleSegment);
robot.setupConnector(ePort4, Keypad);
}
void loop() {
robot.write(ePort0, count);
if (robot.read(ePort4, 0) == 0) count--;
if (robot.read(ePort4, 1) == 0) count = 0;
if (robot.read(ePort4, 2) == 0) count++;
if (count > 99) count = 99;
if (count < 0) count = 0;
delay(100);
}