Как подключить клавиатуру к Arduino
Обновлено: 21.11.2024
Как использовать клавиатуру Arduino
Клавиатура всегда является ключевым элементом любой системы, поэтому у Arduino есть собственная клавиатура, которую можно подключить, как и все остальные датчики, чтобы вы могли использовать их в своем решении. В этом руководстве содержится полезная информация о методе работы клавиатуры Arduino и пошаговое руководство о том, как использовать клавиатуру с Ozeki 10. Итак, давайте начнем прямо сейчас.
Что такое клавиатура Arduino?
Клавиатуры позволяют пользователям вводить данные во время работы программы. Клавиатура часто необходима для ввода данных в систему Arduino, а клавиатуры мембранного типа являются экономичным решением для многих приложений. Они довольно тонкие и могут быть легко установлены в любом месте.
Как работает клавиатура Arduino?
Провода клавиатуры Adruino представляют собой столбец или строку на клавиатуре. На клавиатуре 3x4 порядок слева направо: R1, R2, R3, R4, C1, C2, C3, где R означает строку, а C означает столбец. Итак, вам нужно подключить каждый провод к цифровому входу на Arduino (рис. 1).
Нажатие кнопки приведет к замыканию одного из выходов строки на один из выходов столбца. Из этой информации Arduino может определить, какая кнопка была нажата. Например, при нажатии клавиши 1 происходит замыкание столбца 1 и строки 1. Arduino обнаружит это и введет в программу 1.
Схема подключения клавиатуры Arduino
Рисунок 1 – Схема подключения клавиатуры Arduino
Как использовать клавиатуру Arduino в Ozeki
Загрузить Ozeki Robot Developer
После установки Ozeki Robot Developer вам необходимо загрузить код управления клавиатурой на Arduino. Вы можете найти код и инструкции по загрузке на следующих страницах. Процесс загрузки включает в себя два шага: сначала нужно отформатировать EEPROM ардуино, затем нужно загрузить управляющий код. Процедура очень проста, занимает всего несколько секунд.
Клавиатура Arduino и Ozeki будут обмениваться данными через порт USB с использованием протокола Ozeki Keyboard. Этот протокол позволяет вам использовать клавиатуру непосредственно на вашем ПК. Вы сможете управлять этой клавиатурой через веб-интерфейс пользователя или общаться с ней с помощью чата Ozeki. Вы можете узнать больше об управлении чатом на следующей странице.
Этапы подключения
Обзор системы
Предлагаемая нами система состоит из клавиатуры Arduino, подключенной к аналоговому порту Arduino. Arduino будет отвечать за считывание данных с этого устройства в режиме реального времени. Мозг системы будет работать на ПК (рис. 2). На ПК Ozeki 10 сможет управлять связью. Вы можете легко запустить Ozeki 10 с помощью веб-браузера
Рисунок 2. Конфигурация системы подключения клавиатуры к ПК с помощью Arduino
Предпосылки
<УЛ>Шаг 1. Подключите клавиатуру к Arduino
Вы можете посмотреть, как подключить емкостную клавиатуру MPR121
к любой из следующих плат:
Ваш браузер не поддерживает тег видео.
<УЛ>(Если вы используете Raspberry Pi, перейдите к шагу 3)
После подключения подключите плату к компьютеру!
Загрузить код в микроконтроллер
Ваш браузер не поддерживает тег видео.
Шаг 3. Запустите Ozeki 10, чтобы попробовать клавиатуру
Ваш браузер не поддерживает тег видео.
Шаг 4. Настройте клавиатуру в Ozeki 10
Шаг 5. Понимание протокола клавиатуры
Контроллер клавиатуры может связываться с Ozeki по следующему протоколу.
Сидеть и писать — это суть писателя. Как и в любой другой дисциплине, если вы не вкладываете в нее время, ум и усилия, вы относитесь к ней как к хобби.
Разум, который вы отдаете процессу письма, возвращается к вам в форме Потока. Процесс без усилий создать что-то ценное легко и вне времени. Общеизвестно, что за какую бы привычку вы ни посвятили себя, в конечном итоге вы можете быть вознаграждены.
Вот почему я хотел, чтобы этот проект сосредоточился на самом процессе написания.
Вот мой канал на Youtube:
AeroArduino
Шаг 1. История
Сегодня я покажу вам, как я создал этот новый проект. Конечно же, речь идет об Arduino и о писательстве.
По какой-то причине я хотел подключить Arduino к своей клавиатуре.
Потому что я люблю писать на клавиатуре.
Это реальное физическое ощущение переключателей на кончиках пальцев заставляет меня чувствовать себя творческим и живым.
Но есть небольшая проблема. Моя любимая клавиатура оказалась USB-клавиатурой.
Да, речь идет о новых современных технологиях, и это то, чем я должен быть доволен.
Но единственная проблема, с которой я столкнулся, когда хотел подключить свою клавиатуру к Arduino (в качестве хоста для моей клавиатуры), я обнаружил, что стандартное использование Arduino с клавиатурой — это подключение к PS2.
На самом деле для этой цели существует хорошая хорошо написанная библиотека Arduino.
Как мне подключить USB-клавиатуру к Arduino? Я только вспомнил тогда, когда искал клавиатуру для своего ноутбука (в котором не было портов PS2), что я хотел найти способ использовать клавиатуру PS2 с портом USB, но я не мог найти это.
И именно поэтому я в первую очередь купил USB-клавиатуру.
Но этот поиск очень помог мне в эти дни, когда я хотел подключить свою USB-клавиатуру к Arduino.
Только тогда я вспомнил, что хотя я не мог использовать обычную клавиатуру PS2 с портом USB в ноутбуке из-за другого протокола, но можно и наоборот.
Я вспомнил, что нашел инструкцию, в которой описывалось создание преобразователя USB в PS2.
Автор упомянул, что пробовал, и это сработало.
Это означает, что вы можете использовать современную USB-клавиатуру со своими старыми ПК и ноутбуками, используя только этот конвертер.
Это просто физический преобразователь для соединения между клавиатурой и хост-портом (а не преобразователь напряжения или протокола). Это связано с тем, что USB-клавиатура может питаться от старого порта PS2, принимать от него сигнал ЧАСОВ, а затем отправлять на него сигнал ДАННЫХ.
И автор попытался сделать эту настройку, и это сработало. Теперь была моя очередь. Когда я искал некоторую информацию о подключении USB к плате Arduino, я обнаружил, что для этого мне нужен либо USB-шилд Arduino, либо плата Arduino с микроконтроллером, которые имеют встроенную физическую функцию USB-хоста. Ни один из этих вариантов мне не был доступен.
Поэтому я решил попробовать физический преобразователь USB в PS2 — автор пробовал на своем ПК — между моей USB-клавиатурой и Arduino. Знаешь что? Это тоже сработало.
Используя библиотеку PS2 Arduino, мы можем подключить USB-клавиатуру напрямую к платам Arduino, таким как Arduino UNO или Arduino Mini.
Шаг 2. Гнездо USB
У меня был разъем USB "мама", но сначала мне пришлось проверить его распиновку с помощью вольтметра.
Затем я сделал перекрестное соединение между разъемом USB и клавиатурой PS2 библиотеки.
Порт PS2 для USB-клавиатуры
+5 В Vcc +5 В Vcc
Шаг 3. Подключение цепи
Компоненты
Гнездовой разъем USB
Подключение
+5 В Vcc +5 В Vcc
Шаг 4. Программное обеспечение
Программное обеспечение
Загрузите и сохраните последнюю версию библиотеки Arduino PS2 отсюда.
Если ваша клавиатура поддерживает PS/2, вы можете подключить ее напрямую к любой плате Arduino и использовать одну из библиотек PS/2 Arduino для считывания нажатий клавиш (а с некоторыми библиотеками даже для управления подсветкой). на клавиатуре). Если клавиатура поставляется с адаптером USB-PS/2, она имеет эту возможность.
Можем ли мы использовать клавиатуру ноутбука в качестве внешней клавиатуры?
Единственный способ использовать ноутбук в качестве дисплея/клавиатуры для ПК, расположенного в другом месте, — это использовать какое-либо программное обеспечение для удаленного рабочего стола, что означает задержку кодирования и декодирования видео. Если вы хотите избежать этого, другим вариантом будет использование расширителя диапазона KVM, который стоит от 100 до 1500 долларов США.
Можно ли превратить клавиатуру ноутбука в USB-клавиатуру?
Клавиатура в корпусе планшета подключается к этой печатной плате ленточным кабелем, который преобразует клавиатуру ноутбука в micro USB.
Может ли Arduino Uno использовать клавиатуру?
Это просто физический преобразователь для соединения между клавиатурой и хост-портом (а не преобразователь напряжения или протокола). Используя библиотеку PS2 Arduino, мы можем подключить USB-клавиатуру напрямую к платам Arduino, таким как Arduino UNO или Arduino Mini.
Как сделать клавиатуру Arduino?
Шаг 1. Настройка Arduino. Шаг 2: КОД — как закодировать нажатие клавиши на Arduino. Шаг 3: КОД – Запись буфера клавиатуры. Шаг 4: КОД — определите контакты для ввода в Arduino. Шаг 5: КОД – Запишите функцию настройки. Шаг 6: КОД – Напишите кнопку разблокировки. Шаг 7: КОД – Запишите нажатие клавиши.
Как запрограммировать клавиатуру Arduino?
Как превратить клавиатуру ноутбука во внешнюю клавиатуру?
Если вы снимите клавиатуру ноутбука с ноутбука, вы заметите соединительную ленту. Вам нужно будет найти внешнюю клавиатуру, которая поддерживает этот тип подключения, или вам нужно будет найти адаптер, который преобразует проприетарный адаптер в стандартный адаптер клавиатуры USB/PS2.
Как использовать клавиатуру ноутбука в качестве другого компьютера?
5 ответов. Один из вариантов, если оба компьютера все еще работают, — использовать программу, подобную синергии. Он позволяет использовать клавиатуру и мышь одного компьютера для управления другим. Вы также можете использовать -east , -north или -south.
Какой интерфейс используют клавиатуры ноутбуков?
Обычная клавиатура ноутбука опирается на материнскую плату для сканирования клавиатуры и интерфейса сенсорной панели. Я использую микроконтроллер Teensy, установленный на соединительной плате, чтобы взять на себя эту функцию.
Как включить клавиатуру Arduino Uno?
Arduino Uno в USB-клавиатуру Шаг 1: Загрузите и установите программное обеспечение. Загрузить и установить. Шаг 2: Режим DFU. После установки программного обеспечения флип. Шаг 3: Теперь следуйте инструкциям. после режима дфу. Шаг 4: Установите Joytokey на эмулированную клавиатуру. установите joytokey для эмуляции или управления клавиатурой и мышью. 5 комментариев. АрдаE1.
Как работает клавиатура Arduino?
Функции клавиатуры позволяют микроплатам 32u4 или SAMD отправлять нажатия клавиш на подключенный компьютер через собственный USB-порт микроконтроллера. Примечание. Не все возможные символы ASCII, особенно непечатаемые, можно отправить с помощью библиотеки клавиатуры. Библиотека поддерживает использование ключей-модификаторов.
Какую плату Arduino можно использовать в качестве клавиатуры?
Поздоровайтесь с ATmega32u4 В отличие от большинства плат Arduino (у которых есть отдельный микрочип для управления последовательной связью через USB), ATmega32u4 делает все в одном чипе, что позволяет ей непосредственно представлять себя как клавиатуру.
Что такое драйвер устройства клавиатуры HID?
Human Interface Devices (HID) – это определение класса устройств, позволяющее заменить разъемы в стиле PS/2 универсальным драйвером USB для поддержки HID-устройств, таких как клавиатуры, мыши, игровые контроллеры и т. д. HID начинался с USB, но был разработан для быть независимым от шины.
Что такое электронная клавиатура?
Клавиатура — это устройство ввода, которое используется для ввода паролей, набора номера, просмотра меню и даже для управления роботами. Клавиатуры можно использовать с микроконтроллерами и платформами прототипирования, такими как Arduino, для реализации различных проектов.
Ввод или вывод с клавиатуры?
Что такое ключевая матрица?
Схема матрицы клавиатуры — это конструкция, используемая в большинстве электронных музыкальных и компьютерных клавиатур, в которой клавишные переключатели соединены сеткой проводов, аналогичной диодной матрице. Например, 16 проводов, расположенных в 8 рядах и 8 столбцах, могут соединять 64 клавиши — этого достаточно для полных пяти октав диапазона (61 нота).
Взаимозаменяемы ли клавиатуры ноутбуков?
Хорошо, если коротко, то нет.
К какому порту подключить клавиатуру?
Теперь, когда мышь и клавиатура находятся там, где вы хотите, вы можете подключить их: клавиатура ПК подключается к порту клавиатуры на задней панели консоли. Мышь подключается к порту мыши.
Какой USB использует клавиатура?
Вы не повредите клавиатуру или мышь, подключив их к порту USB 2.0. Найти USB-порт на вашем компьютере несложно. Обычно он помечен буквами USB, если он находится на передней панели корпуса компьютера, или словами «Универсальная последовательная шина».
Все ли клавиатуры USB?
Практически все клавиатуры, представленные сейчас на рынке, используют порт USB вместо обычного порта клавиатуры PS/2. Клавиатуры Bluetooth, с другой стороны, представляют собой беспроводную замену своих проводных аналогов, которая позволяет вам общаться с компьютерами с помощью технологии Bluetooth.
Можете ли вы использовать Bluetooth-клавиатуру ноутбука?
Поддерживает совместное использование клавиатур, подключенных к компьютеру с Windows или macOS, с любым устройством, поддерживающим Bluetooth, включая устройства с Windows, macOS, iOS и Android.
Можете ли вы использовать свой ноутбук в качестве беспроводной клавиатуры?
Установите MyPhoneExplorer как на ПК с Windows, так и на телефон Android. Подключить по USB. Включите клавиатуру MyPhoneExplorer, установленную в качестве метода ввода. В меню «Дополнительно» на ПК зеркально отразите экран телефона, затем вы можете печатать на ноутбуке на телефоне.
Что такое клавиатура Bluetooth в ноутбуке?
Клавиатура Bluetooth – это беспроводная клавиатура, которая подключается и обменивается данными со своим родительским устройством по протоколу Bluetooth. Эти устройства широко используются с такими портативными устройствами, как смартфоны и планшеты, хотя они также используются с ноутбуками и ультрабуками.
Ваш ПК или Mac обнаружит новую клавиатуру. Затем ваша программа может отправлять нажатия клавиш, которые ваш компьютер распознает как исходящие от стандартной USB-клавиатуры.
Есть два способа заставить Teensy отправлять нажатия клавиш USB.
Простой способ: клавиатура . печать ()
Keyboard.print() работает так же, как Serial.print(), за исключением того, что сообщение набирается как нажатие клавиши. Вы можете печатать строки, числа, отдельные символы с тем же управлением, что и Serial.print().
Вот очень простой пример использования Keyboard.print().
Когда эта программа запущена, она напечатает "Hello World" и увеличит счет. Как вы можете видеть на этом снимке экрана, компьютер видит USB-клавиатуру, и нажатия клавиш напрямую попадают в редактор Arduino. Если бы delay(5000) не использовалась, результат мог бы быть очень неприятным.
Иногда "Hello World 0" может не отображаться. Компьютеру требуется некоторое время, чтобы определить наличие нового USB-устройства, но эта программа запускается немедленно. Если вы используете Keyboard.print() до того, как ПК завершит процесс обнаружения (называемый «перечислением» на жаргоне USB), Keyboard.print() ничего не делает. Задержку() можно добавить в setup().
Раскладки клавиатуры
Меню «Инструменты» > «Раскладка клавиатуры» позволяет выбрать тип клавиатуры, которую будет эмулировать Teensy. Этот параметр вступает в силу при загрузке в Teensy.
Если вы видите неправильные символы из Keyboard.print(), возможно, Teensy эмулирует раскладку клавиатуры США, но ваш компьютер ожидает неамериканскую клавиатуру, или наоборот. Настройка макета влияет только на Keyboard.print() и Keyboard.write().
Использование кнопок
Библиотека Bounce обеспечивает самый простой способ надежного обнаружения изменений кнопок. Этот код показывает базовый подход. Просто обновите () каждый объект, а затем используйте функцию fallEdge (), чтобы проверить, изменился ли он.
Для полного примера: Файл > Примеры > Teensy > USB_Keyboard > Кнопки.
Нажатие/отпускание отдельных клавиш
Иногда вам может понадобиться точное управление с клавиатуры. Многие программы Windows не распознают символ CTRL-C как команду копирования, если только перед этим не будет нажата клавиша CTRL, которая остается нажатой, пока нажата клавиша C. Некоторые программы требуют удержания клавиш дольше минимального времени. «Домой», «Экран печати» и другие специальные символы не могут быть представлены в виде обычной строки, которую можно использовать с помощью Keyboard.print().
Вы можете использовать Keyboard.press(key) и Keyboard.release(key) для отправки отдельных событий нажатия и отпускания клавиши. "Ключ" может быть обычными символами или специальными кодами клавиш.
Все коды ключей
Путь микроменеджера
Способ микроменеджера требует больше усилий, но дает вам полный контроль. Обычно Keyboard.press(key) и Keyboard.release(key) достаточно, но «Micro Manager Way» позволяет вам точно управлять 6 возможными слотами клавиш, используемыми USB-соединением, отправляемым на ваш ПК.
С функциями Micro Manager можно использовать только коды клавиш. Коды клавиш представляют расположение клавиши на английской раскладке клавиатуры США. Раскладка клавиатуры не используется. Мультимедийные и системные ключи не поддерживаются. Таким образом, вы напрямую контролируете фактические коды клавиш без дополнительной программной трансляции!
На USB-клавиатуре можно одновременно нажимать до 6 обычных клавиш и 4 клавиши-модификатора. Для микроуправления клавиатурой вы используете функции, чтобы установить, какую комбинацию клавиш вы хотите нажимать (и ноль для тех, которые вы не хотите нажимать), а затем используете Keyboard.send_now() для отправки каждой комбинации.
Вы можете использовать задержку() или написать код для проверки millis() между вызовами Keyboard.send_now(), чтобы создать условие удерживания клавиши, аналогично тому, как человек печатает. Автоповтор выполняется драйвером на вашем ПК или Mac, поэтому, если у вас есть большая задержка между нажатием и отпусканием обычной клавиши, функция автоповтора может передавать программному обеспечению множество ключевых событий.
При микроуправлении вам нужно отправить ноль для каждой нажатой клавиши, чтобы эта клавиша была отпущена (как если бы палец отрывался от клавиши, а ее пружина возвращала ее в исходное положение).< /p>
Ключи-модификаторы
Есть 4 клавиши-модификатора: Shift, Alt, Ctrl и GUI.Графический интерфейс — это либо «клавиша Windows» (ПК), либо «клавиша клевера» (Macintosh), обычно расположенная сбоку от пробела. Эти 4 клавиши являются специальными и могут использоваться только с Keyboard.set_modifier().
Если вы не хотите, чтобы клавиши-модификаторы не нажимались, используйте ноль.
Нажать только один модификатор очень просто.
Чтобы нажать более одного модификатора, используйте логический оператор ИЛИ. Например:
Обычные ключи
Шесть клавиш всегда передаются через USB-клавиатуру. Обычно используется только первый ключ, а остальные 5 равны нулю. Однако вы можете использовать 6 клавиш как угодно. Например, этот код отправляет одновременное нажатие клавиш A, B, C, D, E и F.
Чтобы разблокировать ключ, необходимо установить его на ноль. В приведенном выше примере все шесть должны быть установлены обратно на ноль, если при следующем вызове Keyboard.send_now() ни одна из этих шести клавиш не будет нажата.
Keyboard.send_now()
После того, как вы установили обычные клавиши и клавиши-модификаторы, используйте Keyboard.send_now(), чтобы передать эту комбинацию на ПК или Mac.
Клавиши остаются такими, какими вы их установили, поэтому между каждым вызовом Keyboard.send_now() вам нужно вносить только необходимые изменения. Например, этот код будет отправлять последовательность CTRL-ALT-DELETE.
Важно установить нормальные ключи обратно на ноль и отправить. Если этого не сделать, клавиша останется нажатой, а USB-драйвер ПК или Mac начнет автоповтор.
Если вы знакомы со старыми «кодами сканирования» клавиатуры PS/2, имейте в виду, что коды клавиатуры USB работают по-другому (и используют другие числовые значения). Старые коды сканирования отправляли разные сообщения для событий нажатия и нажатия клавиши, где каждое сообщение представляло изменение одной клавиши. При использовании USB каждое сообщение представляет полное состояние клавиатуры. Одновременно можно нажимать до 6 любых клавиш плюс любую комбинацию 8 клавиш-модификаторов.
Пропускная способность – меньше, чем вы могли ожидать
Скорость USB-клавиатуры ограничена 500 нажатиями клавиш в секунду, а некоторые операционные системы могут ограничивать скорость до 62,5 нажатия клавиш в секунду. Вы ничего не можете сделать с этими ограничениями. Чтение оставшейся части этого раздела только поможет вам понять, почему они существуют.
Протокол HID используется USB-клавиатурами, а HID использует тип передачи USB "прерывание", при котором выделяется 1 пакет на настраиваемое количество кадров USB. Каждый кадр USB составляет 1 мс, и код USB-клавиатуры Teensyduino запрашивает интервал для каждого кадра. Если операционная система выполнит этот запрос, пропускная способность будет доступна для 1000 пакетов в секунду.
Каждое нажатие клавиши требует 2 вызовов Keyboard.send_now(), первый для нажатия клавиши, а второй для ее отпускания. Это соответствует 500 нажатиям клавиш в секунду. Конечно, вы можете отправить 10 разных ключей в каждом, но логика внутри драйвера USB-устройства будет анализировать изменения, что накладывает практическое ограничение, особенно при отправке в уже написанное программное обеспечение, которое ожидает «нормального» ввода.
Некоторые операционные системы могут игнорировать запрос и планировать отправку 1 пакета каждые 8 кадров. При 16 мс каждое возможно только 62,5 нажатия клавиш в секунду.
Некоторое программное обеспечение, даже работающее на многоядерном процессоре с тактовой частотой в несколько ГГц, может выполнять так много работы за одно нажатие клавиши (или быть написано так неэффективно), что отправка на таких «быстрых» скоростях может привести к перегрузке компьютера. Возможно, вам потребуется добавить дополнительные задержки.
Читайте также: