Актуальная версия: Пересмотрена Ктопка #
Для Int - короткое нажатие Backspace, длинное - Reset
Для Float - короткое нажатие Точка, длинное - Reset
Отдельного входа Reset теперь нет.
Вид нового блокаПоказать
История версий: - Исправлен баг использования нескольких блоков в проекте 27.01.2022
Ввод числа с матричной клавиатуры.flp (удалено)
.
Блок KeyNumber это блок ввода числа с клавиатуры.
Создавался для работы с матричной клавиатурой.
Привязки блока к конкретной клавиатуре нет. Можно вообще использовать отдельные кнопки.
В примере используется штатный блок клавиатуры, который настраивается.
Входы:
1, 2, 3 ,,, 0 - ввод цифр.
" ± " - Смена знака числа
" • " - Точка (Доступен только для Float)
" < " - Backspace (Доступен только для Long)
Reset - сброс значения на выходах.
Выходы:
Press - На этом выходе формируется короткий импульс при вводе любой цифры.
Num - Хранит последнюю введенную цифру.
Long - Вводимое число в формате long integer
Float - Вводимое число в формате float
Внимание! (Во избежание глупых не очень умных вопросов)
Формат float в Arduino имеет точность 5-6 знаков в совокупности.
Т.е. доступно к примеру 44.4444 или 44444.4
а попытка работать с числом вида 44444444.44444444 ВСЕГДА приведет к ошибке точности.
Подобный алгоритм реализован (вшит) в штатном блоке меню, однако в отличии от него, данный блок не использует стринговые переменные, массивы и структуры. Вся логика основана на вычислениях.
В проекте - примере есть маленькая оплошность. Для того что бы увидеть на дисплее короткий импульс со выхода Press, необходимо добавить блок таймера на отключение на 200-500 мс. (Лень перезаливать)