Ввод числа с клавиатуры

Матричная клавиатура ввод числа значения матричной

Пользовательские блоки для вывода информации на дисплеи и индикаторы, управления тачскрином, различными клавиатурами, добавления русских шрифтов для вывода на дисплеи типа HD44780
Правила форума
Рекомендации по размещению блоков:
Автор блока создает подробное описание блока, отличие от подобных(если есть на данный момент).Сложные блоки очень желательно с примерами.
При выходе новых версий редактирует/дополняет свой первый пост с указанием даты, версии, причины.
В каждой теме обсуждается только выложенный автором блок - баги, возможность (или предложение) доработки и прочие хотелки.
Свои блоки, переработанные, с другими библиотеками, протоколами и т.д.- размещаем либо сами отдельно, либо обсуждаем и дорабатываем в форуме Разработка блоков.
Пользователи улучшив блок автора и проверив его работоспособность - могут обратиться к автору или модераторам с просьбой добавить их версию блока в первое сообщение темы.
Аватара пользователя
Dryundel
Полковник
Сообщения: 2401
Зарегистрирован: 22.05.2017{, 23:15}
Репутация: 783
Откуда: Ярославль
Имя: Андрей
Контактная информация:

Ввод числа с клавиатуры

#1

Сообщение Dryundel » 22.01.2022{, 16:26}

KeyNumber
Ввод числа с матричной клавиатуры.jpg
Ввод числа с матричной клавиатуры.jpg (46.15 КБ) 2298 просмотров
.

Актуальная версия: Пересмотрена Ктопка #
Для Int - короткое нажатие Backspace, длинное - Reset
Для Float - короткое нажатие Точка, длинное - Reset
Отдельного входа Reset теперь нет.
Вид нового блокаПоказать
1.jpg
1.jpg (9.57 КБ) 1828 просмотров
.
История версий: - Исправлен баг использования нескольких блоков в проекте 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 мс. (Лень перезаливать)

vitalik9
Рядовой
Сообщения: 40
Зарегистрирован: 22.08.2021{, 12:08}
Репутация: 0
Имя: Виталий

Ввод числа с клавиатуры

#21

Сообщение vitalik9 » 09.08.2022{, 20:06}

Можно ли добавить к блоку клавишу подтверждения ввода числа, типа клавиши enter и чтоб на выходе появлялся короткий импульс при ее нажатии.

Аватара пользователя
Dryundel
Полковник
Сообщения: 2401
Зарегистрирован: 22.05.2017{, 23:15}
Репутация: 783
Откуда: Ярославль
Имя: Андрей
Контактная информация:

Ввод числа с клавиатуры

#22

Сообщение Dryundel » 09.08.2022{, 20:22}

vitalik9 писал(а):
09.08.2022{, 20:06}
Можно ли добавить к блоку клавишу подтверждения ввода числа, типа клавиши enter и чтоб на выходе появлялся короткий импульс при ее нажатии.
К блоку то можно. Вот только для какой клавише клавиатуры (3х4), эту Enter назначить?

vitalik9
Рядовой
Сообщения: 40
Зарегистрирован: 22.08.2021{, 12:08}
Репутация: 0
Имя: Виталий

Ввод числа с клавиатуры

#23

Сообщение vitalik9 » 09.08.2022{, 20:30}

допустим клавиша решетка при использовании данной клавиатуры мне для проекта это нужно
Вложения
Screenshot_3.jpg

Аватара пользователя
Dryundel
Полковник
Сообщения: 2401
Зарегистрирован: 22.05.2017{, 23:15}
Репутация: 783
Откуда: Ярославль
Имя: Андрей
Контактная информация:

Ввод числа с клавиатуры

#24

Сообщение Dryundel » 10.08.2022{, 08:52}

vitalik9 писал(а):
09.08.2022{, 20:30}
допустим клавиша решетка при использовании данной клавиатуры
Dryundel писал(а):
22.01.2022{, 16:26}
Пересмотрена Ктопка #
Для Int - короткое нажатие Backspace, длинное - Reset
Для Float - короткое нажатие Точка, длинное - Reset
А куда девать уже имеющийся функционал.?

Naladchik
Капитан
Сообщения: 823
Зарегистрирован: 04.10.2015{, 19:10}
Репутация: 153
Откуда: Новосибирск
Имя: Павел

Ввод числа с клавиатуры

#25

Сообщение Naladchik » 10.08.2022{, 14:56}

Dryundel писал(а):
10.08.2022{, 08:52}
А куда девать уже имеющийся функционал.?
Переназначить через параметр
Win10-64. FLProg Portable.
Изображение

Ответить

Вернуться в «Дисплеи, индикаторы и клавиатуры»