Как обнаружить нажатия кнопок с помощью сдвигового регистра 74HC595?

Есть ли способ, которым мой Arduino Uno может различать кнопки, подключенные через сдвиговый регистр, и определять, когда каждая из них нажата или нет? Я нашел это руководство для 74HC165, но не уверен, что оно применимо к 74HC595.

, 👍0


1 ответ


1

74HC595 — это десериализатор, а 74HC165 — это сериализатор. Это означает, что первый использует последовательный поток данных и предоставляет все биты данных параллельно на выделенных линиях данных. В то время как последний потребляет параллельные данные и преобразует их в последовательный поток данных.

Для сканирования кнопок вам нужны параллельные входные данные, где каждый переключатель привязан к одной строке данных. Затем вы сериализуете данные, чтобы уменьшить количество необходимых входных данных Arduino. Этот метод хорошо объяснен в упомянутом туториале.

Поскольку 74HC595 является десериализатором, он здесь неприменим. Вместо этого вы можете использовать его для управления несколькими выходами через последовательный интерфейс (см. https://www.arduino.cc/en/tutorial). /ShiftOut в качестве примера).

,

Ну, это не совсем правда о том, что это не применимо. Его можно использовать как выходы для сканирования кнопок. Однако у него есть некоторые подводные камни, @KIIV