Сенсорная клавиатура для компьютера на Arduino своими руками
Сегодня не редкость встретить ноутбук или клавиатуру для компьютера без «дополнительной клавиатуры». Также бывают ситуации, когда нужно организовать выносную клавиатуру с определенным набором клавиш. Сегодня в проекте рассмотрим, как можно сделать сенсорную клавиатуру для компьютера или ноутбука на Arduino своими руками. Также приложу все необходимые материалы, которые помогут реализовать подобный проект или проект с другим набор клавиш под ваши потребности.
Сенсорная клавиатура для компьютера своими руками.
Давайте сделаем сенсорную клавиатуру для компьютера с функционалом «дополнительной клавиатуры».
Что такое «дополнительная клавиатур» и как она выглядит? На рисунке ниже можно увидеть обозначение основных блоков клавиатуры. Желтым цветом выделены клавиши «дополнительной клавиатуры». Данный набор клавиш используется чаше всего при работе с калькулятором на компьютере или для заполнения цифровой информации, например в таблице excel.
Что понадобится для проекта «сенсорная клавиатура для ПК»?
В качестве сенсорного дисплея буду использовать дисплей Nextion, про который у меня на сайте есть блок уроков. Вы можете использовать другой сенсорный дисплей или матричную клавиатуру 4х4, про которую подробнее рассказывал тут.
Мозгом будет Arduino pro Micro, потому что данную отладочную плату можно использовать как периферийное устройство и не нужно использовать дополнительное программное обеспечение, чтобы использовать данную плату в качестве клавиатуры или компьютерной мыши.
Схема подключения самодельной сенсорной клавиатуры на Arduino Leonardo.
Подключение дисплея Nextion к Arduino pro micro осуществляется по 4 проводам. Благодаря чему данную конструкцию можно поместить в небольшой корпус или вмонтировать в стол.
Но нужно помнить одно ограничение! Не все контакты на Arduino Leonardo и Micro поддерживают прерывания, поэтому для RX можно использовать только следующие pin: 8, 9, 10, 11, 14 (MISO), 15 (SCK), 16 (MOSI).
Необходимые библиотеки для Arduino pro micro.
Для реализации проекта нужно установить 2 библиотеки, которые можно скачать внизу статьи в разделе «файлы для скачивания»:
SoftwareSerial - библиотека для эмуляции Serial порта. (Можно обойтись и без нее, но лучше аппаратный Serial порта не занимать, вдруг нужно будет выводить информацию при отладке программы).
Keyboard - эти базовые библиотеки позволяют платам Arduino Leonardo, Micro или Due при подключении к компьютеру определяться как обычная мышь и/или клавиатура. Данная библиотека встроена в Arduino IDE, и дополнительно устанавливать ее не нужно.
Дизайн клавиатуры для дисплея Nextion.
Как создать красивый дизайн для дисплея Nextion, рассказывал в отдельном уроке, который вы можете прочитать тут.
Для данного проекта понадобится 2 картинки в пассивном состоянии кнопок.
И состояние кнопок при нажатии.
Чтобы команды нажатия на клавишу передавались Arduino, для каждой кнопки нужно прописать уникальную команду, например для клавиши «0» она будет следующей:
Можно использовать более простые команды для общения дисплея с Arduino, но как показывает опыт, при использовании коротких команд бывают проблемы.
Скетч для создания клавиатуры на Arduino pro micro.
Как пользоваться библиотекой «SoftwareSerial» уже рассказывал тут. Подробнее рассмотрим библиотеку «Keyboard», которая отвечает за передачу информации на компьютер о нажатии той или иной клавиши.
Первым делом нам нужно подключить библиотеку.
#include "Keyboard.h"
Инициализируем работу с библиотекой.
// initialize control over the keyboard:
Keyboard.begin();
И сейчас нам нужно передать нажатие той или иной клавиши на ПК. Для этого будем использовать команду.
Чтобы вам не искать, список команд нажатия других клавиш клавиатуры приведен ниже:
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.
Пришло время проверить работоспособность клавиатуры на дисплее Nextion и Arduino. Так как я сделал «дополнительную клавиатуру» проверять работоспособность будем на калькуляторе. Подключаем устройства к ПК и открываем калькулятор.
Давайте попробуем что-то подсчитать. Нажимаем число знак, например «+». Второе число и нажимаем клавишу «Ent». И получаем результат сложения.
Как видим, все работает. Возможно, не хватает еще пару клавиш. Но зная, как это все делается, добавить дополнительные команды не составит труда. И реализовать выносную клавиатуру под необходимые требования.
Подведём итог.
Сделать самодельную USB клавиатуру достаточно просто с использованием отладочной платы Arduino pro micro. Также можно реализовать полноценную клавиатуру. Только возникает вопрос.А зачем? Сегодня USB клавиатура стоит не так и дорого. Если делать самодельную клавиатуру только для нестандартных задач. Например, при нажатии на 1 кнопку передавать сочетание клавиш. Например «CTRL + Backspace». А также сделать дополнительное сенсорное поле, как показано на картинке ниже.
Понравился проект Сенсорная клавиатура для компьютера на Arduino своими
руками? Не забудь поделиться с друзьями в соц. сетях.
Комментарии