Я думал дать каждому переключателю собственный подтягивающий резистор, но кажется, что это будет дорого и немного излишним. Но использование только одного подтягивания для всего блока может привести к перегрузке резистора (если только я не использую большой резистор).
Есть ли какие-то рекомендации в этой ситуации?
Резисторы SMD дешевы как грязь. Особенно, если вы купите полный рулон, скажем, 10 тысяч штук (то есть что-то широко используемое, чтобы вы могли использовать его в нескольких проектах). Подтягивающие резисторы сложно перегрузить, так как обычно они могут рассеивать 0,125 Вт.
Есть также 4 и 8 резисторов в 1 упаковке, это будет даже дешевле, если вы работаете в больших масштабах.
Вы не можете использовать один резистор для нескольких проводов - так как они будут закорочены (или вам понадобятся диоды :-D)
В зависимости от приложения у вас могут быть встроенные подтягивающие резисторы. Такие AVR, как ATmega168 и '328, делают…
Если у вашего микроконтроллера нет подтягиваний, другой подход заключается в том, чтобы объединить одну сторону всех переключателей, подключиться к входу с подтягиванием и подключить каждый из переключателей к другим контактам ввода-вывода. Все последние контакты имеют три состояния, кроме одного, который вытягивается в низкий уровень для считывания состояния его переключателя на входном контакте.
Если вы подключите все ваши переключатели к одному резистору, все ваши переключатели будут параллельны, и у вас будет только 1 выход вместо 8. Фактически это вентиль НЕ-ИЛИ: если хотя бы один переключатель замкнут, выход станет низким, если все переключатели разомкнуты, выход будет высоким. Это может иметь свое применение, но это не та функциональность, которую вы хотите.
Вам нужен подтягивающий резистор на переключатель.
Как BarsMonster говорит, что резисторы дешевы (не только SMD). Не покупайте одну деталь, один углеродно-пленочный резистор мощностью 1/4 Вт стоит в Digikey 8 центов, а комплект из 100 резисторов стоит 2,2 цента за резистор. Имейте под рукой несколько стандартных значений, например 1k. (типично для базового резистора транзистора) и 10k (характерно для подтягиваний).
самос
Ник Т
Стивенвх