Ввод 3х чисел с помощью 2х кнопок на LCD - помощь с кодом

DiJett
Offline
Зарегистрирован: 09.02.2020

Всем привет.
Прошу подсказок по алгоритму и коду.
Задача - задать начальные значения 3х чисел до старта основного цикла программы
Числа находятся в диапазоне 1-9
При старте программы выводятся на дисплей 1602 в виде - 111
Имеется 2 тактовых кнопки, одна перемещает курсор по циклу  - первая цифра -> вторая -> третья -> первая
Вторая кнопка изменяет значение цифры на которой находится курсор от 1 до 9

Далее жмем энтер и основной цикл запускается со значениями переменных, полученных при вводе.

Подскажите как правильно реализовать передвижение курсора и изменение выбранной курсором цифры?

sadman41
Offline
Зарегистрирован: 19.10.2016

Через lcd.setCursor() и lcd.print()

DiJett
Offline
Зарегистрирован: 09.02.2020

Как перемещать курсор по циклу я еще понимаю, а вот как вводить цифры и сохранять их значение в 3 переменных пока сообразить не могу

ЕвгенийП
ЕвгенийП аватар
Offline
Зарегистрирован: 25.05.2015

Ну, Вы хоть пытались? Показывайте.

Atmega328
Offline
Зарегистрирован: 11.02.2020

"Как перемещать курсор по циклу я еще понимаю, а вот как вводить цифры и сохранять их значение в 3 переменных пока сообразить не могу"

Попробую задать направление.

Для цифр стоит организовать массив из трех элементов - ОДНУ переменную вместо трех - в этом фокус) . Нажатием "третьей кнопки" изменять его текущий элемент. Указатель на текущий элемент - привязать к положению курсора. Число соответственно выводить как три цифры из массива.

DiJett
Offline
Зарегистрирован: 09.02.2020

Спасибо, разобрался.
Двигаю курсор по нажатию кнопки - каждому положению соответствует значение переменной
Курсор ставлю по значению переменной
Считаю нажатие другой кнопки и присваиваю переменной значение соответственно положению курсора.
Код выложу попозже