(Flight Rudder Pedals).P.S. Прошла неделя и захотелось «улучшений»… (практически не внося изменений в схему):1. Кнопку энкодера использовать, как <Shift>.
При коротком нажатии - включается режим <Shift>, горит зеленый светодиод, включается виртуальная кнопка «6» (дополнительно доступны кнопки 11..20).
При продолжительном нажатии происходит сброс энкодера (зеленый диод – мигает два раза).
2. Добавить к функции «Авиа Педали» возможность использовать существующие оси «Газ» и «Тормоз» для торможения правым и левым колесами.
При желании отключать эту возможность: Кнопку «0» (она же «10», в режиме <Shift> - «20») при длительном нажатии использовать для отключения тормозов.
Индикатором режима "тормоза активированы" - является красный светодиод (горит) и включается виртуальна кнопка «32».
3. Перенести ось руля направления на «Ось Х».
Перенести ось энкодера (я его использую для триммера руля направления) на «Ось Y».
Правый тормоз - «Ось Z», левый тормоз - «Вращение вокруг оси Z»
Реализация ver4:Схема 1 незначительно изменена (см. Схема 2.
https://drive.google.com/file/d/1Zqlfte3lx2XKkLyE-2hNigP5YwoRkHQ4/view?usp=sharing):
– Добавлен RGB-светодиод ( интенсивность свечения «Голубого» диода с помощью R16 желательно подобрать минимальной, этот диод только показывает, что питание подключено)
– «Красный», «Зеленый» диоды подключаем к портам А2, А3 (соответственно).
Остальное достигается программным путем:
Файл прошивки Flight_Rudder_Pedals_v4.ino берем здесь :
https://drive.google.com/open?id=1xwPHAnefBRATjdWLgGmraHhMZgLz8BUUБиблиотеки от NicoHood:
https://github.com/NicoHood/HIDПроцедура прошивки хорошо пояснена тут ( но файлы его проекта и библиотеку брать не нужно, использовать Fligh_Rudder_Pedals_v4.ino и библиотеку HID-master от NicoHood) :
https://www.youtube.com/watch?time_continue=15&v=G7bZJhWD01c&feature=emb_logoНовый контроллер по частям: https://drive.google.com/file/d/1Y9oU8XH0QeRQ3d3hn_T_tLWGVoglpGGx/view?usp=sharinghttps://drive.google.com/file/d/1Nx8bscY_rBWi3o7XRyekCEpy-xagJl2y/view?usp=sharinghttps://drive.google.com/file/d/1EDxpPCSeZG44PvXLyl6JGq2BENuJUkMQ/view?usp=sharinghttps://drive.google.com/file/d/1jF48-HCz8fEhIDle7bAP1z_dKDoPhZpu/view?usp=sharingПРОВЕРКА: 
Видио:
https://www.youtube.com/watch?v=rJhDCnprGx8
https://drive.google.com/file/d/1XSY2UVHm3bc8vkIJ5JCt4TSxIsPVNq6L/view?usp=sharingПодключаем и наблюдаем...Контроллер распознается как стандартное устройство для Windows 10 - геймпад Arduino Micro (открыть "устройства и принтеры»).
На контрольной панели отображено следующее состояние:
1. Тормоза ИСПОЛЬЗУЮТСЯ (горит виртуальная «Кнопка 32» и Красный светодиод, на корпусе контроллера);
2. Режим “Shift” активирован ( горит виртуальная «Кнопка 6» и Зеленый светодиод, на корпусе контроллера);
3. Нажита «Кнопка 2» (отображается как «Кнопка 12», т. к. “Shift” активирован);
4. Нажита «Кнопка 4» (отображается как «Кнопка 14», т. к. “Shift” активирован);
5. Нажита «Кнопка 7» (отображается как «Кнопка 17», т. к. “Shift” активирован);
6. Правый тормоз - «Ось Z» полностью нажат;
7. Левый тормоз - «Вращение вокруг Оси Z» нажат частично (на 1/3) ;
8. По состоянию положения педалей ( п.6 и п.7 ) – руль направления почти полностью отклонен вправо;
9. Триммер руля направления отклонен (отметка внизу).
10. Особенности: При активации/деактивации тормозов во время игры, один раз срабатывает «Кнопка 10» или
«Кнопка 20» ( зависит от “Shift” ), поэтому на эти кнопки следует назначать команды, которые при нежелательном срабатывании не приведет к серьезным последствиям.
Например, « Вкл/Откл ЗЕРКАЛО», или «Выбрать все двигатели».
Заключение. В прототипах подобных проектов часто используют библиотеки от NicoHood (
https://github.com/NicoHood/HID ).
NicoHood достоин высокой похвали и уважения. Вряд ли он думал о «Авиационных» педалях, но когда закладывается верная концепция то вещи, которые даже не предусматривались изначально выходят сами собой – это, на мой взгляд, говорит о правильной технической философии проекта.