INPUT_PULLUP для кнопок
- Войдите на сайт для отправки комментариев
Чт, 07/02/2019 - 16:04
Читаю, смотрю видео-уроки, но не очень понимаю INPUT_PULLUP: Когда он включен (pinMode(BUTTON_PIN, INPUT_PULLUP);), то внутри ардуино этот пин уже подключен к GND через внутренний резистор, правильно я понимаю?
И почему INPUT_PULLUP не пользуют в серьёзных проектах, вроде как? Неужели лучше обвешаться соплями-резисторами, так сказать?
Расскажите об INPUT_PULLUP что-нибудь для лучшего понимания, пожалуйста.
уже подключен к GND через внутренний резистор, правильно я понимаю?
к питанию он подключен, а внешний резистор для надежности еще припаивают параллельно внутреннему фактически. говорят внутрение иногда умирают.
https://ru.wikipedia.org/wiki/%D0%9F%D0%BE%D0%B4%D1%82%D1%8F%D0%B3%D0%B8...
Т.е. вот так, получается?
1) Насколько это реально повышает надёжность (как часто умирают внутренние)?
2) Какие именно внешние резисторы используют?
3) Куда (на схеме выше, если она верна) припаивают внешние, чтобы паралельно внутренним получилось?
4) Если внутренний умер (а внешнего нет), то что тогда происходит с устройством? пин тоже выгорает или просто перестаёт реагировать на кнопку?
http://arduino.ru/Tutorial/DigitalPins
https://tsibrov.blogspot.com/2018/02/pullupresistors.html
https://arduinomaster.ru/datchiki-arduino/knopka-arduino/
http://codius.ru/articles/%D0%9F%D0%BE%D0%B4%D1%82%D1%8F%D0%B3%D0%B8%D0%...
дальше в интернете я думаю найдете - литературы масса....
1) как повезёт, у меня не происходило ни разу за 5 лет
2) 5к-10к - 50к - 100к, на 0.125/0.25 Вт
3) между PIN и PIN +5V
4) Пин переходит в Hi-Z state и на нём начинает рандомно скакать напряжение. Кнопка может начать "нажиматься" сама по себе, поднесли девайс поближе к розетке - отжалась, отдалили - "самонажалась". А может и не начать, смотря какая около девайса электромагнитная обстановка.
andycat, negavoid, спасибо, интересно, кое-что из этого я уже читал - остальное скоро прочитаю.
Но вкратце скажите, пожалуйста, моя схема верна или где-то ошибка?
Где-то ошибка
Ты ее не видишь, мы ее не видим, а она есть... :-)
вкратце схема верна :)
1) Насколько это реально повышает надёжность (как часто умирают внутренние)?
Насколько я понимаю, это из области легенд - у кого-то однажды умер встроенный резистор, он эту инфу распространил - и с тех пор часть народа стала ставить внешние... А по факту - именно для такого применения и реализованы в МК внутренние подтягивающие резисторы. Лично я считаю внешние ненужным усложнением схемы - если некуда резисторы девать, то лучше подвесить последовательно кнопке - это хотя бы защищает от ошибок при программировании - без этого если случайно перепутать, настроить пин на вывод и подать плюс - то нажатие кнопки уничтожит порт. Но это уже от внимательности и аккуратности зависит. Разумеется, для такого применения надо номинал пониже брать - например, 1K.
Ну и еще следует учитывать, что требования к надежности разные бывают - одно дело, когда кнопка включает/выключает светодиод, другое - когда перемещает стержни замедлителей нейтронов в ядерном реакторе. Сами понимаете, в последнем случае все следует делать максимально надежно, все системы дублировать многократно.
Прочитал все вышеприведённые статьи - спасибо! Теперь с INPUT_PULLUP понятно.
Но стало не понятно с INPUT: почему внутренний резистор сам сразу не включается при объявлении пина на вход? Неужели смысл этого только в том, что кто-то может захотеть использовать более сильный резистор (внешний, соответственно) и/или подтягивать непременно на землю, а не на питание (как это сделано в МК ардуины)??
Jake, надежность понимается в несколько другом смысле.
Чем ниже сопротивление, тем выше помехоустойчивость, но одновременно увеличивается энергопоребление и нагрев.
Встроенные резисторы 20к-50к, их хватает, если кнопка расположена рядом с контроллером. А вот если кнопка вынесена на десятки см или метры, лучше поставить внешний резистор поменьше - от сотен Ом до кОма. А то и зашунтировать его еще конденсатором.
Очень часто надо притягивать к земле. И не всегда на вход только кнопки подключают. И тогода вообще никаких резисторов может не требоваться.
Они ещё (унутре которые), пишут, слишком большого номинала . Могут не перетянуть помеху в полевых условиях.
Очень часто надо притягивать к земле. И не всегда на вход только кнопки подключают. И тогода вообще никаких резисторов может не требоваться.
Они ещё (унутре которые), пишут, слишком большого номинала . Могут не перетянуть помеху в полевых условиях.
Они ещё (унутре которые), пишут, слишком большого номинала . Могут не перетянуть помеху в полевых условиях.
Несомненно. Однако нужно правильно рассчитать их номинал, как минимум. А если уж будете ставить дополнительные, то нужны ли внутренние - вопрос исключительно персональных пристрастий.
А если уж будете ставить дополнительные, то нужны ли внутренние - вопрос исключительно персональных пристрастий.
Внутрений резистор умирает вместе с кристаллом микросхемы. Только так и не иначе.
Понятно, спасибо.