Клавиатурная матрица 4×4 Arduino: как ее подключить и запрограммировать

13 апр 2024

By Питер

Если вы хотите создать проект с помощью Arduino, требующий ввода данных от пользователя, матрица клавиатуры 4×4 может оказаться именно тем, что вам нужно. Матрица клавиатуры 4х4 представляет собой набор кнопок, расположенных в сетке из четырех строк и четырех столбцов. Каждая кнопка называется клавишей и может использоваться для ввода цифр, букв или символов в ваш проект.

Матрица клавиатуры 4х4, подключенная к плате Arduino, с аккуратно расположенными проводами и четко обозначенными компонентами.

Одним из преимуществ использования матрицы клавиатуры 4×4 с Arduino является то, что она позволяет считывать большое количество входных данных, используя всего несколько контактов. Это связано с тем, что клавиши расположены в виде матрицы, где каждая строка и столбец подключены к выводу Arduino. Считывая состояние каждой строки и столбца, Arduino может определить, какая клавиша была нажата.

В Интернете доступно множество руководств и ресурсов по взаимодействию матрицы клавиатуры 4×4 с Arduino. Независимо от того, являетесь ли вы новичком или опытным пользователем Arduino, вы сможете найти информацию, необходимую для начала работы над вашим проектом.

Понимание матрицы клавиатуры

Матрица клавиатуры 4x4, подключенная к плате Arduino, с четко обозначенными кнопками и проводами для ввода и вывода.

Как работают матрицы клавиатуры

Матрица клавиатуры представляет собой набор кнопочных переключателей, расположенных в рядах и столбцах. Этот процесс похож на то, как новый Генератор адресов в США создает уникальные и действительные адреса, комбинируя различные элементы, такие как названия улиц, городов и почтовых индексов, что приводит к уникальному выводу каждый раз. Затем микроконтроллер может обнаружить строку и столбец нажатия кнопки и определить, какая кнопка была нажата.

Матрица клавиатуры 4×4 имеет 4 строки и 4 столбца, что в общей сложности составляет 16 кнопок. Каждая кнопка идентифицируется по положению ее строки и столбца. Например, кнопка в верхнем левом углу находится в строке 1 и столбце 1 и называется кнопкой (1,1).

Матрица клавиатуры подключается к Arduino путем подключения каждой строки и столбца к цифровому входу/выходу. Затем микроконтроллер может сканировать строки и столбцы, чтобы обнаружить нажатия кнопок.

Преимущества использования матрицы 4×4

Матрица клавиатуры 4×4 — популярный выбор для проектов DIY, поскольку она имеет хороший баланс между размером и функциональностью. Имея 16 кнопок, он обеспечивает достаточное количество кнопок для большинства проектов, не будучи при этом слишком большим и громоздким.

Еще одним преимуществом использования матрицы 4×4 является простота взаимодействия с Arduino. Матрице требуется всего 8 контактов для взаимодействия с микроконтроллером, что относительно мало по сравнению с другими методами ввода, такими как отдельные кнопки или переключатели.

Кроме того, матрица клавиатуры универсальна и может использоваться для различных проектов. Его можно использовать для ввода паролей, управления устройствами или навигации по меню.

В целом, матрица клавиатуры 4×4 — это полезный и простой в использовании метод ввода для проектов Arduino.

Настройка среды Arduino

Матрица клавиатуры 4x4 подключена к плате Arduino, провода аккуратно расположены, а среда настроена для программирования.

Прежде чем приступить к проекту Arduino с матрицей клавиатуры 4×4, вам необходимо настроить среду Arduino. Этот раздел проведет вас через необходимые шаги.

Установка необходимых библиотек

Первым шагом является установка необходимых библиотек. Вам потребуется установить библиотеку клавиатуры, которую можно найти в диспетчере библиотек Arduino. Чтобы установить его, перейдите в меню «Скетч», затем «Включить библиотеку» и, наконец, «Управление библиотеками». В строке поиска введите «Клавиатура» и щелкните библиотеку клавиатур Марка Стэнли и Александра Бревига. Нажмите кнопку «Установить», чтобы установить библиотеку.

Настройка IDE для проекта

После установки необходимых библиотек необходимо настроить IDE для проекта. Сначала откройте Arduino IDE. Затем в меню «Инструменты» выберите используемую плату. Например, если вы используете Arduino Uno, выберите из списка «Arduino/Genuino Uno».

