Вопрос о кнопках и INPUT_PULLUP
Я неплохой разработчик, но у меня очень мало опыта в области электроники/оборудования. Я всегда слишком осторожен и боюсь, что могу что-то испортить неправильной проводкой. Этот вопрос может показаться вам глупым, но я нигде не смог найти ответ. Наверное, очень легко ответить.
Я хочу интегрировать кнопку в свою настройку Arduino Uno. Единственными другими соединениями являются 3 провода, ведущие к полосе WS2811b, стандартная установка. Из того, что я узнал в Интернете, я должен в основном подключить цифровой контакт 2 (или любой другой) к одной стороне/разъему кнопки и GND к другой стороне, без резистора, а затем установить режим контакта на INPUT_PULLUP:
pinMode(BUTTON_PIN, INPUT_PULLUP);
В этом есть смысл. Но во всех уроках, которые я видел, используются эти маленькие черные кнопки, похожие на переключатель сброса. Мне нужно было что-то большее, поэтому я купил это: https://de.aliexpress.com/item/4001095221773.html
Теперь вопрос: следует ли подключать эти кнопки к моему Arduino таким же образом? Или, может быть, есть какая-то разница между одним типом кнопки и другим, о которой я не подумал (что, вероятно, может все испортить)?
Большое спасибо!
@Mister Woyng, 👍-1
Обсуждение2 ответа
Да, просто соедините их таким же образом.
Неважно, какую кнопку вы используете. Вы даже можете использовать провод и позволить ему коснуться земли, когда вам нужно «нажать». Это также будет работать правильно. Единственное требование состоит в том, что эта часть должна обеспечивать прямое соединение между контактом цифрового входа и землей при нажатии и разъединять это соединение, когда больше не нажимается.
Большое спасибо. Четкий и мгновенно используемый ответ. Я знаю, почему я люблю stackexchange :-) Тот же вопрос в специальной группе «Вопросы для начинающих по Arduino» на Facebook привел к буре дерьма, и меня выгнали из группы =:-[], @Mister Woyng
Мне жаль слышать, что у вас был такой опыт с другой группой. Иногда люди забывают, что они здесь, чтобы помогать людям, которые задают вопросы, а не рассказывать им [насколько глупый вопрос](https://en.wikipedia.org/wiki/No_such_thing_as_a_stupid_question)., @Nick Gammon
Я очень осторожен, когда дело доходит до электричества, поэтому мне нужно о многом спросить и убедиться, что ничего плохого не произойдет. Но многие пользователи из групп технических пользователей, кажется, рассматривают новичков как пушечное мясо и используют их, чтобы хвастаться своим эго. Ответа на вопрос, конечно, не будет., @Mister Woyng
Вы можете подключить их без внешних подтягивающих резисторов. Если эти провода переключателя имеют длину более нескольких дюймов или вы находитесь в среде с электрическим шумом, я бы предложил внешнюю подтяжку, а провода будут действовать как антенна. Внутренние подтягивания слабы, поэтому электрический шум может легко их пересилить. Выбранные вами кнопки, вероятно, со временем окислятся и выйдут из строя, поскольку оксид является изолятором. Чтобы предотвратить это, используйте подтягивающие резисторы, которые будут пропускать через контакты не менее 1 мА (старая школа). Мы используем, чтобы быть уверенными, что у нас есть некоторый ток через переключатель, когда это не был переключатель с сухим контактом (они были дорогими). Эмпирическое правило заключалось в том, что по крайней мере на 1 мА больше было хорошо. Это также помогло уменьшить шум в линиях переключения. В долгосрочной перспективе это намного эффективнее, чем опечатывание переключателя.
Спасибо за эту информацию. Что можно сделать, чтобы предотвратить окисление? Будет ли хорошей идеей горячий клей на задней панели после пайки?, @Mister Woyng
https://en.wikipedia.org/wiki/Wetting_current, @timemage
- Как переключить светодиод при нажатии кнопки?
- Определение того, была ли нажата и отпущена кнопка
- Нажать клавишу Windows, используя «keyboard.press();»
- Устранение дребезга кнопки с помощью прерывания
- Хорошая кнопка debouncing/Библиотека StateChange
- Напряжение меняется, но цифровой поток всегда HIGH
- Остановить мигание светодиодов
- Интеграция 2 кнопок для включения и выключения светодиода.
Привет коллега программист. Я предлагаю вам погуглить слово Tinkercad. :) Пожалуйста., @Filip Franik
Ага. Большое спасибо :-), @Mister Woyng