Кнопки невероятно распространены в пространстве DIY Arduino, и бесчисленное количество проектов в Интернете полагаются на эти маленькие переключатели для активации своего кода. Но как именно вы можете подключить и запрограммировать более одной кнопки для работы с вашим Arduino? Давайте узнаем.
Что мы делаем?
Это простой проект, который предназначен для того, чтобы вы могли начать работу с более сложными сборками Arduino в будущем. Мы не будем давать нашим кнопкам работу, но это означает, что вы можете выбрать, что вы хотите, чтобы они делали для себя, используя одно из наших других удобных руководств DIY Arduino.
Что вам нужно?
Для завершения этого проекта вам понадобится всего несколько деталей, многие из которых уже есть в вашей коллекции деталей, сделанных своими руками.
- 4 кнопочных переключателя
- 4 резистора по 10 кОм
- 1 х любой тип платы ардуино (мы используем Леонардо)
- Провод с ПВХ/силиконовым покрытием
Подключение нескольких кнопок с помощью Arduino
Проводка для этого проекта проста, но вы должны быть осторожны, чтобы не запутать провода при каждом подключении, поскольку для каждой кнопки требуется два разных провода.
Начнем с простого, имеет смысл подключить одну кнопку так, чтобы ее положительная ножка была подключена к контакту 5V. на нашем Arduino, а заземляющая ножка кнопки подключена как к GND, так и к цифровому контакту 2 на нашем Arduino. доска. Резистор должен быть подключен между заземляющим контактом кнопки и контактом GND на Arduino.
Когда одна кнопка подключена, пришло время добавить остальные. Каждой кнопке нужен собственный цифровой пин; мы выбрали 2, 3, 4 и 5 для четырех кнопок, которые мы используем, но любой из цифровых контактов будет работать. Теперь, когда ваш Arduino полностью подключен, пришло время начать работу над кодом.
Программирование нескольких кнопок с помощью Arduino
Код проекта приятный и простой, без необходимости использования каких-либо библиотек классов или другого сложного программирования.
Назначение кнопок контактам
Для первого шага нам нужно назначить кнопки различным контактам на плате Arduino. Поскольку мы использовали цифровые контакты 2, 3, 4 и 5, именно эти контакты мы объявим в нашем коде. Это должно быть размещено в верхней части вашего проекта Arduino перед любой из функций.
интервал input4Pin = 5;
интервал input3Pin = 4;
интервал input2Pin = 3;
интервал input1Pin = 2;
Настройка кнопок
Как и в большинстве проектов Arduino, мы будем использовать функцию, которая будет запускаться один раз в начале программы, называемую недействительная установка (). Во-первых, мы начнем наше последовательное соединение со скоростью 57600 бод, а затем инициализируем наши кнопки. Это все, что нам нужно в нашей недействительная установка () функция.
недействительная установка ()
{
Serial.begin (57600); // это начинает последовательное соединение со скоростью 57600 бод
pinMode (input4Pin, ВХОД);
pinMode (input3Pin, ВХОД);
pinMode (input2Pin, ВХОД);
pinMode (input1Pin, ВХОД); // эти строки объявляют каждую из кнопок как ввод
}
Обнаружение нажатия кнопок
Этот следующий этап более сложен, чем другие, так как мы будем создавать нашу собственную функцию, которая будет иметь дело с переменной из функции основного цикла. Для начала нам нужно объявить нашу функцию с целочисленной переменной, как в коде ниже.
недействительным checkPush (int pinNumber)
После этого нам нужно присвоить переменную, которую мы используем, и создать если оператор для обнаружения нажатия каждой кнопки. Эта функция может проверять только кнопку за раз, используя переменную, которую она получает из функции основного цикла, чтобы знать, какая кнопка проверяется. Наш если оператор проверяет состояние кнопки с помощью встроенной цифровойЧитать функция.
недействительным checkPush (int pinNumber)
{
int buttonPushed = digitalRead (pinNumber);
если (buttonPushed == ВЫСОКИЙ) {
//добавляем сюда код для нажатия кнопки
}
еще {
// добавить сюда код, когда кнопка не нажата
}
}
Код добавлен в если оператор будет выполняться при нажатии кнопки, а код в еще оператор будет работать только тогда, когда кнопка не нажата.
Построение основного цикла
Наконец, в качестве последнего фрагмента кода, который вам нужно добавить в вашу программу, пришло время построить пустой цикл () функция. Нам просто нужно четыре строки кода: по одной для каждой из кнопок, которые мы прикрепили к нашему Arduino. Эти строки вызывают функцию, которую мы создали на предыдущем шаге, с номером контакта каждой кнопки.
пустой цикл ()
{
проверитьПуш (5);
проверитьПуш (4);
проверитьПуш (3);
проверитьПуш (2);
}
Готовый код
Когда у вас будет весь этот код, ваша готовая программа должна выглядеть так, как показано ниже. Мы добавили комментарии к каждой строке, чтобы ее было легче понять, но мы рекомендуем вам искать и читать обо всем, что вы не узнаете. Это может быть отличным способом расширить свои знания в области кодирования.
интервал input4Pin = 5;
интервал input3Pin = 4;
интервал input2Pin = 3;
интервал input1Pin = 2;
// это объявляет каждую из наших кнопок и их контакты
// убедитесь, что вы используете контакты, к которым подключены ваши кнопки
недействительная установка ()
{
Serial.begin (57600); // это начинает последовательное соединение со скоростью 57600 бод
pinMode (input4Pin, ВХОД);
pinMode (input3Pin, ВХОД);
pinMode (input2Pin, ВХОД);
pinMode (input1Pin, ВХОД); // эти строки объявляют каждую из кнопок как ввод
}
пустой цикл ()
{
проверитьПуш (5);
проверитьПуш (4);
проверитьПуш (3);
проверитьПуш (2); // каждая из этих строк вызывает нашу функцию checkPush с другим номером вывода
}
void checkPush (int pinNumber) // эта функция ожидает целочисленное значение при вызове
{
int buttonPushed = digitalRead (pinNumber); // это считывает состояние кнопки на основе ее пин-кода
if (buttonPushed == HIGH) { // это проверяет состояние кнопки
//добавляем сюда код для нажатия кнопки
}
еще {
// добавить сюда код, когда кнопка не нажата
}
}
Успех: подключение и программирование нескольких кнопок с помощью Arduino
Это простой проект, с которого можно начать, если вы хотите узнать об аппаратном и программном обеспечении для Arduino. Вы можете легко расширить то, что вы сделали, с помощью дополнительных компонентов, что даст вам возможность исследовать множество интересных идей и создавать вещи, которыми вы будете гордиться.
Программирование Arduino для начинающих: учебник по проекту контроллера светофора
Читать далее
Похожие темы
- сделай сам
- Программирование
- Ардуино
- Электроника
- Программирование
- Руководства по проектам «сделай сам»
Об авторе

Сэмюэл — британский писатель, который обожает все, что можно сделать своими руками. Начав бизнес в области веб-разработки и 3D-печати, а также много лет работая писателем, Сэмюэл предлагает уникальное понимание мира технологий. Сосредоточившись в основном на технических проектах DIY, он любит делиться забавными и захватывающими идеями, которые вы можете попробовать дома. Вне работы Сэмюэля обычно можно встретить на велосипеде, за компьютерными видеоиграми или отчаянно пытающимся общаться со своим домашним крабом.
Подписывайтесь на нашу новостную рассылку
Подпишитесь на нашу рассылку технических советов, обзоров, бесплатных электронных книг и эксклюзивных предложений!
Нажмите здесь, чтобы подписаться