Мини-HID-клавиатура

Источник:

Мини-клавиатура используется в качестве HID для компьютера. Настройте для работы с любым компьютером. Чтобы получить полный список карт символов, выполните простой поиск по запросу «Карта символов ASCII».

Распечатать инструкции

Единственное требование — Arduino Pro Micro (я использовал плату-клон от Amazon — HiLetgo 3 шт. Pro Micro Atmega32U4 5 В 16 МГц)

Вам также понадобятся светодиоды (прямоугольные белые 3 В, 20 мА от Amazon — Chanzon 100 шт. 2x5x7 мм Белые светодиодные диодные фонари)

Тактильные переключатели (опять же с Amazon — Cylewet, 25 шт., 12x12x7,3 мм, тактильный кнопочный переключатель мгновенного действия)

Требуется соединительный провод 20га, выберите свой

Резисторы 100 Ом (это значение изменится, если вы используете светодиод другого цвета)

Инструкции по подключению: припаяйте все, как только проверите, что код работает так, как вы хотите.

Подключите все светодиоды параллельно резистору на аноде (+ или длинный), подключите все резисторы к одному проводу и подключите его к контакту 5 В на Arduino.

Соедините все катоды светодиодов (- или короткий) вместе с одной стороной каждого из переключателей, подключите их к одному проводу и подключите его к контакту GND на Arduino.

Все переключатели подключены к контактам 2, 3, 4, 5, 6 и 7. При нажатии он должен соединить землю с контактами.

Код Arduino следующий:

/*

МиниКлавиатура
29 августа 2019 г.
*/
включить

//---------------------------------------------------------
// Настройка
//---------------------------------------------------------

недействительная настройка() {
pinMode (2, INPUT_PULLUP); // устанавливает контакт 2 на вход и поднимает его на высокий уровень с помощью внутреннего резистора
pinMode (3, INPUT_PULLUP); // устанавливаем контакт 3 на вход и поднимаем его на высокий уровень с помощью внутреннего резистора
pinMode (4, INPUT_PULLUP); // устанавливает контакт 4 на вход и поднимает его на высокий уровень с помо��ью внутреннего резистора
pinMode (5, INPUT_PULLUP); // устанавливает контакт 5 на вход и поднимает его на высокий уровень с помощью внутреннего резистора
pinMode (6, INPUT_PULLUP); // устанавливает контакт 6 на вход и поднимает его на высокий уровень с помощью внутреннего резистора
pinMode (7, INPUT_PULLUP); // устанавливает контакт 7 на вход и поднимает его на высокий уровень с помощью внутреннего резисто��а

Серийный.начало(9600); // начинаем последовательную передачу для отладки

}

//---------------------------------------------------------
// Цикл
//---------------------------------------------------------

недействительный цикл() {

Клавиатура.begin(); //начинаем клавиатуру
if (digitalRead(2) == 0) // если нажата кнопка 2 — эмулирует поиск Spotlight
{
// Для одного нажатия клавиши используйте press() и Release()
Keyboard.press(KEY_LEFT_GUI); // Нажимает клавишу Mac Command
Keyboard.press((char) 32); // Нажимает клавишу пробела
Keyboard.releaseAll();
задержка(200); // задержка для эмуляции короткого нажатия
}
else if (digitalRead(3) == 0) // если нажата кнопка 3 — эмулирует выбор окна
{
Keyboard.press(KEY_LEFT_GUI);
Keyboard.press((char) 0x09); // Нажимает клавишу TAB
Keyboard.releaseAll();

задержка(300);

}
else if (digitalRead(4) == 0) // если нажата кнопка 4 — эмулирует функцию сохранения
{
Keyboard.press(KEY_LEFT_GUI); // Нажимает клавишу z
Keyboard.press('s');
Keyboard.releaseAll();

задержка(300);

}
else if (digitalRead(5) == 0) // если нажата кнопка 5 — эмулирует функцию повтора
{
Keyboard.press(KEY_LEFT_GUI);
Keyboard.press(KEY_LEFT_SHIFT);
Keyboard.press('z'); // Нажимает клавишу z
Keyboard.releaseAll();

задержка(300);

}
else if (digitalRead(6) == 0) // если нажата кнопка 6 — эмулирует функцию поиска
{
Keyboard.press(KEY_LEFT_GUI);
Keyboard.press('f'); // Нажимает клавишу f
Keyboard.releaseAll();

задержка(300);

}
else if (digitalRead(7) == 0) // если нажата кнопка 7 — эмулирует функцию отмены
{
Keyboard.press(KEY_LEFT_GUI); // Нажимает клавишу Shift
Keyboard.press('z'); // Нажимает клавишу z
Keyboard.releaseAll();

задержка(300);

}
Клавиатура.конец(); //останавливаем клавиатуру
}

00:27
19
Нет комментариев. Ваш будет первым!

Ссылка появится после регистрации

Похожие модели

Посещая этот сайт, вы соглашаетесь с тем, что мы используем файлы cookie.