Мини-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);
}
Клавиатура.конец(); //останавливаем клавиатуру
}





