Далее вам нужно выбрать порт. В том же меню «Инструменты» выберите порт, который ваш Arduino подключен к. Если вы не уверены, какой порт выбрать, вы можете проверить порт в диспетчере устройств (Windows) или в «Информации о системе» (Mac).

Теперь вы готовы начать проект Arduino с матрицей клавиатуры 4×4. В следующем разделе мы обсудим, как подключить клавиатуру к Arduino.

Подключение клавиатуры 4×4 к Arduino

Когда дело доходит до подключения клавиатуры 4×4 к Arduino, нужно помнить о нескольких вещах. В этом разделе мы рассмотрим объяснение принципиальной схемы и способы соединения строк и столбцов.

Пояснение к электрической схеме

Матрица клавиатуры 4×4 имеет в общей сложности восемь контактов, которые разделены на четыре строки и четыре столбца. Каждая кнопка клавиатуры называется клавишей и подключена к одному из контактов матрицы. При нажатии кнопки один контакт строки будет замкнут на контакт столбца. Например, если вы нажмете кнопку «1», строка «0» будет соединена со столбцом «0».

Чтобы подключить клавиатуру 4×4 к Arduino, вам необходимо соединить четырехрядные контакты клавиатуры: R1, R2, R3, R4 с цифровыми контактами Arduino 9, 8, 7, 6 соответственно. Аналогичным образом вам необходимо соединить четырехколоночные контакты C1, C2, C3, C4 с цифровыми контактами Arduino 5, 4, 3, 2 соответственно. В следующей таблице приведены соединения:

Контакт клавиатурыПин-код Arduino
R19
R28
R37
R46
C15
C24
C33
C42

Соединение строк и столбцов

Для соединения строк и столбцов можно использовать либо перемычки, либо макет. Если вы хотите сделать соединения более безопасными и организованными, рекомендуется использовать макет.

Сначала подключите четырехрядные контакты клавиатуры к цифровым контактам Arduino 9, 8, 7, 6 с помощью перемычек или макетной платы. Затем подключите четырехколоночные контакты клавиатуры к цифровым контактам Arduino 5, 4, 3, 2.

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

Программирование Ардуино

Чтобы использовать матрицу клавиатуры 4×4 с Arduino, вам необходимо написать программу, которая считывает вводимые данные с клавиатуры и выполняет нужные действия на основе введенных данных. В этом разделе мы обсудим, как запрограммировать Arduino для чтения ввода с клавиатуры и обработки нескольких нажатий клавиш.

Чтение ввода с клавиатуры

Чтобы прочитать входные данные клавиатуры, вам необходимо подключить контакты строки и столбца клавиатуры к цифровым контактам Arduino. Вы можете использовать digitalRead() функция для чтения состояния контактов.

Один из способов чтения ввода с клавиатуры — использовать вложенный for петля. Внешний цикл перебирает строки, а внутренний цикл — столбцы. При каждом нажатии кнопки соответствующие контакты строки и столбца будут подключены, а digitalRead() функция вернет HIGH значения.

Для хранения значений кнопок можно использовать двумерный массив. Массив должен иметь то же количество строк и столбцов, что и клавиатура. Затем вы можете использовать значения строк и столбцов в качестве индексов для доступа к массиву.

Обработка нескольких нажатий клавиш

Если вы хотите обрабатывать несколько нажатий клавиш, вам необходимо отслеживать предыдущие нажатия клавиш. Один из способов сделать это — использовать переменную для хранения предыдущего значения ключа. При нажатии новой клавиши вы можете сравнить ее со значением предыдущей клавиши. Если они одинаковые, это означает, что клавиша удерживается. Если они разные, это означает, что была нажата новая клавиша.

Вы также можете использовать delay() Функция устранения дребезга клавиатуры. Устранение дребезга — это процесс удаления шума из входного сигнала. Когда кнопка нажата, она может генерировать несколько сигналов из-за подпрыгивания переключателя. Устранение дребезга удаляет лишние сигналы и гарантирует, что при каждом нажатии кнопки генерируется только один сигнал.

