Чертовы кнопки

Алексей115

✩✩✩✩✩✩✩
4 Июн 2022
1
0
Всем доброго времени суток, я хотел бы узнать, как можно подключить несколько кнопок (например 6) так, чтобы при нажатии какой либо из кнопок, остальные все автоматически сбрасывались? Хочу сделать генератор частот, у которого будет кнопочное (возможно сенсорное) переключение диапазонов. Мог бы поставить галетный переключатель и не париться, но всё же даже больше для общего развития стало интересно, как это можно сделать. Заранее спасибо.
 

Геннадий П

★★★★★★✩
14 Апр 2021
1,963
632
44
Ну, сделать переменную состояния. Нажимается кнопка "1" - переменной присваивается 1, кнопка "2" - в переменную 2, и т.д.
Если не используя контроллер, то если не ошибаюсь это через RS-триггеры делается.
 
Изменено:

viktor1703

★★★✩✩✩✩
9 Дек 2021
603
143
как можно подключить несколько кнопок
Руками, через проводники с помощью пайки, различных клеммных зажимов, да хоть сварки. 😁 А если серьёзно, то к чему именно подключать кнопки? Если к микроконтроллеру какому, то любые кнопки без фиксации подойдут. Нажал первую, как писал выше @Геннадий П
Нажимается кнопка "1" - переменной присваивается 1, кнопка "2" - в переменную 2
Для индикации можно возле каждой светодиод свой зажигать при нажатии одной и тушить при нажатии друго кнопки.
 

Nitrogenium

✩✩✩✩✩✩✩
25 Ноя 2022
27
2
@Алексей115,

Давай рассмотрим джойстик от денди . 6 клавиш Верх, Вниз, Влево, Вправо, А,Б.

Каждое нажатие пишется в 8 битный, сдвиговый регистр.

Через какое-то время контроллер денди опрашивает сдвиговый регистр джойстика(-ов). И всё отлично работает.

Естессно, иногда, не скажем часто, но возникают ситуация, когда ...... геймер кричит : " Я нажималл!!!"

В следствии того, что ну контроллер, физически опрашивает через определенные промежутки времени. И само само собой возникает ситуация, когда ты сделал нажатие, но... МК тебя не услышал...

Чтобы зафиксировать свой посыл, существуют микросхемы (защелки) триггеров . Существуют они конечно не только для этого ;)

Не слышал про такое? Ну надо когда-то начинать гуглить! ;)

Триггер + Сдвиговый регистр, позволяют работать с клавиатурой без прерываний.

То есть опрашиваешь сдвиговый регистр, когда в коде появляется для этого время. До этого момента, нажатая клавиша терпеливо ждет.
 
Изменено: