Матричная клавиатура, запоминание нажатий

Здравствуйте, подскажите пожалуйста пример скетча запоминания нажатия клавиатуры 4х3 или 4х4. По сути чтоб был аналог кнопок с фиксацией но на обычной клаве, можно ли это на flag или лучше записывать в память?

Для начала определитесь четко, что вам нужно. Напишите детальный алгоритм простыми словами. Когда справитесь с этим, то и в код реализовать сможете легко. А пока вы даже вопрос четко задать не в состоянии :wink:

2 лайка

А “flag” где будет, если не в памяти?

Ну, даже неудобно как-то … а куда его обычно втыкают?

Обычно - “На память”.

Обычно флаг водружают!))

недавно была тема про матрицу и светодиоды там поищите

Да ёлки-иголки!
Понятно, что вопрос туп, но ведь он от новичка!
Ответ:
Если нужно «сохранять состояния кнопок» после перезагрузки - используй EEPROM. Если этого не нужно - достаточно переменных типа bool (оно же на языке ТС - flag, только во множественном числе).

1 лайк

Вот именно, от новичка. И наверняка он имеет в виду что-то совсем иное. Я даже готов поспорить, что еЕпром ему не нужен

Алгоритм такой: клавиатура+lcd+переключатель вкл-откл-вкл(вперёд-откл-назад).При нажатии кнопки на клаве включается реле “x” и остаётся вкл независимо от манипуляций с переключателем до момента нажатия на следующую кнопку клавиатуры. У меня получается что после включения или выключения переключателя для входа в режим нужно опять нажимать кнопку клавиатуры, как можно сделать запоминание кнопки, как будто она с фиксацией состояния? Если не трудно может кто подскажет

То есть вопрос фиксации состояния реле при нажатии вы решили, осталось лишь проблема отключения реле при нажатии переключателя?
Кто и зачем выключает реле при изменении положения переключателя?

Ну флаги втыкают, что бы флаг стоял и не падал

главный ввопрос как вы работаете с клавой те как опрашиваете и исходя из этого все ппроисходит далее

Это очень плохой алгоритм. Не хватает детализации. Например, что такое переключатель, что происходит при его переключении и почему при этом отключаются реле? Думайте еще

1 лайк

тема называется кнопки и светодиоды в одной матрице

Это и не алгоритм вовсе. Просто малосвязный набор букв

1 лайк

Переключатель переключает вперед-стоп-назад (реверс) а клавиатура в зависимости от номера кнопки своим номером реле их 7шт. Например:
(П1)если включаю на клаве 1 переключатель-в положении выкл тогда включается реле1 на ЛСД вывод 1выкл. (П1.1) включаю переключатель вперёд тогда остаётся вкл реле1 включается переключатель он тоже подключен на вход МК на ЛСД вывод -1вперед, включаю переключатель назад реле 1остается вкл, на ЛСД -1назад. И т.д режимы на клаве 2,3,4 .У меня получилось что после переключателя надо снова нажимать на клавиатуру чтобы выполнило условие

“кнопки и светодиоды в одном месте… том куда втыкают флаг”

2 лайка

Рецепты у всех разные. Но не ко всем “больным” они подходят. Мой рецепт. Сделай драйвер клавиатуры с обработчиком на каждую кнопку. А потом в зависимости от запоминания, меняй обработчики.

А можно запомнить как-то key пока не будет нажата следующая кнопка