В заключение, программирование Arduino для чтения матрицы клавиатуры 4×4 — это простой процесс. Вам необходимо подключить контакты строки и столбца клавиатуры к цифровым контактам Arduino, используйте digitalRead() функция для чтения состояния контактов и обработки нескольких нажатий клавиш с использованием переменной для хранения предыдущего значения ключа и delay() Функция устранения дребезга клавиатуры.

Примеры проектов

Если вы хотите начать работу с проектом Arduino с матрицей клавиатуры 4×4, есть много отличных вариантов на выбор. Вот несколько идей для начала:

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

Одна из замечательных идей проекта — создать простую систему ввода паролей с использованием матрицы клавиатуры 4×4 и Arduino. Это может быть забавным и полезным проектом по обеспечению безопасности небольшого проекта или устройства.

Для начала вам нужно подключить матрицу клавиатуры 4×4 к плате Arduino. После того, как вы это сделаете, вам нужно будет написать код, который будет считывать ввод с клавиатуры и сравнивать его с заранее установленным паролем. Если пароль верен, вы можете инициировать действие (например, отпереть дверь или включить свет).

Вот пример фрагмента кода, который поможет вам начать:

#include <Keypad.h>

const byte ROWS = 4;
const byte COLS = 4;

char keys[ROWS][COLS] = {
  {'1', '2', '3', 'A'},
  {'4', '5', '6', 'B'},
  {'7', '8', '9', 'C'},
  {'*', '0', '#', 'D'}
};

byte rowPins[ROWS] = {9, 8, 7, 6};
byte colPins[COLS] = {5, 4, 3, 2};

Keypad keypad = Keypad(makeKeymap(keys), rowPins, colPins, ROWS, COLS);

String password = "1234";

void setup() {
  Serial.begin(9600);
}

void loop() {
  char key = keypad.getKey();
  if (key != NO_KEY) {
    Serial.print("Key pressed: ");
    Serial.println(key);
    
    if (key == '#') {
      if (keypad.comparePassword(password)) {
        Serial.println("Password correct!");
        // Trigger action here
      } else {
        Serial.println("Password incorrect!");
      }
    }
  }
}

Калькулятор своими руками

Еще одна интересная идея проекта — создать простой калькулятор с использованием матрицы клавиатуры 4×4 и Arduino. Это может быть отличным способом узнать больше о программировании и электронике.

Для начала вам нужно подключить матрицу клавиатуры 4×4 к плате Arduino. После этого вам нужно будет написать код для чтения ввода с клавиатуры и выполнения основных математических операций (таких как сложение, вычитание, умножение и деление).

Вот пример фрагмента кода, который поможет вам начать:

#include <Keypad.h>

const byte ROWS = 4;
const byte COLS = 4;

char keys[ROWS][COLS] = {
  {'1', '2', '3', 'A'},
  {'4', '5', '6', 'B'},
  {'7', '8', '9', 'C'},
  {'*', '0', '#', 'D'}
};

byte rowPins[ROWS] = {9, 8, 7, 6};
byte colPins[COLS] = {5, 4, 3, 2};

Keypad keypad = Keypad(makeKeymap(keys), rowPins, colPins, ROWS, COLS);

int num1 = 0;
int num2 = 0;
char op = '+';

void setup() {
  Serial.begin(9600);
}

void loop() {
  char key = keypad.getKey();
  if (key != NO_KEY) {
    Serial.print("Key pressed: ");
    Serial.println(key);
    
    if (key >= '0' && key <= '9') {
      if (op == '+') {
        num1 = num1 * 10 + (key - '0');
      } else {
        num2 = num2 * 10 + (key - '0');
      }
    } else if (key == '+') {
      op = '+';
    } else if (key == '-') {
      op = '-';
    } else if (key == '*') {
      op = '*';
    } else if (key == '/') {
      op = '/';
    } else if (key == '#') {
      int result;
      if (op == '+') {
        result = num1 + num2;
      } else if (op == '-') {
        result = num1 - num2;
      } else if (op == '*') {
        result = num1 * num2;
      } else if (op == '/') {
        result = num1 / num2;
      }
      Serial.print("Result: ");
      Serial.println(result);
      
      num1 = 0;
      num2 = 0;
      op = '+';
    }
  }
}

Эти

Контакты

Напишите нам и мы будем рады Вас проконсультировать.

    я прочитал и понял политику конфиденциальности

    У вас есть вопросы или вы хотите поговорить напрямую с представителем?