Ввод с кнопки и подтягивающие резисторы
В прошлом уроке вы говорили Pico, что делать, включая и выключая светодиод. Теперь мы меняем направление: вместо того чтобы Pico говорил с миром, он будет его слушать. Тактовая кнопка — это самый простой способ для человека послать сигнал в микроконтроллер, а умение правильно её считывать открывает дорогу к любой клавиатуре, датчику, переключателю и органу управления, который вы когда-либо соберёте.
Главная идея одним предложением
Цифровой вход не измеряет «нажата ли кнопка?» — он измеряет напряжение. Он сообщает 1, когда видит напряжение около 3,3 В, и 0, когда видит напряжение около 0 В. Вся ваша задача при чтении кнопки — сделать так, чтобы вывод всегда видел одно из этих двух чётких напряжений и никогда не оставался «плавающим» где-то посередине.
Что вы сможете делать
- Настраивать вывод GPIO как цифровой вход с помощью
Pin.IN. - Читать вывод через
.value()и понимать, что означают0и1. - Объяснять проблему плавающего вывода и почему из-за неё кнопки ведут себя как одержимые.
- Использовать внутренние подтягивающие резисторы к питанию и к земле Pico и подключать кнопку для каждого случая.
- Переключать светодиод при каждом нажатии и надёжно считать нажатия.
- Понимать дребезг кнопки и устранять его программным подавлением дребезга.