2025 Автор: John Day | [email protected]. Последнее изменение: 2025-01-13 06:58
Всем привет, Когда ваши проекты Arduino переросли мигающие светодиоды, вам могут понадобиться дополнительные контакты.
Я покажу вам трюк, который вы можете использовать, когда у вас может быть несколько кнопок, все из которых подключены к одному аналоговому выводу.
Шаг 1: материалы
Схема очень проста и требует только резистора 1 кОм для каждого переключателя. По сути, мы строим делитель напряжения, в котором нажатием каждой кнопки мы подключаем резисторы разного количества к аналоговому входу на Arduino.
Шаг 2: Схема
Начните с подключения одного из резисторов к выходу 5 В и одной стороне первого переключателя. Затем необходимо заземлить другую сторону переключателя. Каждая дополнительная кнопка будет подключена к собственному резистору последовательно с первым и заземлением с другой стороны.
Штырь аналогового входа подключается между первым резистором и первой кнопкой входа.
Полная схема EasyEda доступна здесь:
Шаг 3: Код
Код очень прост: в первой строке функции цикла мы считываем значение аналогового входа, а затем сравниваем его с определенным порогом, чтобы определить, какая кнопка нажата. Чтобы определить правильные значения, я сначала напечатал только значение аналогового вывода на последовательном мониторе, а затем преобразовал его в правильный диапазон.
Полный код можно загрузить с моей страницы GitHub:
Шаг 4: Дальнейшее расширение
Этот метод можно легко масштабировать для множества кнопок, но имейте в виду, что чем больше вы добавляете, тем меньше будет разница пороговых значений, поэтому любые изменения входного напряжения могут привести к неправильному считыванию. Однако для обычных операций с 10-15 кнопками это не должно быть проблемой.