Подключение модуля с кнопкой к Ардуино

Подключение модуля KY-004 с кнопкой к Ардуино

Как подключить модуль с кнопкой к Arduino ► (ky-004) и представим скетч для включения/выключения светодиода на Ардуино, чтобы понять принцип работы модуля.

Рассмотрим в этой статье, как подключить модуль с кнопкой ky-004 к Arduino Uno и представим простой скетч (программу) для включения/выключения светодиода. Модуль тактовой кнопки часто входит в комплект стартового набора для начинающих или Sensor Kit. Способом подключения к микроконтроллеру ничем не отличается от любого другого аналогового сенсора, например, датчика вибрации для Arduino.

Характеристики модуля кнопки Ардуино

KY-004 — это модуль для микроконтроллера Arduino Nano с тактовой кнопкой, выполненный на печатной плате. Модуль имеет нормально разомкнутые контакты, то есть контакты замыкаются при нажатии на кнопку, а на выходе датчика появляется напряжение низкого уровня. Между контактом выхода «S» и средним контактом, который подключается к пину «5V» Arduino, впаян резистор сопротивлением 10 кОм.

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

Подключение модуля кнопки для Ардуино

Для занятия нам понадобятся следующие детали:

  • плата Arduino Uno / Arduino Nano / Arduino Mega;
  • модуль с кнопкой KY-004;
  • один светодиод и резистор;
  • беспаечная макетная плата;
  • провода «папа-папа», «папа-мама».

Все необходимое для изучения Ардуино можно недорого купить здесь

Схема подключения модуля с кнопкой к Ардуино Уно
Схема подключения модуля с кнопкой к Ардуино Уно

Подключать модуль можно, как к цифровому пину общего назначения, так и к пинам входа для аналоговых датчиков. KY-004 позволяет подключить кнопку к Ардуино без использования макетной платы, в остальном нет никаких отличий от подключения обычной тактовой кнопки к микроконтроллеру. Соберите схему, как на картинке и выше и загрузите следующий скетч (ссылка для скачивания программы здесь).

Счетч для модуля с кнопкой Arduino (KY-004)

// кнопка изначально отпущена, а свет выключен
boolean buttonWasUp = true;
boolean buttonIsUp  = false;
boolean ledEnabled  = false;

void setup() {
  pinMode(13, OUTPUT);
  pinMode(A1, INPUT_PULLUP);
}

void loop() {
  // проверяем, отпущена ли кнопка сейчас
  buttonIsUp = digitalRead(A1);

  // если кнопка была отпущена и не отпущена сейчас
  if (buttonWasUp && !buttonIsUp) {

    // исключаем ложный сигнал при «дребезге» контактов
    // и считываем сигнал с кнопки повторно
    delay(10);
    buttonIsUp = digitalRead(A1);

    // если кнопка не была до этого момента нажата
    // значит был клик и переворачиваем сигнал светодиода
    if (!buttonIsUp) {
      ledEnabled = !ledEnabled;
      digitalWrite(13, ledEnabled);
    }
  }

  // запоминаем положение кнопки для следующей итерации
  buttonWasUp = buttonIsUp;
}

Пояснения к коду:

  1. вход кнопки (пин A1) сконфигурирован, как INPUT_PULLUP. При нажатии на кнопку на входе будет логический «нуль» (значение false), значение true («истина») в переменной buttonIsUp будет, когда тактовая кнопка отпущена;
  2. в digitalWrite передается не значение HIGH или LOW, а используется переменная ledEnabled. В зависимости от того, какое значение было вычислено false или true, светодиод будет включаться или выключаться.
1 Star2 Stars3 Stars4 Stars5 Stars (2 votes, average: 5,00 out of 5)
Загрузка...

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *