Управление светодиодами кнопкой на Ардуино

Управление светодиодами кнопкой на Ардуино
Как подключить и программировать кнопку.

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

Почему кнопка так важна?
Кнопки или выключатели соединяют две точки в электрической цепи, когда вы их нажимаете.
В этом примере включим встроенный светодиод на пине 13, при нажатии кнопку.

Нам понадобятся:

  • Плата Arduino.
  • Кнопка или выключатель.
  • Резистор 10 кОм.
  • Провода для подключения.
  • Макетная плата.


Подключение 

Чтобы создать подключение, соедините три провода с платой.
Первые два провода, красного и черного цвета, подсоедините к двум длинным вертикальным рядам по бокам макетной платы, чтобы получить доступ к питанию 5 вольт и земле.
Третий провод соедините с цифровым пином 2 и одной из ножек кнопки.
Другая ножка кнопки подключена через резистор с подтягивающим вниз(pull-down) эффектом (обычно 10 кОм) к земле.
Третья ножка кнопки подключена к 5 вольтам.

Когда кнопка не нажата, между двумя ножками кнопки нет соединения, поэтому пин подключен к земле (через резистор с подтягивающим вниз(pull-down) эффектом), и мы считываем LOW.
Когда кнопка нажата, она устанавливает соединение между своими двумя ножками, подключая пин к 5 вольтам, и мы считываем HIGH.

Вы также можете подключить эту цепь наоборот, с резистором, подтягивающим вверх вход (pull-up), который оставляет включенным светодиод и выключается при нажатии кнопки.
В этом случае работа скетча будет противоположной,  и светодиод будет выключаться при нажатии кнопки.

Если отключить цифровой входной/выходной пин от всего, светодиод может начать мигать нерегулярно.
Это происходит потому, что вход "плавает" и возвращает случайные значения HIGH или LOW.
Именно поэтому в цепи используется резистор с подтягивающим вниз или подтягивающим вверх эффектом.

Схема подключения

Код

/*
  Включает и выключает светодиод (LED), подключенный к цифровому пину 13,
  при нажатии на кнопку, подключенную к пину 2.
  Схема подключения:
  - LED подключен на пин 13 к земле через резистор 220 Ом.
  - Кнопка подключена к пину 2, и к +5 В.
  - 10K резистор подключен к кнопке и к земле.

  - Примечание: на большинстве Arduino-плат уже есть встроенный LED,
    подключенный к пину 13.

*/

// Константы не будут меняться. Они используются для установки номеров пинов:
const int buttonPin = 2;  // номер пина для кнопки
const int ledPin = 13;    // номер пина для светодиода

// Переменные будут изменяться:
int buttonState = 0;  // переменная для считывания состояния кнопки

void setup() {
  // инициализация пина светодиода как выхода:
  pinMode(ledPin, OUTPUT);
  // инициализация пина кнопки как входа:
  pinMode(buttonPin, INPUT);
}

void loop() {
  // считывание состояния кнопки:
  buttonState = digitalRead(buttonPin);

  // проверка, нажата ли кнопка. Если да, то buttonState равен HIGH:
  if (buttonState == HIGH) {
    // включить светодиод:
    digitalWrite(ledPin, HIGH);
  } else {
    // выключить светодиод:
    digitalWrite(ledPin, LOW);
  }
}

 

5 примеров использования:

Умный дом: Используйте кнопку для управления освещением, вентиляторами или другими устройствами в вашем умном доме.

Игровые проекты: Создайте игры, где кнопка служит для управления персонажем, стрельбой или другими игровыми функциями.

Автоматизация офиса: Используйте кнопку для запуска компьютерных программ, переключения презентаций или включения медиаплееров в офисе.

Образование: В учебных целях, для создания интерактивных учебных моделей или учебных проектов с использованием кнопки.

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

Дополнительные материалы по теме
Подключение кнопки к ардуино
TTP223 сенсорная кнопка
Резистивные кнопки
Управление одной кнопкой на ESP
Первая программа на Arduino. Aрдуино для начинающих
Digital Read Arduino
Количество нажатий на кнопку
Управление светодиодами кнопкой на Ардуино
Кнопка, дребезг контактов при нажатии
input pullup arduino кнопка
Analog Read Arduino
Ардуино аналоговый вход Чтение аналогового напряжения