Сегодня не редкость встретить ноутбук или клавиатуру для компьютера без «дополнительной клавиатуры». Также бывают ситуации, когда нужно организовать выносную клавиатуру с определенным набором клавиш. Сегодня в проекте рассмотрим, как можно сделать сенсорную клавиатуру для компьютера или ноутбука на Arduino своими руками. Также приложу все необходимые материалы, которые помогут реализовать подобный проект или проект с другим набор клавиш под ваши потребности.
Давайте сделаем сенсорную клавиатуру для компьютера с функционалом «дополнительной клавиатуры».
Что такое «дополнительная клавиатур» и как она выглядит? На рисунке ниже можно увидеть обозначение основных блоков клавиатуры. Желтым цветом выделены клавиши «дополнительной клавиатуры». Данный набор клавиш используется чаше всего при работе с калькулятором на компьютере или для заполнения цифровой информации, например в таблице excel.
В качестве сенсорного дисплея буду использовать дисплей Nextion, про который у меня на сайте есть блок уроков. Вы можете использовать другой сенсорный дисплей или матричную клавиатуру 4х4, про которую подробнее рассказывал тут.
Мозгом будет Arduino pro Micro, потому что данную отладочную плату можно использовать как периферийное устройство и не нужно использовать дополнительное программное обеспечение, чтобы использовать данную плату в качестве клавиатуры или компьютерной мыши.
Подключение дисплея Nextion к Arduino pro micro осуществляется по 4 проводам. Благодаря чему данную конструкцию можно поместить в небольшой корпус или вмонтировать в стол.
Но нужно помнить одно ограничение! Не все контакты на Arduino Leonardo и Micro поддерживают прерывания, поэтому для RX можно использовать только следующие pin: 8, 9, 10, 11, 14 (MISO), 15 (SCK), 16 (MOSI).
Для реализации проекта нужно установить 2 библиотеки, которые можно скачать внизу статьи в разделе «файлы для скачивания»:
Как создать красивый дизайн для дисплея Nextion, рассказывал в отдельном уроке, который вы можете прочитать тут.
Для данного проекта понадобится 2 картинки в пассивном состоянии кнопок.
И состояние кнопок при нажатии.
Чтобы команды нажатия на клавишу передавались Arduino, для каждой кнопки нужно прописать уникальную команду, например для клавиши «0» она будет следующей:
Можно использовать более простые команды для общения дисплея с Arduino, но как показывает опыт, при использовании коротких команд бывают проблемы.
Также можно упростить интерпретатор, тем самым уменьшить код для Arduino. Но я не стал усложнять код. Чтобы понять мог каждый, кто читал моиуроки про программирование Arduino и дисплея Nextion.
Как пользоваться библиотекой «SoftwareSerial» уже рассказывал тут. Подробнее рассмотрим библиотеку «Keyboard», которая отвечает за передачу информации на компьютер о нажатии той или иной клавиши.
Первым делом нам нужно подключить библиотеку.
#include "Keyboard.h"
Инициализируем работу с библиотекой.
// initialize control over the keyboard: Keyboard.begin();
И сейчас нам нужно передать нажатие той или иной клавиши на ПК. Для этого будем использовать команду.
Keyboard.write('0');
По аналогии предаем значение других символов.
... Keyboard.write('8'); Keyboard.write('9'); ...
Передача нажатия клавиши «Enter» передаётся следующей командой.
// Enter: Keyboard.write(KEY_RETURN);
Чтобы вам не искать, список команд нажатия других клавиш клавиатуры приведен ниже:
Key | Шестнадцатеричное значение | Десятичное значение |
KEY_LEFT_CTRL | 0x80 | 128 |
KEY_LEFT_SHIFT | 0x81 | 129 |
KEY_LEFT_ALT | 0x82 | 130 |
KEY_LEFT_GUI | 0x83 | 131 |
KEY_RIGHT_CTRL | 0x84 | 132 |
KEY_RIGHT_SHIFT | 0x85 | 133 |
KEY_RIGHT_ALT | 0x86 | 134 |
KEY_RIGHT_GUI | 0x87 | 135 |
KEY_UP_ARROW | 0xDA | 218 |
KEY_DOWN_ARROW | 0xD9 | 217 |
KEY_LEFT_ARROW | 0xD8 | 216 |
KEY_RIGHT_ARROW | 0xD7 | 215 |
KEY_BACKSPACE | 0xB2 | 178 |
KEY_TAB | 0xB3 | 179 |
KEY_RETURN | 0xB0 | 176 |
KEY_ESC | 0xB1 | 177 |
KEY_INSERT | 0xD1 | 209 |
KEY_DELETE | 0xD4 | 212 |
KEY_PAGE_UP | 0xD3 | 211 |
KEY_PAGE_DOWN | 0xD6 | 214 |
KEY_HOME | 0xD2 | 210 |
KEY_END | 0xD5 | 213 |
KEY_CAPS_LOCK | 0xC1 | 193 |
KEY_F1 | 0xC2 | 194 |
KEY_F2 | 0xC3 | 195 |
KEY_F3 | 0xC4 | 196 |
KEY_F4 | 0xC5 | 197 |
KEY_F5 | 0xC6 | 198 |
KEY_F6 | 0xC7 | 199 |
KEY_F7 | 0xC8 | 200 |
KEY_F8 | 0xC9 | 201 |
KEY_F9 | 0xCA | 202 |
KEY_F10 | 0xCB | 203 |
KEY_F11 | 0xCC | 204 |
KEY_F12 | 0xCD | 205 |
Полный код проекта клавиатуры для ПК своими руками можно скачать внизу статьи в разделе «Файлы для скачивания».
Пришло время проверить работоспособность клавиатуры на дисплее Nextion и Arduino. Так как я сделал «дополнительную клавиатуру» проверять работоспособность будем на калькуляторе. Подключаем устройства к ПК и открываем калькулятор.
Давайте попробуем что-то подсчитать. Нажимаем число знак, например «+». Второе число и нажимаем клавишу «Ent». И получаем результат сложения.
Как видим, все работает. Возможно, не хватает еще пару клавиш. Но зная, как это все делается, добавить дополнительные команды не составит труда. И реализовать выносную клавиатуру под необходимые требования.
Подведём итог.
Сделать самодельную USB клавиатуру достаточно просто с использованием отладочной платы Arduino pro micro. Также можно реализовать полноценную клавиатуру. Только возникает вопрос.А зачем? Сегодня USB клавиатура стоит не так и дорого. Если делать самодельную клавиатуру только для нестандартных задач. Например, при нажатии на 1 кнопку передавать сочетание клавиш. Например «CTRL + Backspace». А также сделать дополнительное сенсорное поле, как показано на картинке ниже.Понравился проект Сенсорная клавиатура для компьютера на Arduino своими руками? Не забудь поделиться с друзьями в соц. сетях.
А также подписаться на наш канал на YouTube, вступить в группу Вконтакте, в группу на Facebook.
Спасибо за внимание!
Технологии начинаются с простого!
Фотографии к статье
Файлы для скачивания
![]() |
Скетч для создания клавиатуры на Arduino pro micro.zip | 1 Kb | 688 | Скачать |
![]() |
Дизайн клавиатуры для дисплея Nextion - HMI.zip | 1185 Kb | 708 | Скачать |
![]() |
Картинки для проекта.zip | 572 Kb | 688 | Скачать |
![]() |
SoftwareSerial - библиотека для эмуляции Serial порта.zip | 11 Kb | 698 | Скачать |
Arduino проекты
26 октября , 2021
Комментариев:0
Файлов для скачивания:4
Фото:6
Понравилась статья? Нажми
Виджеты для Easy HMI
Читайте также
Мы в соц сетях
Комментарии