§36. Устройства ввода
Клавиатура
Одним из первых устройств ввода была клавиатура. С её помощью человек вводит в компьютер текст. Текст может быть записью числа: тогда компьютер по программе преобразует текстовую строку в соответствующее двоичное число, с которым может работать процессор.
Кроме символьных клавиш на клавиатуре есть дополнительные (управляющие) клавиши. Значения некоторых из них жёстко заданы (например, клавиш управления курсором, клавиш Page Up, Home, Delete, Print Screen и др.), функции других (в первую очередь, функциональных клавиш F1-F12) программист может назначить сам. Клавиши Shift, Caps Lock, Ctrl и Alt изменяют результат нажатия остальных клавиш. С их помощью можно, например, вводить заглавные буквы.
В простейших типах клавиатур при нажатии клавиши соединяются два контакта и замыкается электрическая цепь. Роль контактов в наиболее распространённых моделях играет специальное токопроводящее напыление, наносимое на гибкую изолирующую полимерную пленку. Более качественные клавиатуры могут использовать, например, герконы (герметичные контакты), срабатывающие от приближающегося к ним магнита. Ещё один вариант — это ёмкостные клавиатуры, где при нажатии клавиши сближаются две небольшие пластины, образующие конденсатор. Ёмкостные клавиатуры более долговечны, так как в них нет механического контакта деталей.
Работой современной клавиатуры руководит встроенный в неё микроконтроллер, который:• опрашивает все клавиши и фиксирует изменение их состояния: нажатие или отпускание;
• временно (до момента передачи в центральный процессор) хранит коды нескольких последних нажатых или отпущенных клавиш (скан-коды)1;
1 Скан-коды представляют собой номера клавиш и не имеют ничего общего с кодовыми таблицами символов, изученными в § 15.
Контроллер клавиатуры выполняет лишь минимальную обработку информации: в компьютер уходят исключительно данные о нажатии или отпускании клавиши с заданным номером. Распознавание кода набранного символа с учётом состояния клавиш сдвига выполняет программа, принимающая данные. Такое решение в очередной раз показывает, что аппаратная часть компьютера всегда делается максимально универсально, а все особенности работы компьютера определяются программным обеспечением.
Клавиатура имеет определённые технические характеристики, такие как усилие нажатия клавиш (в ньютонах) и ход клавиш (в миллиметрах).
Следующая страница Манипуляторы
Cкачать материалы урока
Клавиатура: основные принципы и механизмы работы
Механизм работы клавиатуры включает в себя несколько основных компонентов. Одним из главных элементов клавиатуры являются кнопки, или клавиши, расположенные на поверхности устройства. Клавиши обычно имеют различные формы и размеры, и нажатие на них инициирует передачу сигнала.
Каждая клавиша имеет свой уникальный код для идентификации. Устройство, к которому подключена клавиатура, использует этот код для определения, какая клавиша была нажата. Код клавиши передается компьютеру посредством соединения с помощью проводов или беспроводного интерфейса.
Когда клавиша нажата, внутри клавиатуры происходит механическое действие. Например, для механической клавиатуры нажатие на клавишу приводит к опусканию механического переключателя, что в свою очередь замыкает электрический контакт и создает электрический сигнал. Для мембранной клавиатуры, нажатие на клавишу ведет к нажатию на мягкую пленку, что приводит к изменению электрического сопротивления и созданию сигнала.
Сигнал от нажатой клавиши передается компьютеру, который обрабатывает эту информацию и реагирует соответствующим образом. Компьютер может использовать переданный сигнал для вывода символа на экран, выполнения определенной команды или других операций в зависимости от контекста.
Клавиатура обладает также дополнительными функциями, которые доступны через специальные клавиши. Например, клавиши функций (F1, F2 и т.д.) могут выполнять определенные команды, а клавиши управления (стрелки, Home, End и т.д.) позволяют перемещаться по тексту или управлять курсором.
В целом, клавиатура является важным устройством взаимодействия между пользователем и компьютером. Она предоставляет возможность вводить информацию и управлять компьютером с помощью нажатия клавиш, и позволяет нам легко и эффективно работать с различными программами и приложениями.
Пример программы для работы с клавиатурой
Ниже приведен пример программы на Arduino для работы с компьютерной клавиатурой:
Данная программа подключает библиотеку Keyboard.h и инициализирует работу с клавиатурой в функции setup(). В цикле loop() программа проверяет наличие доступных символов на клавиатуре с помощью функции Keyboard.available(). Если символы доступны, программа считывает символ с помощью функции Keyboard.read(), а затем выполняет определенные действия в зависимости от считанного символа. В данном примере программа просто отправляет большую букву, соответствующую нажатой клавише, обратно на компьютер.
Подготовка к работе
Прежде чем начать программировать клавиатуру на Arduino, необходимо выполнить несколько шагов подготовки. Вот что вам потребуется:
- Плата Arduino. Вы можете использовать любую модель Arduino, но наиболее распространены Arduino Uno и Arduino Nano.
- Компьютер. Вам потребуется компьютер для написания кода и загрузки его на плату Arduino.
- Кабель USB. Для подключения платы Arduino к компьютеру вам понадобится USB-кабель типа A-B.
- Интегрированная среда разработки (IDE) Arduino. Вы можете скачать и установить IDE Arduino с официального сайта https://www.arduino.cc/en/Main/Software.
- Библиотека Keyboard. Для программирования клавиатуры вам понадобится библиотека Keyboard, которая является частью стандартной установки IDE Arduino. Однако, убедитесь, что вы используете последнюю версию IDE, чтобы у вас была актуальная версия библиотеки.
После выполнения этих шагов вы будете готовы к программированию клавиатуры на плате Arduino. В следующем разделе освещается базовый пример использования библиотеки Keyboard для эмуляции нажатия клавиш.
Разновидности клавиатур
Клавиатуры могут отличаться по различным характеристикам, что делает их доступными и удобными для разных потребностей и предпочтений пользователей. Рассмотрим некоторые из наиболее распространенных разновидностей клавиатур:
- Стандартная клавиатура: это клавиатура, которую мы обычно видим на большинстве компьютеров. Она содержит основные элементы, такие как цифры, символы, буквы и функциональные клавиши. Такая клавиатура используется в основном для печати текста и выполнения основных операций.
- Механическая клавиатура: в отличие от стандартной клавиатуры, механическая клавиатура использует механический механизм для регистрации нажатий клавиш. Это создает ощущение упругости и точности, что особенно ценится геймерами и энтузиастами печати.
- Беспроводная клавиатура: эта клавиатура соединяется с компьютером посредством беспроводных технологий, таких как Bluetooth или USB-приемник. Она позволяет работать на расстоянии от компьютера и создает большую гибкость в организации рабочего пространства.
- Геймерская клавиатура: специально разработанная для геймеров, эта клавиатура имеет дополнительные функции и преимущества, такие как программные настройки и индивидуально настраиваемые клавиши. Она обеспечивает точность регистрации нажатий и быструю реакцию на команды пользователя.
- Сенсорная клавиатура: это клавиатура, не имеющая физических клавиш, а использующая сенсорные панели или сенсорные экраны для регистрации нажатий. Сенсорная клавиатура обычно применяется в мобильных устройствах, таких как смартфоны и планшеты.
- Эргономичная клавиатура: эта клавиатура имеет особую конструкцию, которая способствует комфортному положению рук и предотвращает травмы, связанные с повторными движениями и напряжением. Она часто используется для предотвращения синдрома карпального канала и других смежных проблем.
Выбор подходящей клавиатуры зависит от индивидуальных потребностей и предпочтений пользователя.
Inside Keypad
To simplify that, we use keypad, so this is the wiring diagram inside it.
Keypad wiring diagram
So for example, if row 1 and column B is connected, it means that the key pressed is number 2, and if row 2 and column B is connected, it means number 5 is pressed, and again if row 4 and column D is connected then it means D is pressed.
Now in the microcontroller, we can give the scanning method at the rows, the rows will give HIGH state alternately, so we can determine if D is pressed when row 4 gives HIGH state and column D is read HIGH.
But now, we will use a library for this. So this will not so complicated and doesn’t have to think about the scanning method.
Let’s hook up the keypad to Arduino.
Ролевые игры и специальные клавиши на клавиатуре
В ролевых играх клавиатура может стать важным инструментом для управления персонажем и совершения различных действий. Клавиши на клавиатуре могут быть специально назначены для определенных команд и действий в игре. Например, клавиши WASD (W – вперед, A – влево, S – назад, D – вправо) используются для передвижения персонажа во многих играх.
Одна из интересных функций клавиатуры для ролевых игр – макросы. Макросы позволяют записать последовательность команд и привязать их к определенным клавишам. Это может быть очень полезно, особенно если в игре необходимо многочисленно повторять однотипные действия. Например, можно записать макрос для использования специальной атаки в игре и привязать его к одной из клавиш клавиатуры.
Для ролевых игр также важными могут быть функциональные клавиши. Они могут быть использованы для вызова игрового меню, управления камерой или переключения между персонажами. Кроме того, в некоторых играх могут быть специальные клавиши для активации способностей персонажа или команд для союзников.
Таким образом, использование специальных клавиш на клавиатуре может значительно упростить игровой процесс в ролевых играх и сделать его более комфортным и удобным для игрока.
Что вам нужно
- 1 х Arduino Pro Micro.
- Мгновенные кнопки или кнопки клавиатуры.
- Резисторы 10 кОм.
- Ассорти из соединительных проводов.
- 1 х 220 Ом резисторы.
- 1 х 5 мм (0,197 дюйма) светодиод.
- 1 х 5 мм светодиодный держатель.
Вам понадобится очень специфическая Arduino для этого проекта. Я использую Pro Micro, так как они такие маленькие и дешевые, что вам нужен Arduino с встроенным в процессор USB-Serial (Atmega32u4). Можно построить этот проект с другими Arduinos, такими как UNO или Nano, однако для того, чтобы все заработало, требуется много напряженной работы, чтобы заново прошить биос и покопаться. Клоны других моделей Arduino обычно не работают вообще, но клон Pro Micro тоже подойдет.
первый.
Вот схема макета (исключая концевые отведения):
Убедитесь, что вы вырезали следы под резисторами и Arduino. Так как считывание схемы платы может быть очень трудным, вот макетная версия:
Это плотная посадка, чтобы сжать все компоненты в такое маленькое пространство. Отрежьте углы вашего картона следующим образом:
Это должно аккуратно вписаться в нижней части корпуса:
Убедитесь, что дорожки движутся вертикально.
Подключить анод (длинная нога, позитив) светодиода к резистору 200 Ом, а затем к +5 В. Подключите катод (короткая нога, негатив) К земле, приземляться. Накройте ножки термоусадочной трубкой, а затем вставьте держатель в светодиод. Нет необходимости в каком-либо клее, однако ваш светодиодный держатель может быть не плотным, поэтому вам, возможно, придется адаптировать эти инструкции.
Вместо этого вы можете использовать двухцветный светодиод — это позволит вам настроить два или более банков переключателей, с разными цветными индикаторами состояния для каждого банка.
Теперь пришло время припаять все светодиоды для клавишных колпачков. Они используются исключительно для того, чтобы клавиши светились, поэтому вы можете пропустить их, если хотите, и их не нужно подключать к цифровому выводу, только для питания. Соедините все аноды вместе и все катоды вместе. Учитесь на моей ошибке — это гораздо проще сделать, прежде чем подключать коммутаторы! Подсоедините аноды к +5 В через резистор 220 Ом, а катоды заземлите. Эти светодиоды подключены параллельно. Вот схема только для этих светодиодов:
Используйте маленький кусочек термоусадочной трубки, чтобы закрыть соединение между светодиодами и Arduino:
Включите Arduino для проверки работы всех светодиодов. Вам не нужно загружать любой код. Если какие-либо светодиоды не работают, проверьте и перепроверьте проводку.
Теперь подключите коммутаторы. Они должны быть подключены через резистор 10 кОм, иначе Arduino умрет. Это называется мертвым коротким замыканием — +5 В идет прямо в землю, и все, что осталось от вашего Arduino, будет клубом дыма (поверьте мне, я уже убил одного, так что вам не придется). Вот схема для одного переключателя:
Эта схема одинакова для всех девяти переключателей. Подключите переключатели к цифровым контактам с 2 по 10, каждый со своим собственным резистором 10К на землю. Будьте осторожны при пайке переключателей Cherry MX, они могут быть немного хрупкими, у меня несколько контактов сломалось. Возможно, вы захотите припаять их непосредственно к еще большему количеству полос, но концевые выводы все еще подходят.
Вот и все для проводки. Возможно, вы захотите смонтировать гнездо USB типа B, однако крошечные контакты на них часто довольно трудно паять. Если вы не хотите этого делать, не беспокойтесь. Разъем Micro USB на Arduino аккуратно подходит к отверстию в корпусе. Если вас немного смущают разные типы USB, убедитесь, что вы понимаете различия
,
Наконец, дважды проверьте правильность схемы. Короткий может легко уничтожить Arduino, и это может быть легко сделать с помощью картона.
Bandwidth — Less Than You Might Expect
The HID protocol is used by USB keyboards, and HID uses the USB «interrupt»
transfer type, which allocates 1 packet per a configurable number of USB
frames. Each USB frame is 1ms, and the Teensyduino USB keyboard code
requests the interval to be every frame. If the operating system honors
this request, bandwidth is available for 1000 packets per second.
Each keystroke requires 2 calls to Keyboard.send_now(), the first to press
the key and the second to release it. This translates to 500 keystrokes per
second. Of course, you can send 10 different keys in each, but logic inside
the USB device driver will analyze for changes, which imposes a practical
limit, especially when sending to already-written software which expects
«normal» typing.
Some operating systems might disregard the request and instead schedule 1
packet every 8 frames. At 16ms each, only 62.5 keystrokes per second are
possible.
Some software, even when running on a multi-gHz, multi-core processor may
perform so much work per keystroke (or be written so infficiently),
that sending at such «fast» speeds could overwhelm the computer. You might
need to add extra delays.
USB keyboard is slow. If you need substantial bandwidth, use USB serial.
Советы по программированию клавиатуры на Arduino
Программирование клавиатуры на Arduino может быть достаточно сложным процессом, особенно для начинающих. В этом разделе представлены несколько советов, которые помогут вам справиться с задачей более эффективно и избежать распространенных ошибок.
1. Правильное подключение
Прежде чем начать программировать клавиатуру, убедитесь, что она правильно подключена к плате Arduino. Проверьте, что все провода подключены к соответствующим пинам и все контакты надежно закреплены. Неправильное подключение может привести к непредсказуемому поведению клавиатуры.
2. Использование библиотеки Keyboard
Для программирования клавиатуры на Arduino можно использовать библиотеку Keyboard. Она предоставляет удобные функции для эмуляции нажатий клавиш. Подключите эту библиотеку к своему проекту и изучите ее документацию, чтобы узнать, как использовать доступные функции.
3. Обработка нажатий клавиш
При программировании клавиатуры на Arduino нужно учитывать, что некоторые клавиши могут быть заняты другими функциями, например, соединены с другими пинами или использованы для других целей. При выборе кнопок для нажатий учитывайте их доступность и совместимость с вашим проектом.
4. Обработка множественных нажатий
Если вы планируете использовать клавиатуру с множественными нажатиями, вам потребуется учесть эту функцию при программировании. Используйте специальные функции для обработки множественных нажатий и убедитесь, что ваш код может обработать все возможные комбинации клавиш.
5. Отладка и тестирование
Программируя клавиатуру на Arduino, важно протестировать ваш код на работоспособность и обнаружить возможные ошибки. Используйте серийный монитор Arduino IDE для отладки и вывода сообщений
Проверьте, что клавиши правильно эмулируются и нет непредвиденных проблем.
Следуя этим советам, вы сможете эффективно программировать клавиатуру на Arduino и успешно реализовать свой проект. Удачи!
Individual Key Press / Release
You can use Keyboard.press(key) and Keyboard.release(key) to send individual
key press and release events. The «key» may be ordinary characters, or special
key codes.
All Keys Codes
KEY_A | KEY_B | KEY_C | KEY_D |
KEY_E | KEY_F | KEY_G | KEY_H |
KEY_I | KEY_J | KEY_K | KEY_L |
KEY_M | KEY_N | KEY_O | KEY_P |
KEY_Q | KEY_R | KEY_S | KEY_T |
KEY_U | KEY_V | KEY_W | KEY_X |
KEY_Y | KEY_Z | KEY_1 | KEY_2 |
KEY_3 | KEY_4 | KEY_5 | KEY_6 |
KEY_7 | KEY_8 | KEY_9 | KEY_0 |
KEY_ENTER | KEY_ESC | KEY_BACKSPACE | KEY_TAB |
KEY_SPACE | KEY_MINUS | KEY_EQUAL | KEY_LEFT_BRACE |
KEY_RIGHT_BRACE | KEY_BACKSLASH | KEY_SEMICOLON | |
KEY_QUOTE | KEY_TILDE | KEY_COMMA | KEY_PERIOD |
KEY_SLASH | KEY_CAPS_LOCK | KEY_F1 | KEY_F2 |
KEY_F3 | KEY_F4 | KEY_F5 | KEY_F6 |
KEY_F7 | KEY_F8 | KEY_F9 | KEY_F10 |
KEY_F11 | KEY_F12 | KEY_PRINTSCREEN | KEY_SCROLL_LOCK |
KEY_PAUSE | KEY_INSERT | KEY_HOME | KEY_PAGE_UP |
KEY_DELETE | KEY_END | KEY_PAGE_DOWN | KEY_RIGHT |
KEY_LEFT | KEY_DOWN | KEY_UP | KEY_NUM_LOCK |
KEYPAD_SLASH | KEYPAD_ASTERIX | KEYPAD_MINUS | KEYPAD_PLUS |
KEYPAD_ENTER | KEYPAD_1 | KEYPAD_2 | KEYPAD_3 |
KEYPAD_4 | KEYPAD_5 | KEYPAD_6 | KEYPAD_7 |
KEYPAD_8 | KEYPAD_9 | KEYPAD_0 | KEYPAD_PERIOD |
MODIFIERKEY_CTRL | MODIFIERKEY_RIGHT_CTRL | — Control Key | |
MODIFIERKEY_SHIFT | MODIFIERKEY_RIGHT_SHIFT | — Shift Key | |
MODIFIERKEY_ALT | MODIFIERKEY_RIGHT_ALT | — Alt Key | |
MODIFIERKEY_GUI | MODIFIERKEY_RIGHT_GUI | — Windows (PC) or Clover (Mac) | |
KEY_MEDIA_PLAY | KEY_MEDIA_PAUSE | ||
KEY_MEDIA_RECORD | KEY_MEDIA_STOP | ||
KEY_MEDIA_REWIND | KEY_MEDIA_FAST_FORWARD | ||
KEY_MEDIA_PREV_TRACK | KEY_MEDIA_NEXT_TRACK | ||
KEY_MEDIA_VOLUME_DEC | KEY_MEDIA_VOLUME_INC | ||
KEY_MEDIA_PLAY_PAUSE | KEY_MEDIA_PLAY_SKIP | ||
KEY_MEDIA_MUTE | KEY_MEDIA_EJECT | ||
KEY_SYSTEM_POWER_DOWN | KEY_SYSTEM_SLEEP | ||
KEY_SYSTEM_WAKE_UP |
Keypad Scanning
Here is how a microcontroller scans rows and columns to identify which button has been pressed.
- Each row is connected to an input pin, and each column is connected to an output pin.
Input pins are pulled HIGH by enabling internal pull-up resistors.
The microcontroller then sequentially sets the pin for each column LOW and then checks to see if any of the row pins are LOW. Because pull-up resistors are used, the rows will be high unless a button is pressed.
If a row pin is LOW, it indicates that the button for that row and column is pressed.
The microcontroller then waits for the switch to be released. It then searches the keymap array for the character that corresponds to that button.
Программное обеспечение для клавиатуры 5 класса информатики
Для клавиатуры 5 класса информатики используется специальное программное обеспечение, которое помогает ученикам изучать основные навыки работы с клавиатурой и развивать навыки быстрого и точного набора текста.
Основные функции программного обеспечения для клавиатуры включают:
- Тренировку набора текста: программы предлагают упражнения, которые позволяют ученикам тренировать печать текста на клавиатуре. При этом отслеживается скорость набора, количество ошибок и другие параметры, чтобы учитель мог оценить прогресс учеников.
- Обучение правильной позиции рук: программное обеспечение обучает учеников правильно размещать пальцы на клавиатуре и использовать все печатные пальцы.
- Упражнения для ознакомления с клавишами: для начинающих учеников, программы могут предложить упражнения для знакомства с расположением клавиш на клавиатуре, помогая запомнить расположение клавиш и основные правила печати.
- Тесты и задания: программы также могут предлагать тесты и задания, чтобы ученики могли проверить свои навыки печати и получить обратную связь от учителя.
Все эти функции помогают ученикам развивать навыки работы с клавиатурой и повышать эффективность своей работы на компьютере. Программное обеспечение для клавиатуры в 5 классе информатики является важным инструментом в процессе обучения и помогает ученикам достичь успеха в изучении информатики.
Для чего нужна матричная клавиатура?
Для примера возьмем обычную кнопку. Как вы знаете, это простейшее электромеханическое устройство. Чтобы подключить ее к плате, нужно использовать стягивающий резистор, а также задействовать по одному контакту питания и «земли». Нажатием такой кнопки можно выполнить определенное действие, например можно управлять светодиодом, различными приводами, механизмами и так далее. А что, если нам необходимо подключить несколько кнопок? Тогда придется задействовать больше контактов и большее число проводов, да и без макетной платы уже не обойтись, плюс еще резисторы придется использовать в большем количестве.
Для этого и придумали такую клавиатуру, чтобы упростить подключение большего числа кнопок. Такие устройства встречаются везде — в клавиатурах компьютеров, калькуляторах и так далее.
Подключать ее к плате следует 8 выводами, каждый из них считывает значения с определенных строк и столбцов. Подключать их следует к выводам на панели Digital. Я подключу, например, к выводам от 2 до 9 включительно. Нулевой и первый трогать не желательно, поскольку они предназначены для UART интерфейса (например, для подключения блютуз-модуля). Рациональнее оставить их свободными.
Так выглядит самая простая схема с использованием клавиатуры. Для более удобной работы с ней была написана библиотека Кейпад. Скачать ее, а также другие скетчи можно .
После того, как вы установили в библиотеку, можно зайти в Ардуино IDE (программа с сайта Arduino) и посмотреть примеры скетчей.
Возьмем самый простой скетч для ознакомления. Он позволяет считывать значение с клавиатуры при нажатии определенной клавиши и выводить их в порт. В данном случае это монитор порта на компьютере.
#include // подключаем нашу библиотеку
{«2″,»5″,»8″,»0»},
{«3″,»6″,»9″,»#»},
{«A»,»B»,»C»,»D»}
};
void setup(){
Serial.begin(9600);
}
void loop(){
if (customKey){
Serial.println(customKey);
}
}
Скетч очень простой. Стоит отметить первые строчки кода. Сначала подключаем библиотеку, затем указываем сколько строк и столбцов у клавиатуры, а потом нужно правильно расположить названия клавиш, чтобы было удобнее работать.
Если это сделать неправильно, то, например, при нажатии цифры 4, в порт выйдет цифра 6 или любой другой символ. Это можно определить опытным путем и расположить символы, как они расположены на клавиатуре.
В функции void setup
указываем скорость последовательного соединения с монитором порта 9600 бод
. Функция нужна только для подачи питания на модули. В функции Void Loop
прописываем условие. Переменная Char
используется для хранения только одного символа, например, 1, А или 5, что подходит к ситуации. Если нажатие зафиксировано, то происходит вывод символа в монитор порта с помощью функции Serial Print.
В скобках нужно указывать, какую переменную выводим в порт. Если все сделано верно, в мониторе порта получим символ, на который нажимали. Не забудьте в мониторе порта внизу справа указать скорость передачи данных такую же, как в скетче.
Матричные клавиатуры
Самый простой, дешёвый и популярный вид клавиатур. Он относительно прост в изготовлении и заполняет собой большую часть рынка модулей ардуино. Выглядит чаще всего следующим образом:
Принцип работы
Понять как устроенная данная клавиатура можно изучив следующую схему:
Чтобы понять какая кнопка была нажата, нужно подавать сигнал на первые четыре контакта модуля и смотреть какой сигнал возвращается со второй. Но не стоит пугаться того, что вам придется писать алгоритмы обработки для восьми пинов вручную — в этом нам поможет готовая библиотека «keypad.h», благодаря которой нам не придется изобретать велосипед.
Подключение собственно модуля
В этой статье я воспользуюсь следующей схемой подключения:
У Вас наверное возникает вопрос: «Почему я решил использовать пины со второго по девятый, пропустив нулевой и первый?» — дело в том, что некоторые модули, используют их в качестве каналов RX и TX для получение и передачи данных соответственно. К примеру, блютуз модуль. По-этому с учётом возможного дополнения проекта другими модулями, было решено оставить данные пины подключения свободными.
Написание скетча
Для начала, для того, чтобы получить возможность использовать библиотеку для подключения клавиатур в коде, нужно установить её на ваше устройство. Это можно сделать следующим образом: в самой Arduino IDE нажимаем Скетч -> Подключить библиотеку -> Управлять библиотеками… либо используем комбинацию гарячих клавиш «Ctrl + Shift + I». В поиске вбиваем «keypad.h»(без скобочек) и нажимаем «Установка».
После установки приступаем к написанию скетча:
Минусы
- Слишком много пинов нужно подключить для работы. Это довольна крупная проблема, если вы создаёте не калькулятор или кодовый замок, а более масштабный проект, в котором еще нужно задействовать огромное количество различных модулей — возможно им просто не хватит пинов.
- Слишком низкое качество выполнения модуля: никто вам не гарантирует постоянный стабильный сигнал. Оригинальные клавитуры выполнены не на очень высоком уровне, а если вы вообще сделали заказ на Aliexpress, то скорее всего, вам предстоит исправлять косяки китайских инженеров паяльником, чтобы добится стабильной работы.
- Используется дополнительная библиотека, которая также будет занимать память микроконтроллера, которой у него и так не очень много. Если вы пишите большой проект с множеством функций и вычислений и вам каждый байт на счету нужно считывать данные с клавиатуры вручную либо использовать аналоговую клавиатуру.