Сенсорная клавиатура для компьютера на Arduino своими руками

Сегодня не редкость встретить ноутбук или клавиатуру для компьютера без «дополнительной клавиатуры». Также бывают ситуации, когда нужно организовать выносную клавиатуру с определенным набором клавиш. Сегодня в проекте рассмотрим, как можно сделать сенсорную клавиатуру для компьютера или ноутбука на Arduino своими руками. Также приложу все необходимые материалы, которые помогут реализовать подобный проект или проект с другим набор клавиш под ваши потребности.


Сенсорная клавиатура для компьютера своими руками.

Давайте сделаем сенсорную клавиатуру для компьютера с функционалом «дополнительной клавиатуры».

Что такое «дополнительная клавиатур» и как она выглядит? На рисунке ниже можно увидеть обозначение основных блоков клавиатуры. Желтым цветом выделены клавиши «дополнительной клавиатуры». Данный набор клавиш используется чаше всего при работе с калькулятором на компьютере или для заполнения цифровой информации, например в таблице excel.

Давайте сделаем сенсорную клавиатуру для компьютера с функционалом «дополнительной клавиатуры».

Что понадобится для проекта «сенсорная клавиатура для ПК»?

В качестве сенсорного дисплея буду использовать дисплей Nextion, про который у меня на сайте есть блок уроков. Вы можете использовать другой сенсорный дисплей или матричную клавиатуру 4х4, про которую подробнее рассказывал тут.

Что понадобится для проекта «сенсорная клавиатура для ПК»?

Мозгом будет Arduino pro Micro, потому что данную отладочную плату можно использовать как периферийное устройство и не нужно использовать дополнительное программное обеспечение, чтобы использовать данную плату в качестве клавиатуры или компьютерной мыши.

Схема подключения самодельной сенсорной клавиатуры на Arduino Leonardo.

Подключение дисплея Nextion к Arduino pro micro осуществляется по 4 проводам. Благодаря чему данную конструкцию можно поместить в небольшой корпус или вмонтировать в стол.

Схема подключения самодельной сенсорной клавиатуры на Arduino pro Micro.

Но нужно помнить одно ограничение! Не все контакты на Arduino Leonardo и Micro поддерживают прерывания, поэтому для RX можно использовать только следующие pin: 8, 9, 10, 11, 14 (MISO), 15 (SCK), 16 (MOSI).

Необходимые библиотеки для Arduino pro micro.

Необходимые библиотеки для Arduino pro micro.

Для реализации проекта нужно установить 2 библиотеки, которые можно скачать внизу статьи в разделе «файлы для скачивания»:

  1. SoftwareSerial - библиотека для эмуляции Serial порта. (Можно обойтись и без нее, но лучше аппаратный Serial порта не занимать, вдруг нужно будет выводить информацию при отладке программы).
  2. Keyboard - эти базовые библиотеки позволяют платам Arduino Leonardo, Micro или Due при подключении к компьютеру определяться как обычная мышь и/или клавиатура. Данная библиотека встроена в Arduino IDE, и дополнительно устанавливать ее не нужно.

Дизайн клавиатуры для дисплея Nextion.

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

Для данного проекта понадобится 2 картинки в пассивном состоянии кнопок.Для данного проекта понадобится 2 картинки в пассивном состоянии кнопок.

И состояние кнопок при нажатии.

Для данного проекта понадобится 2 картинки в пассивном состоянии кнопок.

Чтобы команды нажатия на клавишу передавались Arduino, для каждой кнопки нужно прописать уникальную команду, например для клавиши «0» она будет следующей:

Чтобы команды нажатия на клавишу передавались Arduino,

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

Также можно упростить интерпретатор, тем самым уменьшить код для Arduino. Но я не стал усложнять код. Чтобы понять мог каждый, кто читал моиуроки про программирование Arduino и дисплея Nextion.

Но я не стал усложнять код. Чтобы понять мог каждый, кто читал моиуроки про программирование Arduino и дисплея Nextion.


Скетч для создания клавиатуры на Arduino pro micro.

Как пользоваться библиотекой «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.

Пришло время проверить работоспособность клавиатуры на дисплее Nextion и Arduino. Так как я сделал «дополнительную клавиатуру» проверять работоспособность будем на калькуляторе. Подключаем устройства к ПК и открываем калькулятор.

Подключаем устройства к ПК и открываем калькулятор.

Давайте попробуем что-то подсчитать. Нажимаем число знак, например «+». Второе число и нажимаем клавишу «Ent». И получаем результат сложения.

И получаем результат сложения.

Как видим, все работает. Возможно, не хватает еще пару клавиш. Но зная, как это все делается, добавить дополнительные команды не составит труда. И реализовать выносную клавиатуру под необходимые требования.

Сделать самодельную USB клавиатуру достаточно просто с использованием отладочной платы Arduino pro micro.

Подведём итог.

Сделать самодельную USB клавиатуру достаточно просто с использованием отладочной платы Arduino pro micro. Также можно реализовать полноценную клавиатуру. Только возникает вопрос.А зачем? Сегодня USB клавиатура стоит не так и дорого. Если делать самодельную клавиатуру только для нестандартных задач. Например, при нажатии на 1 кнопку передавать сочетание клавиш. Например «CTRL + Backspace». А также сделать дополнительное сенсорное поле, как показано на картинке ниже.

Понравился проект Сенсорная клавиатура для компьютера на Arduino своими руками? Не забудь поделиться с друзьями в соц. сетях.

А также подписаться на наш канал на YouTube, вступить в группу Вконтакте, в группу на Facebook.

Спасибо за внимание!

Технологии начинаются с простого!

Фотографии к статье

Файлы для скачивания

Скетч для создания клавиатуры на Arduino pro micro Скетч для создания клавиатуры на Arduino pro micro.zip1 Kb 504 Скачать
Дизайн клавиатуры для дисплея Nextion - HMI Дизайн клавиатуры для дисплея Nextion - HMI.zip1185 Kb 522 Скачать
Картинки для проекта Картинки для проекта.zip572 Kb 519 Скачать
SoftwareSerial - библиотека для эмуляции Serial порта SoftwareSerial - библиотека для эмуляции Serial порта.zip11 Kb 503 Скачать

Комментарии

Ваше Имя*



Cлучайные товары

Перемычки для макетных платПеремычки для макетных плат


AliExpress
AliExpress

Модуль поворотного энкодераМодуль поворотного энкодера


AliExpress
AliExpress

Читайте также

Мы в соц сетях

Подпишись на канал Telegram
Разработка проектов