Цифровое считывание Последовательный учебник - вычисление значения резистора

Учебное пособие по Arduino Digital Read Serial поможет вам подключиться к простой кнопке. Мои вопросы сосредоточены вокруг резистора.

Зачем нужен резистор?

Думаю, я это понимаю, но исправьте меня, если я ошибаюсь. Чтобы убедиться, что входной контакт считывает низкий сигнал и не плавает, мы должны подключить контакт к земле, когда кнопка не нажата. Когда кнопка нажата, у нас будет сигнал 5 В, идущий как на штырь, так и на землю. Закон напряжения Кирхгофа утверждает, что полное напряжение в замкнутом контуре должно быть равно нулю, поэтому нам приходится иметь дело с этим 5V, который течет непосредственно на землю. Вот почему мы помещаем резистор между кнопкой и землей.

Как выбрано значение резистора?

Вот что я не понимаю. Закон Ома гласит, что ...

resistance = voltage / current

Это источник питания 5 В, а Arduino Uno говорит, что штырь обеспечивает 40 мА постоянного тока. Так ..

resistance = 5V / 0.04A = 125 Ohms

В учебном пособии Digital Read Serial почему у нас есть резистор 10 кОм? То есть это излишне, верно? Что приводит к другому вопросу: Можете ли вы когда-либо поставить слишком много сопротивления, если ваша единственная цель - стереть напряжение?

Заранее благодарим за любую обратную связь!

9 голосов | спросил Rip Leeb 6 J000000Sunday14 2014, 23:02:18

3 ответа


6

Ты очень близко. Резистор должен действовать как понижающий резистор; Если входной штырь плавающий, это просто антенна, собирающая случайный статический сигнал. Ключ состоит в том, что когда положительный сигнал подается (нажатием кнопки), положительный источник должен «подавить» выталкивающий резистор, чтобы входной контакт считался положительным.

Если сопротивление не было, то входной штырь будет считываться посредине прямого пути, который не благоприятствует положительному или отрицательному. Примите из прямого короткого замыкания, которое будет происходить, какое состояние, которое arduino читал, я подозреваю, будет либо случайным, либо некоторым свойством источника питания; Вероятно, он все еще читал бы почву.

При использовании резистора сигнал считывается напрямую с положительным, до сопротивления нагрузки. Таким образом, он обязательно получит сигнал HIGH.

Точный размер резистора не имеет большого значения. Слишком маленький, и вы теряете ток, но слишком много сопротивления фактически просто отключает землю снова. Существует очень широкий диапазон значений, которые будут хорошо работать между ними.

Я хотел бы отметить, что, когда для штыря arduino установлен режим ввода, он эффективно не подает ток. Он может быть moddeled находится в серии с резистором 100 мегаОм. см. http://arduino.cc/en/Tutorial/DigitalPins для деталей.

ответил BrettAM 6 J000000Sunday14 2014, 23:48:51
2
  

Зачем нужен резистор?

Входы Arduino имеют очень высокое сопротивление. Информационный бюллетень Atmega328 говорит 100 МОм для АЦП, такие высокие значения хороши, но имеют также недостаток, чтобы иметь дело с паразитными эффектами (сопротивление, индуктивность, емкость). Такие эффекты могут также использоваться как емкостные датчики .

  

Как выбрано значение резистора?

Резистор должен иметь произвольное значение, которое меньше входного сопротивления. 10k и выше хороши для отключения входной утечки.

Однако вы также можете оставить резистор, когда используете внутренние подтягивающие ресиверы. В этом случае вы имеете дело с отрицательной логикой:

pinMode(3, INPUT);
digitalWrite(3, HIGH);

На выводе 3 вы будете измерять HIGH, и кнопка должна быть подключена к контакту и земле. Внутренний нагрузочный резистор I /0 имеет значение 50 к.

ответил 7 J000000Monday14 2014, 20:22:17
1

У вас уже есть несколько хороших ответов о том, зачем нужен понижающий резистор.

Подводя итог, вам нужно подключить вход к земле, чтобы сохранить входной сигнал с плавающей полу-случайным образом между высоким и низким. Вы используете резистор, чтобы при закрытии переключателя вы не создавали короткое замыкание между питанием + 5V и землей.

Тем не менее, еще один момент. Входы Arduino включают дополнительный внутренний, управляемый программным обеспечением подтягивающий резистор. Если вы сначала настроили контакт в качестве входного сигнала, затем напишите значение HIGH для этого порта, он активирует нагрузочный резистор. Это приводит к тому, что контакт считывается как HIGH, если к нему ничего не подключено.

Затем вы можете подключить свой коммутатор к земле вместо + 5В. Затем вам нужно изменить свою логику кода, чтобы обрабатывать значение HIGH как не нажатое, и значение LOW, которое было нажато. Это позволяет немного упростить проводку, так как вам не нужен внешний резистор.

ответил Duncan C 15 J000000Tuesday14 2014, 18:40:50

Похожие вопросы

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132