Arduino & IoT Academy · Урок

Чтение состояния кнопки

Используйте digitalRead, чтобы определить, нажата ли кнопка

Урок 2 из 413 шагов

«Чтение состояния кнопки» — бесплатный урок Arduino & IoT Academy на CoddyKit. Это урок 2 из 4. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения Arduino & IoT Academy, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс Arduino & IoT Academy содержит 4 уроков всего.

Задайте выводу вопрос

Теперь, когда вывод слушает, Вы можете спросить его, что он видит. Функция digitalRead проверяет вывод и сообщает его текущее состояние.

Она возвращает HIGH или LOW

digitalRead возвращает только два ответа: HIGH или LOW. Для кнопки этого достаточно, ведь она бывает только нажата или отпущена.

int state = digitalRead(2);

Сохраните показание

Сохраните результат в переменной, чтобы использовать его. Здесь состояние хранит то, что digitalRead обнаружила на выводе 2 в данный момент.

int buttonPin = 2;
int state = digitalRead(buttonPin);

Сначала установите режим

Считывание работает только после подготовки вывода. Вызовите pinMode с INPUT_PULLUP внутри setup() до первой попытки считывания.

void setup() {
  pinMode(2, INPUT_PULLUP);
}

Считывайте внутри loop()

Состояние кнопок постоянно меняется, поэтому считывайте его внутри loop(). Каждый проход получает свежее значение и поддерживает устройство в актуальном состоянии.

void loop() {
  int state = digitalRead(2);
}

Помните об инверсии

При INPUT_PULLUP смысл уровней меняется: LOW означает, что кнопка нажата, а HIGH — что отпущена. Помните об этом при считывании состояния.

Посмотрите в последовательном мониторе

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

Serial.println(state);

Откройте канал

Перед выводом данных один раз откройте канал USB внутри setup с помощью Serial.begin. Для простых проектов часто используют скорость 9600 бод.

void setup() {
  Serial.begin(9600);
  pinMode(2, INPUT_PULLUP);
}

Наблюдайте за изменением значений

Загрузите программу, откройте последовательный монитор и нажмите кнопку. Вы увидите, как в момент нажатия число меняется с 1 на 0. 🔘

HIGH и LOW — это числа

Внутри HIGH — это просто 1, а LOW — 0. Поэтому в выведенных показаниях отображаются обычные единицы и нули.

У Вас есть входной сигнал в реальном времени

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

Быстрая проверка

Вспомните, что digitalRead возвращает Вашему коду.

Повторение

Вы использовали digitalRead в loop(), чтобы получить HIGH или LOW, сохранили результат и вывели его через Serial. Теперь Вы заставите светодиод реагировать на это состояние. ✅

Можно начать бесплатно

Изучай C++ с ИИ-репетитором — бесплатно

Пиши и запускай код прямо в браузере, получай мгновенную помощь от ИИ-репетитора 24/7 и продолжи учиться на сайте или в приложении.

Курсы
30
Уроки
120

Часто задаваемые вопросы

Урок «Чтение состояния кнопки» бесплатный?

Да — полный текст урока «Чтение состояния кнопки» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс Arduino & IoT Academy, подпишись на CoddyKit PRO. Курс Arduino & IoT Academy содержит 4 уроков всего.

Чему я научусь в уроке «Чтение состояния кнопки»?

Используйте digitalRead, чтобы определить, нажата ли кнопка Ты практикуешь Arduino & IoT Academy с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.

Нужен ли мне опыт, чтобы начать Arduino & IoT Academy?

Предыдущий опыт не требуется. Arduino & IoT Academy на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 2 из 4.

Сколько времени занимает урок «Чтение состояния кнопки»?

Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.

Можно ли писать и запускать код в этом уроке Arduino & IoT Academy?

Да. Каждый урок Arduino & IoT Academy включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.

Все уроки этого курса

  1. INPUT и INPUT_PULLUP
  2. Чтение состояния кнопки
  3. if/else: LED следует за кнопкой
  4. Подключение кнопки на макетной плате
← Назад к Arduino & IoT Academy