Menu
CoddyTech

Подтягивающий резистор к земле

Часть раздела Входные сигналы путешествия по Arduino на Coddy. Урок 2 из 22.

Входной контакт, ни к чему не подключённый, находится в плавающем состоянии. Он улавливает электрические помехи из воздуха и от твоей руки, поэтому случайным образом считывает HIGH или LOW. На этой симулируемой плате плавающий контакт считывается как LOW, но на реальной плате его показания скачут. Каждому входу нужно что-то, что удерживает его на известном уровне.

В этой схеме кнопка подключена наоборот: она соединяет контакт 2 с 5V. Резистор сопротивлением 10k ohm соединяет контакт 2 с GND. Этот резистор является подтягивающим к земле: когда кнопка не нажата, он мягко подтягивает контакт к LOW. При нажатии кнопки контакт напрямую соединяется с 5V, что намного сильнее резистора, поэтому на контакте считывается HIGH.

Удержание обеспечивает резистор, поэтому контакт работает как обычный вход:

pinMode(2, INPUT);

if (digitalRead(2) == HIGH) {
  // нажата: кнопка соединяет вывод с 5V
}
challenge icon

Задание

Легко

Кнопка соединяет контакт 2 с 5V, а к GND подключен подтягивающий резистор на 10k ohm. Светодиод подключен к контакту 13. Зажигай светодиод, пока кнопка нажата:

  • установи для контакта 2 режим INPUT
  • когда на контакте 2 считывается HIGH, включай светодиод, иначе выключай его

Нажми Run, удерживай кнопку, затем нажми Check.

Попробуйте сами

const int buttonPin = 2;
const int ledPin = 13;

void setup() {
  pinMode(ledPin, OUTPUT);
  // настройте вывод кнопки на INPUT
}

void loop() {
  // включайте светодиод, пока вывод 2 имеет значение HIGH
}
quiz iconПроверьте себя

В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.

Все уроки раздела Входные сигналы

Потренируйтесь самостоятельно: Песочница Arduino