Почему эта кнопка имеет заземление?
Я тестирую этот базовый пример кнопки со страницы руководства по Arduino.
Эта схема обеспечивает подачу питания на контакт 2 при нажатии кнопки. Когда кнопка не нажата, питание идет через резистор на землю, но у меня вопрос: зачем вообще нужно подключение к земле?
Разве вы не можете подать питание от 5 В на контакт 2 или просто НЕТ соединения вообще, когда кнопка не нажата?
@Kokodoko, 👍6
Обсуждение3 ответа
Лучший ответ:
Когда кнопка не нажата, питание идет через резистор на землю.
Когда кнопка не нажата, не контакт 5 В подключен к земле, а входной контакт подключен к земле. Это необходимо для того, чтобы входное напряжение не колебалось между 0 В и 5 В.
Когда входной контакт не подключен к 5 В или GND, он имеет тенденцию случайным образом меняться с «ВЫСОКОГО» на «НИЗКИЙ». Чтобы избежать этого и подавить внешние помехи, просто заземлите контакт.
Ах, я не видел, чтобы соединение было между контактом 2 и землей. Меня всегда смущают эти маленькие кнопки., @Kokodoko
Этот резистор называется резистором pull-down. Он нужен для того, чтобы убедиться, что вывод 2 считывается на низком уровне, когда кнопка не нажата. Если вы его не поместите, вывод 2 останется «плавающим», и он может ошибочно считывать высокое значение. Погуглите для получения дополнительной информации.
Если вы хотите упростить схему, вы можете вместо этого использовать подтягивающий резистор и подключить кнопку к земле вместо 5 В. Чип ATMega на Arduino имеет эти подтягивающие резисторы, встроенные в сам чип, поэтому вам не нужно добавлять один на макетную плату. Просто не стоит забывать, что входные значения будут перевернуты. Таким образом, вывод 2 будет считываться как НИЗКИЙ, когда кнопка нажата, и как ВЫСОКИЙ, когда нет. Чтобы активировать внутренний подтягивающий резистор, используйте pinMode(2, INPUT_PULLUP)
Проще говоря, чтобы избежать неопределенного состояния. Этот тип расположения резисторов известен как Pull Down Resistor. (Pull-Up также существует)
- Как переключить светодиод при нажатии кнопки?
- Нажать клавишу Windows, используя «keyboard.press();»
- Устранение дребезга кнопки с помощью прерывания
- Хорошая кнопка debouncing/Библиотека StateChange
- Напряжение меняется, но цифровой поток всегда HIGH
- Остановить мигание светодиодов
- Интеграция 2 кнопок для включения и выключения светодиода.
- Код Arduino для управления 4 светодиодами с 4 кнопок
Не думайте о том, куда «течет сила» (ток), думайте о напряжениях. Это облегчит понимание более сложных схем., @geometrikal