Comments 17
У Arduino Pro Micro чип микроконтроллера называется 32u4, а не 23u4. Опечатка, наверное.
При обработке нажатий кнопок не вижу "борьбы" с дребезгом контактов. Нормально нажатия обрабатываются, нет лишних срабатываний?
По поводу скорости джойстика - наверное, можно разные способы придумать. Например, запоминать время (из функции millis) начала движения, т.е. отклонения его от нейтрального положения. В зависимости от того, сколько времени прошло от этого момента, делить величину перемещения на коэффициент, значение которого зависит от времени. Чем дольше времени джойстик сохраняют отклоненным, тем больше скорость. Как только джойстик останавливают, сбрасывать значение коэффициента в такое, чтобы скорость опять стала минимальной.
Думаю период главного цикла слишком большой, чтобы ловить дребезг. Пока отладочные сообщения передадутся, он уже самоустранится.
ДА, очепятка вышла)
По поводу дребезга, контакты отрабатывают хорошо, без ложных срабатываний.
Попробуем реализовать тобой предложенное)
По поводу убегающего курсора - имхо, можно сделать, чтобы передатчик несколько раз в секунду передавал некую последовательность байт, означающую "я живой". Если в течение секунды эта последовательность в приемник не приходит (или пока еще ни разу не приходила), курсор не перемещать, считая, что связи с передатчиком нет.
Я аналогичную проблему решил аэро-мышью. Нажимаешь кнопку, и взмахи пультом управляют движением курсора (со временем очень точно можно наловчиться это делать). Кнопочки переназначил на смену аудио-дорожек, субтитров. Плэй\Пауза\Громкость само собой там тоже есть. Одна из кнопок программируется для включения\выключения ТВ по инфракрасному каналу (есть не во всех моделях таких пультов).

можно сделать еще круче и проще.
Подключаем к ПК TOF датчик. Получаем бесконтактный джойстик.
Управляем им движениями руки или ноги - вправо влево, вверх вниз.
Можно просто через микрофон управлять голосом лежа на диване.
Также требуется создать систему питания на основе аккумулятора 18 650 с модулями заряда и преобразователя напряжения до 5V.Любая плата для повербанка.
Я для зарядки головного светильника (он не имеет встроенного контроллера заряда для своего Li-Ion аккумулятора, а внешнее ЗУ — неудобная фигня) использую плату на основе микросхемы ip5306 (платки у некоторых произодителей маркируются как mh-cd42).
Размеры у платки примерно с первую фалангу пальца (24*16мм) и имеется светодиодный индикатор уровня заряда из 4 светодиодов.
Единственные проблемы: ток заряда — 2А, при малом потреблении (порядка 50мА) может отключить преобразователь (на нагрузку способна выдавать до 2А).
Но можно поискать что-то попроще, правда не будет отображения уровня заряда.
Например, есть платы на основе TP4056 и MT3608, где напряжение регулируется подстроечным резистором (ток заряда регулируется перепаиванием smd-резистора, да и подстроечный имеет смысл сразу заменить на постоянный, подобрав наиболее подходящий номинал).
Хотя, если имеется возможность заказать/сделать плату самому, то лучше собрать вот что-то вроде этого проекта (там улучшено потребление в простое, хотя и упомянутую выше плату на основе TP4056 и MT3608 можно доработать, инструкции в инете есть).
О, спасибо за идею!
Думал использовать этот модуль. Компактный и надёжный, к тому же есть возможность замены АКБ без перепайки.
Модуль питания WeMos на аккумуляторе Li-Ion 18650 купить оптом и в розницу в СompactTool с доставкой по Москве и России (compacttool.ru)
Ребята подскажите пожалуйста а можно сделать геймпад которого допустим на четыре кнопки больше чем на геймпаде для Sony PlayStation с учётом стиков?
Почему нет? Два путя:
1)найди и купить какого нить мутант с Китая
2) Подобрать контроллер с достаточно необходимым кол-вом входов/выходов и добавить свои кнопки.
Joystick для ПК на базе Arduino