Как обнаружить нажатия кнопок с помощью сдвигового регистра 74HC595?
Есть ли способ, которым мой Arduino Uno может различать кнопки, подключенные через сдвиговый регистр, и определять, когда каждая из них нажата или нет? Я нашел это руководство для 74HC165, но не уверен, что оно применимо к 74HC595.
@Ryan F, 👍0
1 ответ
74HC595 — это десериализатор, а 74HC165 — это сериализатор. Это означает, что первый использует последовательный поток данных и предоставляет все биты данных параллельно на выделенных линиях данных. В то время как последний потребляет параллельные данные и преобразует их в последовательный поток данных.
Для сканирования кнопок вам нужны параллельные входные данные, где каждый переключатель привязан к одной строке данных. Затем вы сериализуете данные, чтобы уменьшить количество необходимых входных данных Arduino. Этот метод хорошо объяснен в упомянутом туториале.
Поскольку 74HC595 является десериализатором, он здесь неприменим. Вместо этого вы можете использовать его для управления несколькими выходами через последовательный интерфейс (см. https://www.arduino.cc/en/tutorial). /ShiftOut в качестве примера).
- Определение того, была ли нажата и отпущена кнопка
- Хорошая кнопка debouncing/Библиотека StateChange
- Остановить мигание светодиодов
- Интеграция 2 кнопок для включения и выключения светодиода.
- Код Arduino для управления 4 светодиодами с 4 кнопок
- Нужен ли подтягивающий/понижающий резистор для цепи светодиода кнопки?
- 74HC595 к 4 значному 7 сегменту с использованием библиотеки SevSegShift
- Как прервать функцию цикла и перезапустить ее?
Ну, это не совсем правда о том, что это не применимо. Его можно использовать как выходы для сканирования кнопок. Однако у него есть некоторые подводные камни, @KIIV