Самодельный джойстик. Руль, штурвал на STM32(USB-HID)

Поділитися
Вставка
  • Опубліковано 27 вер 2024
  • Исходники и прошивка:
    goo.gl/WhxWng
    Хорошие платы STM32F103C8T6: ali.pub/31y4z1
    А есть готовые китайские модули, но изменить там ничего нельзя: ali.pub/31y54a
    Обязательно подписывайтесь:
    Alexander Guryanov
    / axgxp
    AxGxP.pro

КОМЕНТАРІ • 344

  • @HamsterTime
    @HamsterTime 5 років тому +28

    Давно ждал выпуск, интересная реализация)

  • @toma-88
    @toma-88 5 років тому +13

    Ребята из ob-dev выложили в свободный доступ библиотеку V-USB, которая реализует HID для AVR, в том числе на копеечном ATtiny 2313. Так что не одним STM32 богат мир микроконтролеров без ардуино. Но за видео спасибо)

  • @sanyadreyev6291
    @sanyadreyev6291 4 роки тому +2

    Ты мне настроение на день сделал! Я бы в жизни не решился такую пипиньку соорудить. Лайк+Подписка. Автор - ЖГИ!

  • @xxxALFxxx
    @xxxALFxxx 5 років тому +2

    Привет. Очень интересная тема. Я делал джойстики и педали с помощю проекта ММджой (от Мегамозга). Мне эта тема близка и очень нравится. Хотелось бы видеть ее продолжение и от Вас. Подписываюсь однозначно.

  • @masterkit9517
    @masterkit9517 3 роки тому +2

    Теперь уже джойстик понадобился на 103 stm32, что нужно что бы ваш девайс повторить? какой софт? так понимаю keil не подойдет никак, на видео Atolic вы используете и говорили раньше Atolic, т.е. мне достаточно загрузить ваш код в Atolic и из него в stm32 и джойстик готов? получается даже cubeMX не понадобится, а лишь Atolic и зашить ваш готовый файл? Мне как раз джойстик лишь бы был. А потом попытаюсь разобраться как добавить кнопок если удастся зашить 103 плату если понадобятся кнопки. Предполагаю MIDI аналогично отсылается команда. Есть еще какая то программа показывает содержимое дескриптора подключенного к USB устройства, забыл название. Из той программы вытаскивал дескриптор заводского MIDI инструмента. Так он не отличался почти от STM32 MIDI дескриптора. Программу скачал, забыл название.

  • @enisykin1299
    @enisykin1299 Рік тому +1

    ... то, что нужно, огромнейшее спасибо, сам хотел подобное да не решался а тут готовое решение- конструктор

  • @81n90
    @81n90 3 роки тому +1

    Блин, закинул на яндексе удочку - делал ли кто нить на стм 32 штурвал(недавно подсел на симуляторы, а штурвал от лоджитека - 16к руб.) и тут на тебе - все есть! И я такой - блин, парень, СПАСИБО за труд! Подпишусь! Ан нет - уже оказывается давно подписан )

  • @reutoffreutoff4549
    @reutoffreutoff4549 Рік тому +1

    я так и не понял, если я хочу сделать первый в жизни контроллер, что мне понадобится помимо самого stm? программатор или переходник для прошивки в комплекте идет или надо отдешьно покупать? ссылка в описании устарела.. да и не совсем понятно, какими файлами шьется мк.

  • @azatfr
    @azatfr 5 років тому +4

    Если делать самодельный джойстик, то делать надо только на датчиках Холла или на магниторезистивных датчиках, а на резисторах проще купить.

  • @donaldtrump1505
    @donaldtrump1505 5 років тому +7

    поччеемммуу ? я не знал о тебе? спасибо алфе, рассказал о тебе

  • @evgeniypytikov6662
    @evgeniypytikov6662 5 років тому +4

    Респект и уважуха мастеру

  • @user-jd7vz5od3
    @user-jd7vz5od3 3 роки тому +1

    0:28 Только что собрал USB джойстик - штурвал на arduino (atmega8) без всяких ваших аппаратных USB.))

    • @AxGxP
      @AxGxP  3 роки тому

      Молодец!

  • @Mc3EBs
    @Mc3EBs 4 роки тому

    Супер! И Правда, материалы хорошие! НО тебя мало знают. Кто с Альфы, кто с Хамстера сюда приходят. Спасибо, за полезную информацию В доступной форме!

  • @bato1903
    @bato1903 5 років тому +27

    Какой колхоз, но елки.... в этом есть какой-то шарм.... деревянное..... как в детстве.
    Информации маловато, да есть гугл, но тут все таки пример приятнее, нагляднее, удобнее. Раскрой тему шире. Да видео станет больше, но кто захочет тот досмотрет.
    Удачи и развития твоему каналу и идеям.

    • @РомаЯковлев-ц6г
      @РомаЯковлев-ц6г 5 років тому

      Я б на принтере напечатал. Сейчас почти все на нем делаю

    • @AxGxP
      @AxGxP  5 років тому +3

      Кто бы то мне переходнички для колес, напечатал?))) Чтоб робота опять под пол запустить.

    • @РомаЯковлев-ц6г
      @РомаЯковлев-ц6г 5 років тому

      @@AxGxP А стл модель есть

    • @AxGxP
      @AxGxP  5 років тому +2

      @@РомаЯковлев-ц6г Нет, не создавал пока... Как-то вообще мало деталей с 3D принтера в руках держал, не внушает доверия прочность, по тому, что видел на видео. В дух словах это должен быть шестигранник 7мм, длинной 15-20мм и отверстием 5мм, полумесяц. Насколько оно прочное будет? Толщина стенки получается от 1мм до 2.5-3мм. Реально такое сделать? Или лучше из металла сразу точить?

    • @РомаЯковлев-ц6г
      @РомаЯковлев-ц6г 5 років тому +1

      @@AxGxP Смотря какую нагрузку делать??? Если ПЕТГ пластик то там прочность хорошая ну если его при печати не пережечь тогда ломкий становится. вот эта линейка пластика bestfilament.ru/category/plastik-Bestfilament/?tipa_materiala[]=300
      еще есть нейлон но я им не пробовал печатать. С него делают допустим шестерни для мясорубки.

  • @jesterolog7
    @jesterolog7 8 місяців тому

    а чи можете підказати номінали Резисторів ? бо як на мене, то 10 кОм ідеально підійшли

  • @nikola2692
    @nikola2692 Рік тому

    на ESP32 кто то делал? просто лежит без дела хотел сделать тактильную перчатку для виар но все никак руки не доходят

  • @plmeh
    @plmeh 4 роки тому

    Как хорошо что я тебя нашел, мучаю леонардо чтобы сделать MIDI контроллер. Начинаю посматривать в сторону STM 32, уже заказал парочку. На русском мало видео по HID на STM 32.

    • @AxGxP
      @AxGxP  4 роки тому

      Ну вот, есть с чего начать...

  • @steppeez
    @steppeez 8 місяців тому

    ну, хотя бы для приличья:) опубликовал бы прямо тут в описании или в комменте ещё и шестнадцатеричный дамп машинного кода прошивки в текстовом формате (а не только лишь в формате.rar)

  • @masterkit9517
    @masterkit9517 3 роки тому +1

    boot1 не появляется как кнопка к GND, все другие 7шт. программа видит а boot1 не видит, перемычка снята полностью, из boot1 торчит провод к GND и ничего не происходит 1:11 еще не понятно что такое R4 и что заменить перемычкой

  • @АндрейКомаров-р9й
    @АндрейКомаров-р9й 5 місяців тому

    Stm32 а дальше какие буквы?
    Любые?

  • @masterkit9517
    @masterkit9517 4 роки тому +1

    а как компьютер узнаёт что это именно джойстик? там какой то код нужно где то прописать? именно типа устройства? я вот и джойстик бы сделал, но мне нужно прописать мидиустройство, сконфигурировать сконфигурировал в cubemx как аудиоустройство, ПК видит в списке аудиоустройств отлично как и заводской цифровой рояль в одном списке, а куда следующую строчку писать следующего шага, полный ноль, а помочь во всем интернете некому, я писал вам раньше, но мне бы задать направление куда идти на 1 шаг вперед. Все сконфигурировано в CUBEMX в аудиоустрйойства, нужен следующий шаг хотя бы 1 строку которую изучать.

    • @AxGxP
      @AxGxP  4 роки тому +1

      CubeMX, там HAL. Я с HAL не дружу, не подскажу. Ищите по HAL, о USB документацию.

    • @masterkit9517
      @masterkit9517 4 роки тому +1

      @@AxGxP Спасибо большое!

    • @masterkit9517
      @masterkit9517 4 роки тому +1

      удалось уже в MIDIOX подцепиться через миди аудио устрйоство! Если понадобится пишите, но там еще эндпоинты какие то и упаковать нужно вагоны байтов в локомотив

  • @Argentum79
    @Argentum79 5 років тому +6

    Круто. И по домашнему лампово... :)

  • @sergeyonikovich
    @sergeyonikovich 3 роки тому

    Где всему этому научиться?

  • @MaximShepard
    @MaximShepard 11 місяців тому

    А возможно вместо переменных резисторов, взять энкодер? С большим количеством "шагов"

    • @AxGxP
      @AxGxP  11 місяців тому

      Всё возможно, но нужно изменять программу. Без изменений можно подключить аналоговый датчик Холла.

    • @reutoffreutoff4549
      @reutoffreutoff4549 6 місяців тому

      ​@@AxGxPдатчик холла А3144 для этого подойдёт?

  • @thematrix4305
    @thematrix4305 8 місяців тому

    Я подобный себе сделал на свой передатчик что бы на компе летать, удобно не надо отдельно пульт для сима покупать

    • @AxGxP
      @AxGxP  8 місяців тому

      Ага, я тоже изначально для этого и делал. Ну а этот вариант, со штурвалом в основном по приколу, для видео.

  • @Gigagamer74
    @Gigagamer74 3 роки тому

    А этой штукой можно будет увеличить рабочий ход МАРС-ов ? Мне стандартный ход МАРС-ов моего Defender Cobra M5 маловат, нужно градусов до 45-ти (даже больше) увеличить ход стика в каждую из четырёх сторон.

  • @ЛордВолдеморт-ь6р
    @ЛордВолдеморт-ь6р 3 роки тому

    Вы кнопки подключали через резисторы? Номинал подскажите?

    • @AxGxP
      @AxGxP  3 роки тому

      Можно без резисторов. Подтяжка включена внутри микроконтроллера. Последовательное включение резисторов применяется чтоб ограничить ток, если вдруг вывод будет запрограммирована как выход, а не как вход. В током случае можно применить резисторы от сотен ом до нескольких килоом. Если при этом ещё и установить параллельно каждой кнопке по конденсатору на 0.1 мкФ, получится фильтр для устранения дребезга контактов.

  • @masterkit9517
    @masterkit9517 3 роки тому +2

    Большое вам спасибо! Написал был вам кучу комментариев, но просто сократил их. Даже данная прошивка это невероятная помощь! Вы очень помогли даже одной версией без изменений прошивки. Если будет возможность подсказать как добавить кнопок это будет супер Новый год! Лучший подарок вы уже сделали, сделав данное видео, оно самое ценное из всего ютуба, так как джойстик который понадобился на STM32 заработал мгновенно сразу после прошивки, и проще объяснения не существует в природе как его из 103й платы сделать. С добавлением кнопок с точностью до наоборот для меня, всё непонятно. Джойстиков у меня много, но не для игр, они нужны для набора нот. Один джойстик припаян через реле к плате голосовым управлением, расскажу вам если будет нужно от а до я информацию о управлении голосом, удалось найти настолько уникальную информацию, что её до сих пор можно выкопать лишь на единственном форуме в интернете. Остальные мягко говоря прячут информацию о автозагрузке голосовой платы. Мне удалось найти информацию о загрузке 7 команд при включении платы без ПК. Можно голосом управлять чем угодно 7 слов без ПК, слова хранятся в плате. Если будет нужно расскажу от а до я. Для начала даже вашей прошивки в качестве джойстика хватит как лучшего подарка на Новый год. Но всегда хочется большего. Было бы как в поле чудес супер призом добавление кнопок. И уже даже не мечтаю о сдвиговых регистрах добавить в эту же вашу прошивку. А потом ещё MIDI дескриптор. Это мои мечты. С Новым годом вас! Вы человек года в теме STM32 джойстиков для меня! А значит и в теме MIDI, так как именно ваше видео с самого начала вдохновило на переход на STM32 а в дальнейшем именно ваше видео дало ответ как формируется отправка данных на примере джойстика. Сразу это было сложным, а Atolic сразу показался был вовсе непроходимым, и долгое время изучал мигание лампочками на STM32. Есть практически 4-5 блогеров в ютубе понимающих в STM32 как вы и готовых давать подобные как на данном видео уроки, когда прошил и всё заработало чётко и фантастически точно. Не хочется тратить вам время, но буду невероятно рад если вы как в поле чудес как суперприз дополните, а я вам помогу сбором информации о том же MIDI например, хоть я и туп как пробковое дерево во многих вопросах в STM32 но упорством мне удалось подключить миди устройство и ниже я написал пример дескриптора который заработал сразу. Также я нашёл для дампа дескрипторов любого устройства программу. Вот здесь ссылка на ее скачивание www.thesycon.de/eng/usb_descriptordumper.shtml программа любое USB устройство подключенное в ПК умеет вывести дескриптор устройства. Данная программа очень помогла создать собственное MIDI устройство на 103 STM32, возможно вам пригодится, чуть нашёл такую программу. Она очень поможет тем, кто дескриптор проверять станет на совместимость с уникальными устройствами.

    • @jesterolog7
      @jesterolog7 8 місяців тому +1

      Привіт. Радий тебе тут бачити

  • @evgeniypytikov6662
    @evgeniypytikov6662 5 років тому

    Тема классная
    надо развивать и улучшать

  • @alexandr_rydzenkov
    @alexandr_rydzenkov 5 років тому

    О прям как от деда осталось... не хватает торчащей сбоку лампы... и пятиминутного прогрева

  • @nyannyan8243
    @nyannyan8243 5 років тому +1

    Ох, эти советские резисторы... Там после непродолжительного использования такой дребезг должен начаться, что самолет должен волчом начать крутиться и дергаться в все стороны как эпилептик в припадке.

  • @E_879
    @E_879 2 роки тому

    мммм спасибо джоистик работает

  • @bizisoft1
    @bizisoft1 3 роки тому

    У меня со старых времен лежит штурвал genius. Возможно ли переделать его также переделать под USB?

    • @AxGxP
      @AxGxP  3 роки тому

      Да, вполне.

  • @marklazarus1356
    @marklazarus1356 9 місяців тому

    Автор ATMEGA32U4 нет? Неслышал? 🙈

    • @AxGxP
      @AxGxP  9 місяців тому

      Видео внимательно слушай, а то походу ты что-то не услышал... Да и ценник за leonardo в $25+ прекрасно помню, не те времена.

  • @Vlad13Rus
    @Vlad13Rus 4 роки тому

    Изменил прошивку, а как сконфигурировать hex файл для прошивки?

  • @goiiia3774
    @goiiia3774 5 років тому +2

    ЭКОстиль ))) Ништяк ))

  • @ДимаСтепанов-р1х
    @ДимаСтепанов-р1х 2 роки тому

    как завести этот код на stm32f4?

  • @mykhailohorelenkov5844
    @mykhailohorelenkov5844 5 років тому +1

    Как всегда на высоте!)

  • @Den38ruS
    @Den38ruS 3 роки тому

    Добрый день ,подскажите ,на чём лучше собрать джой из 20 кнопок и 4-х энкодеров ?

    • @AxGxP
      @AxGxP  3 роки тому +1

      Вот из такого STM32F103C8T6 и собрать. Как раз есть четыре таймера, к которым можно энкодеры подключить. Кроме тактового кварца, USB и SWD остается ещё 23 ноги свободных. Вполне хватает, даже если на прямую от каждой кнопки проводок подключить.

    • @Den38ruS
      @Den38ruS 3 роки тому

      @@AxGxP Спасибо,попробую разобраться.

  • @_plasticarmor_8789
    @_plasticarmor_8789 Рік тому

    Здравствуйте ,скажите в джойстике "РУС" , если штатные транзисторы заменить на такие, в программном обеспечение надо указывать изменения? Просто приобрёл для симуляторов , а у осей "X"Y" есть свободный ход мертвая зона , калибровка толку не даёт , мертвая зона механическая ...

    • @AxGxP
      @AxGxP  Рік тому

      Какие ещё транзисторы? Не знаю, что там у вас стоит, но лучше всего делать на магнитах и датчиках Холла.

    • @_plasticarmor_8789
      @_plasticarmor_8789 Рік тому

      @@AxGxP да у нас магниты и датчики с трудом найти , дорого будет.

    • @AxGxP
      @AxGxP  Рік тому

      @@_plasticarmor_8789 Разве aliexpress вам не доставляет?

  • @masterkit9517
    @masterkit9517 4 роки тому +1

    перешёл на STM32 по этой причине - 0:22 и не жалею, keil комфортнее в тысячи раз, настраивается внешний вид, цвет, шрифт, для мигания светодиодом выбираю STM32 чем ардуино. А остальное ардуино многое просто не потянет. Делал миди кнопки, так ардуино даже памяти не имеет. Куда его вообще применять. Если бы кто подсказал ещё как на stm32 нажатия кнопок как миди сообщения в ком порт бросать, а stm32 что бы как миди устройство определился

  • @АлександрКузоватов-т5р

    На нем кролик летать будет ? 😅

  • @GoodVrGames
    @GoodVrGames 4 роки тому

    Эмм. Я по секрету скажу (через полтора года), но вот как раз обведенный на 00:27 МК (atmega16u2) можно запрограммировать на то, чтобы он выполнял роль USB-HID устройства с помощью библиотеки joystick. Не учитывая те платы Arduino, где ядром является как раз аналогичный чип (Леонардо/микро-про на atmega32u4), и где не требуется USB-ASP программатор для заливки прошивки в него. STM32, конечно, в тысячу раз кастомнее и быстрее, но на ардуинке чтобы создать геймпад мне не потребовался бы аналогичный видос.
    И чтобы устройство стало по истине универсальным - надо придерживаться стандарта x-input, ибо d-input сейчас не во всех приложениях работает, а если и работает, то часто криво.

  • @smert_okupantam
    @smert_okupantam 3 роки тому

    Объясни, что делать с содердимым архива. Есть STM32CubeIDE. Есть STM32F103C8 с 16МГц кварцем. Скачал/распаковал твой архив. Дальше что?

    • @AxGxP
      @AxGxP  3 роки тому

      А дальше на хлеб намазывай и закусывай почаще! Более дурацкого вопроса давно не слышал...

    • @smert_okupantam
      @smert_okupantam 3 роки тому

      @@AxGxP спасибо, добрый человек, теперь всё сразу прояснилось. так бы и сказал, что не знаешь, а то я-то спьяну подумал, что ты разбираешься. Ладно, интернет большой, поищу кого потолковее.

    • @AxGxP
      @AxGxP  3 роки тому

      @@smert_okupantam давай, давай... Как раз коллег по уму в "интернете" найдешь...

    • @smert_okupantam
      @smert_okupantam 3 роки тому

      @@AxGxP ну что ты мелешь? я же нормально спросил. в архиве нет Readme.md или txt. Я не знаю как мне использовать эти файлы в имеющейся среде разработки. А ты вместо помощи ведешь себя как мудак. Зачем? Когда вырастешь, тебе это не пригодится.

  • @ДенисШатилов-щ5ю
    @ДенисШатилов-щ5ю 4 роки тому

    Доброго дня! А про Ваш "свисток" и пульт можно поподробнее? Я думаю всем присутствующим будет интересно. Я бы повторил..

    • @AxGxP
      @AxGxP  4 роки тому

      Что именно? Квадрокоптер? Или машинку? Про машинку есть видео на канале, да и зимние полеты квадрокоптера есть, рекомендую тоже глянуть. Остануться вопросы, пишите.

  • @FIL_KILLER
    @FIL_KILLER 8 місяців тому

    Когда то купил программатор для stm32, чтобы прошить плату гироскутера, сейчас хочу сделать контроллер для жд симулятора на ардуино, и тут натыкаюсь на это видео, для жд симулятора мне нужно 5 основных осей джойстика.
    Вот теперь уменя выбор купить ардуино leonardo c встроенной поддержкой usb hid или попытать удачу и купить stm32

    • @AxGxP
      @AxGxP  8 місяців тому

      Ну если смотреть например по цене, то STM-ок можно купить несколько за те-же деньги. Этот проект скомпилирован на сколь помню под 3 оси... Если нужно 5 - придется немного переделывать программу. А вообще для чего там 5 осей? Я поездом не управлял, но вроде как там все инструменты дискретные... Ну у паровозов конечно краны всякие есть.

    • @FIL_KILLER
      @FIL_KILLER 8 місяців тому

      @@AxGxPНа самом обычном современном поезде, три тормоза динамический(рекуперация) , ручной(стояночный) и тормоз состава(основной) .
      Газ это уже 4я ось,
      И реверс, если в обычном локомотиве, он имеет три положения то на паровоз реверс плавный Как-бы реверс и газ меняются местами. Управляешь во основном реверсом.

    • @AxGxP
      @AxGxP  8 місяців тому

      @FIL_KILLER что все эти тормоза можно плавно включать? Я думал, у крана машиниста есть несколько позиций и усилие торможения зависит от длительности включения крана. По тяге понятно, только фиксированные позиции, динамическое торможение на сколь понимаю так-же. Тут главное посмотреть, что поддерживает ПО на компьютере, как предусмотрено управление этим всем. Там же можно не только оси передавать, а и до 128 кнопок, если не ошибаюсь.

    • @FIL_KILLER
      @FIL_KILLER 8 місяців тому

      @@AxGxPНа тормозе да, несколько положений, на скорости контроллер скорости может иметь 8 позиций как на старых электричках, или 34 позиции как на электовозах.
      Динамический тормоз аналогичен контроллеру скорости, по числу позиций, ручной тормоз плавный, а тормоз состава имеет около 6 позиций( если не ошибаюсь) .
      Через оси проще управлять всем этим разнообразием.
      Я думал привязать переменный резистор к положениями тормоза но это уже когда заморочусь..
      Я вдохновился штукой "RailDriver" выпускается совместимой с популярными симуляторами, он стоит 24 тыс на Ebay.

  • @TheAtomstrike
    @TheAtomstrike 5 років тому

    не нашёл "JoyAxGxP.hex" в архиве. а при попытке скомпилировать проект выдаёт ошибку "Description Resource Path Location Type
    fatal error: stm32f1xx_hal.h: No such file or directory stm32f1xx_hal_pcd_ex.c /hidtest/Drivers/STM32F1xx_HAL_Driver/Src line 42 C/C++ Problem"
    при этом такой файл есть: если кликнуть по нему с контролом он открывается. Наверняка нужна какая-то настройка среды, но я теряюсь в догадках где именно. Подскажи, пожалуйста!

    • @AxGxP
      @AxGxP  5 років тому

      Вы не мой проект компилируете наверное... У меня HAL не используется, и соответственно ошибок вызывать не может. Всё, что используется - в архиве.

    • @TheAtomstrike
      @TheAtomstrike 5 років тому

      @@AxGxP Спасибо за ответ. Действительно я не разобрался с атолликом и он прихватывал файлы из открытых им ранее проектов. Проект скомпилировался. После заливки прошивки есть одна особенность: После подключения к usb компьютера устройство не определяется пока не нажмёшь металлическую кнопку reset. После этого определяется и начинает моргать светодиод.

    • @AxGxP
      @AxGxP  5 років тому

      Насколько понимаю, прошили ST-Link-ом и подключаете к USB, без отключения питания с платы. При этом микроконтроллер остается остановленным. Чтоб он запустился нужно выполнить сброс, это возможно сделать и аппаратно, при помощи ST-Link, в Keil была такая птичка. А в Atollic немного сложнее, нужно редактировать скрипт отладчика. Но у них есть видео "TrueSTUDIO Download and reset (no debug)", там всё показано.

    • @TheAtomstrike
      @TheAtomstrike 5 років тому

      @@AxGxP Да прошил st-linkом китайским, но подключал к компу без него на холодную. Поискав в st-link utility нашел переключатель BOR level но он у меня неактивный( серенький, обсереный) и не понятно как включить ресет по питанию

  • @maximheavy2107
    @maximheavy2107 4 роки тому

    Делаю себе панель управления для игры Elite dangerous, Дано: резисторы 4шт, энкодеры 4шт, тумблер без фиксации (on)off(on) 9шт, кнопки 5шт. Потянет ли эта плата такой обвес? На данном этапе стою на распутье между STM32 и Arduino Micro Pro

    • @smert_okupantam
      @smert_okupantam 3 роки тому

      пфф, даже Arduino Micro Pro потянет, загугли MMJoy проект. Ну а 32битные с аппаратной интеграцией ЮСБ так и подавно потянет. Глянь чо Лёша Кластер чудит.

  • @ВикторияБулитко-в3ч

    Супер!!! Очень классно! Лайк однозначно. А если б еще и рычаг(джойстик) и педали руля-полетал бы на таком! жаль что в программировании дальше бейсика не шарю

  • @ЕвгенийРодюков-х9ь
    @ЕвгенийРодюков-х9ь 5 років тому

    Здравствуйте скажите если я хочу добавить ещё четыре оси и 4 кнопки....как исправить размер дискриптора ( те если можно объяснить конкретно в каких строчках что исправить ...и про кратность восьми ещё не понял)...поясните пожалуйста ..прошу не судить я начинающий...Да и на сколько ом или кОм можно применять переменные резисторы ?

    • @AxGxP
      @AxGxP  5 років тому

      Сделайте так, как рассказано и показано в видео... Данные к USB передаются целыми байтами(8бит), поэтому нельзя добавить не кратное количество бит. Вот и 4 кнопки как раз поэтому не получится, нужно 8 кнопок добавить. Делайте постепенно, начните с кнопок, а потом к осям перейдете. P.S. Насколько мне известно многие игры не работают с более чем 6-ю осями, из-за ограничений DirectInput.

  • @slaitail215
    @slaitail215 5 років тому +10

    Не понял. Что это за дискриминация Ардуинщиков?! В общето в Ардуино Леонардо есть аппаратный USB

    • @AxGxP
      @AxGxP  5 років тому

      Поэтому и сказанно "в большинстве", а не во всех.

    • @muctex
      @muctex 5 років тому

      Да и у оригинальной uno r3 в роли uart преобразователя стоит атмега 8u2 я ее перепрошивал под миди интерфейс, библиотека LUFA. Потанцевав с бубном можно транслировать с основной 328 меги по uart в 8u2, а она будет слать даные как HID устройство. И еще не будем забывать про великую библиотеку V-USB. Да софтовый, да медленый, но рабочий вариант. Делали когда-то переходники для джойстиков от приставки в usb hid на atmega8 все отлично работало.

    • @AxGxP
      @AxGxP  5 років тому +5

      Да, были времена дорогих микроконтроллеров, извращались по разному, и без бубна редко что-то получалось. Но я считаю, что стоит оставить это в прошлом. Нет в этом ни смысла, ни логики на сегодня.

    • @pichbah
      @pichbah 5 років тому

      @@AxGxP Вот видишь, не один я считаю что на ардуино это вполне реально(причем почти на любой) И претензии здесь в том что автор в самом начале заявляет: ардуинщики вам такое не удастся(а потом уже бла бла бла отговорки) P.s. Мои прежние коменты удалены? Мне это льстит)))

    • @AxGxP
      @AxGxP  5 років тому +1

      @@pichbah Мне тоже непонятно, зачем я тут распинался, чтоб потом это все удаляли... Создавайте свою ветку, а не пишите в чужих, чтоб никто, ничего не удалял. Прошлый раз вы писали в ветке @/Volodya GAMES/ вот его и спросите, зачем он всё удалил. Сейчас опять в чужой ветке пишете, ничему жизнь не учит. Можно сделать что угодно, на чем угодно, хоть на стандартной логике, если есть много свободного времени, и есть желание танцевать с бубном. Про невозможность сделать это на AVR впринципе я не говорил. Упомянутая библиотека V-USB к ардуино отножения не имеет, хотя её можно туда портировать. А стандартными средствами Arduino UNO, Mini такой возможности нет! Любые реализации на любой ардуино будут менее функциональными и менее стабильными. Потребуется доработка схемы, паяльное оборудование и может еще и внешний программатор. Именно из-за существования Arduino Leonardo в видео сказано, "на большинстве"! Хотя даже в сравнении с Leonardo STM32F103C8T6 будет быстрее, функциональнее, дешевле. Остались вопросы, создайте свою ветку, в ней и пишите!

  • @navyguy6099
    @navyguy6099 Рік тому

    почему за 3 (!) года так мало просмотров????? (((((

    • @AxGxP
      @AxGxP  Рік тому +1

      Скорее всего, потому, что STM32 а не Arduino))) А вообще у меня на канале как-то в общем не много смотрят. Формат, подача не многим заходит.

  • @СергейЕрошкин-д8э
    @СергейЕрошкин-д8э 2 роки тому

    Красавчик. Респект и уважуха

  • @toxatt2
    @toxatt2 5 років тому +4

    Двойной лайк за безардуино

  • @timtim4494
    @timtim4494 5 років тому

    А преднатяг рычагов как-то регулируется?

    • @AxGxP
      @AxGxP  5 років тому

      Видео про электронику, а не механику. То, что на видео - вообще без пружин. Ну а если хотите сделать самый реалистичный вариант, в идеале подойдут асинхронные двигатели, в качестве обратной связи.

  • @crazysova
    @crazysova 5 років тому

    Да ладно и на ардуине прекрасно работает, проекты Mjoy тому подтверждение.. даже с обратной связью есть.

    • @AxGxP
      @AxGxP  5 років тому

      Да, хороший проект, даже отличный на свое время! Только вот хочу обратить внимание, что появился он еще задолго до ардуино, а написан был на ассемблере... Так что при чем здесь ардуина не совсем понятно.

  • @karmanov2004
    @karmanov2004 5 років тому

    С отправкой команд +- проясняется, а как принимать и обрабатывать полный круг интерфейса. Я сим гонщик, мне интересно принять обработать перегрузки и передать их моторам.

    • @AxGxP
      @AxGxP  5 років тому

      Обратная связь осуществляется по другому интерфейсу. В стандартном USB HID такой возможности нет.

    • @karmanov2004
      @karmanov2004 5 років тому

      @@AxGxP вы меня напугали . Может я не так вырзился. Не буду зацикливаться на определённой игре или симуляторе. С контролера(джойстика) охота получить обратную связь, например обороты двигателя.

    • @AxGxP
      @AxGxP  5 років тому

      Напишите подробнее, можно с примерами. На контроллере есть педаль, компьютер получает её положение, это и влияет на "ускорение двигателя". По стандартному интерфейсу данные о "работе двигателя" контроллер не получает. Эти данные нужно искать в самой игре-симуляторе, а уже оттуда их вытягивать. Возможно производители уже предусмотрели какой-то интерфейс для обратной связи.

    • @smert_okupantam
      @smert_okupantam 3 роки тому

      в USB HID есть прием и передача, но в играх почти нет никакой "обратной связи", приходится ставить спецсофт, что шпионит игру и шлет в геймпад данные.

  • @Alex-dc2jq
    @Alex-dc2jq 9 місяців тому

    А какие файлы нужно пршить в мк? Только хекс?

    • @AxGxP
      @AxGxP  9 місяців тому +1

      В HEX есть всё необходимое и достаточное. В этом и прелесть HEX. Круче в этом смысле только ELF, в нем кроме того, что необходимо есть ещё куча дополнительной информации. А скуднее всего в этом смысле BIN файл, его нужно ручками, по конкретным адресам прописывать. Но в не зависимости от того, какой формат хранения прошивки Вы выбрали, в микроконтроллер пропишутся одни и те-же данные, и программа будет выполняться совершенно одинаково. Никаких дополнительных "фюзов" в stm32 вшивать не нужно, они нужны в основном для защиты от считывания, блокировки памяти и т.д.

    • @Alex-dc2jq
      @Alex-dc2jq 9 місяців тому

      @@AxGxP спасибо большое, попробую прошить и отпишусь о результате)

    • @Alex-dc2jq
      @Alex-dc2jq 8 місяців тому

      @@AxGxP прошил, всё работает отлично 👍

  • @MaksZags
    @MaksZags 5 років тому

    Напишите название программ симуляторов в которых вы летаете...???

    • @AxGxP
      @AxGxP  5 років тому

      ИЛ2 Штурмовик показан и Aerofly RC7. А также Spintires, гряземесево))

  • @Raison_Cuper
    @Raison_Cuper 2 роки тому

    Я немного чайничек, уж извините и не шарю в этом особо. Попытался погуглить, но не вышло:
    - Нельзя ли дать полную инструкцию (если такова не слишком большая), какие строки надо в дескрипторе изменить для уменьшения осей с 4-х до 3-х? У меня РУД'ы как таковые имеются, но вот доп. ось мешает (как минимум на этапе колхозного теста, ибо я пока не смог решить проблему возвратного механизма для оси тангажа, но не суть). Хотя, можно закрылочки или спойлера на неё поставить, но лучше уж убрать) Буду благодарен, если кто поможет.

    • @AxGxP
      @AxGxP  2 роки тому

      Там на видео рассказано, как добавить. Чтоб убрать, нужно сделать то-же самое, только наоборот) Посмотрите внимательно...

    • @Raison_Cuper
      @Raison_Cuper 2 роки тому

      Вроде всё сделал, что упомяналось в видео, а всё-равно 4-ую ось видит 🤔
      Ладно, не беда, всё-равно один резистор лишний есть) Спасибо за видос, кстати о птичках. Хоть один проект доведу до функционала и можно будет полетать)

  • @_Fomich_
    @_Fomich_ 5 років тому +1

    Привет от Альфа Модс ✋, подписался контент понравился, жалко меня нет в социальных сетях😩

  • @masterkit9517
    @masterkit9517 3 роки тому +1

    Btn = (uint8_t)~((GPIOB->IDR)&0xFF); // buttons здесь порт B так понимаю, а если так сделать Btn = (uint8_t)~((GPIOB->IDR, GPIOC->IDR)&0xFF); // buttons все прошилось но дальше не нажимаются кнопки больше ни B ни C порта, помогите добавить кнопку!!!, мне 8шт. мало. Сократил сообщения написав в одно, что бы не отнимать вам времени. Прошился джойстик сразу через cubeIDE, Atolic не понадобилось устанавливать, cubeIDE прошил и все 8 кнопок заработали, оси мне не нужны были. Мне очень нужно понять как добавить ещё кнопку например с порта C. Одну единственную кнопку для примера, по которому будет понятно как остальные добавить. Сообщений было много, сократил их, что бы не мешать вам лишними сообщениями, может ещё есть способ через сдвиговый регистр и мультиплексор добавить ещё больше кнопок, очень нужно. Не знаю как добавить кнопку, портом целиком или пином.

    • @AxGxP
      @AxGxP  3 роки тому +1

      "Btn = (uint8_t)~((GPIOB->IDR, GPIOC->IDR)&0xFF);" - это бред какой-то... Что это должно было значить?
      Чтоб добавить кнопок нужно соответственно изменить дескриптор USB, а так-же передавать соответствующее количество данных, должно быть кратно одному байту (8-бит). Переменная Btn должна быть соответствующего типа. Сколько кнопок нужно?

    • @masterkit9517
      @masterkit9517 3 роки тому +1

      @@AxGxP 16 пусть для начала, дальше там много всё равно не влезет, понадобятся регистры или мультиплексоры, нужно аж 120шт. для цифрового аккордеона)

    • @masterkit9517
      @masterkit9517 3 роки тому +1

      ​@@AxGxP сам не соображу, соображу только в какой файл залезть править, в данной прошивке не знаю даже в каком файле дескриптор искать. Дескриптор MIDI устройства делал, но зная где его делать. Кнопки умею только в cubeMX начальную конфигурацию задавать. Шансы самому там найти всё равны ближе к нулю. В ардуино был разобрался и сделал сдвиговые регистры, даже мультиплексор для кнопок, сделал был 120!!!! кнопок, но мощностей не хватило ардуино на 30% проекта, далее ушёл навсегда в STM32. И вот здесь многое понятно, но в STM32 нужен колоссальный опыт программирования, разобраться в буфере хотя бы. Даже не представляю на сколько его увеличить, на какое значение. При том, что возможно многим удалось бы самостоятельно по советам из видео добавить с лёгкостью кнопки дополнительно. В другом проекте делал MIDI дескриптор лишь, но удачно, устройство даже в музыкальных редакторах субклассом определялось. Скорее всего заменив полностью дескриптор в вашей прошивки сделать удалось бы MIDI устройство - вот этот дескриптор отлично работающий если не ошибся с файлом
      usbd_audio.c


      /* Configuration 1 */
      0x09, /* bLength */
      USB_DESC_TYPE_CONFIGURATION, /* bDescriptorType */
      0x65,// LOBYTE(USB_AUDIO_CONFIG_DESC_SIZ), /* wTotalLength 109 bytes*/
      0x00,//HIBYTE(USB_AUDIO_CONFIG_DESC_SIZ),
      0x02, /* bNumInterfaces */
      0x01, /* bConfigurationValue */
      0x00, /* iConfiguration */
      0xC0, /* bmAttributes BUS Powred*/
      0x32, /* bMaxPower = 100 mA*/
      /* 09 byte*/
      /* USB Speaker Standard interface descriptor */
      AUDIO_INTERFACE_DESC_SIZE, /* bLength */
      USB_DESC_TYPE_INTERFACE, /* bDescriptorType */
      0x00, /* bInterfaceNumber */
      0x00, /* bAlternateSetting */
      0x00, /* bNumEndpoints */
      USB_DEVICE_CLASS_AUDIO, /* bInterfaceClass */
      AUDIO_SUBCLASS_AUDIOCONTROL, /* bInterfaceSubClass */
      0x00,//AUDIO_PROTOCOL_UNDEFINED, /* bInterfaceProtocol */
      0x00, /* iInterface */
      /* 09 byte*/
      /* USB Speaker Class-specific AC Interface Descriptor */
      0x09,//AUDIO_INTERFACE_DESC_SIZE, /* bLength */
      AUDIO_INTERFACE_DESCRIPTOR_TYPE, /* bDescriptorType */
      AUDIO_CONTROL_HEADER, /* bDescriptorSubtype */
      0x00, /* 1.00 */ /* bcdADC */
      0x01,
      0x09,//0x27, /* wTotalLength = 39*/
      0x00,
      0x01, /* bInCollection */
      0x01, /* baInterfaceNr */
      /* 09 byte*/
      //----------------------------------------------------------------------------------
      //MIDI STREAMING INTERFACE DESCRIPTOR
      //----------------------------------------------------------------------------------
      //Standart MS Interface Descriptor
      //MIDI Adapter Standart Interface Desc
      0x09, // bLength
      USB_DESC_TYPE_INTERFACE, // bDescriptorType
      0x01, // bInterfaceNumber
      0x00, // bAlternateSetting
      0x02, // bNumEndpoints
      USB_DEVICE_CLASS_AUDIO, // bInterfaceClass
      0x03, //Midistream // bInterfaceSubClass
      0x00, // bInterfaceProtocol
      0x00, // iInterface
      // 09 byte
      //---------------------------------------------------------------------------------
      //Class Specific MS Interface Desc
      //MIDI Adapter Class-Specific Interface Desc
      0x07, // bLength
      0x24, // bDescriptorType
      0x01, // bDescriptorSubtype
      0x00,
      0x01, // bcdADC
      0x41,
      0x00, // wTotalLength = 0x41
      //7 bytes
      //---------------------------------------------------------------------------------
      //Midi IN Jack Interface Desc
      //MIDI Adapter MIDI IN JACK Desc (Embedded)
      0x06, // bLength
      0x24, // bDescriptorType
      0x02, // bDescriptorSubtype
      0x01, // bJackType
      0x01, // bJack ID
      0x00, // iJack
      //6 bytes
      //----------------------------------------------------------------------------------
      //MIDI Adapter MIDI IN JACK Desc (External)
      0x06, // bLength
      0x24, // bDescriptorType
      0x02, // bDescriptorSubtype
      0x02, // bJackType
      0x02, // bJack ID
      0x00, // iJack
      //6 bytes
      //----------------------------------------------------------------------------------
      //------------------------------------------------------------------------------------
      //Midi OUT Jack Interface Desc
      //MIDI Adapter MIDI OUT JACK Desc (Embedded)
      0x09, // bLength
      0x24, // bDescriptorType
      0x03, // bDescriptorSubtype
      0x01, // bJackType
      0x03, // bJack ID
      0x01, // bNrInputPins
      0x02, // baSource ID
      0x01, // baSource PIN
      0x00, // iJack
      //9 bytes
      //----------------------------------------------------------------------------------
      //MIDI Adapter MIDI OUT JACK Desc (External)
      0x09, // bLength
      0x24, // bDescriptorType
      0x03, // bDescriptorSubtype
      0x02, // bJackType
      0x04, // bJack ID
      0x01, // bNrInputPins
      0x01, // baSource ID
      0x01, // baSource PIN
      0x00, // iJack
      //9 bytes
      //BULK OUT ENDPOINT DESCRUPTOR
      //----------------------------------------------------------------------------------
      //Standart BULK OUT Endpoint Desc
      0x09, // bLength
      0x05, // bDescriptorType
      0x01, // bEndpointNum
      0x02, // bmAttributes
      0x40,
      0x00, // wMaxPacketSize
      0x00, // bInterval
      0x00, // bRefresh
      0x00, // bSyncAddress
      //9 bytes
      //----------------------------------------------------------------------------------
      //Class Specific MS BULK OUT Endpoint Desc
      0x05, // bLength
      0x25, // bDescriptorType
      0x01, // bDescriptorSubtype
      0x01, // bNumEmbMIDIJack
      0x01, // baAssocJackID
      //5bytes
      //----------------------------------------------------------------------------------
      //BULK IN ENDPOINT DESCRUPTOR
      //----------------------------------------------------------------------------------
      //Standart BULK IN Endpoint Desc
      0x09, // bLength
      0x05, // bDescriptorType
      0x81, // bEndpointNum
      0x02, // bmAttributes
      0x40,
      0x00, // wMaxPacketSize
      0x00, // bInterval
      0x00, // bRefresh
      0x00, // bSyncAddress
      //9 bytes
      //----------------------------------------------------------------------------------
      //Class Specific MS BULK IN Endpoint Desc
      0x05, // bLength
      0x25, // bDescriptorType
      0x01, // bDescriptorSubtype
      0x01, // bNumEmbMIDIJack
      0x03, // baAssocJackID
      //5 bytes
      //----------------------------------------------------------------------------------

    • @AxGxP
      @AxGxP  3 роки тому +1

      @@masterkit9517 DirectX не поддерживает больше чем 32 кнопки.

    • @masterkit9517
      @masterkit9517 3 роки тому +1

      @@AxGxP Для джойстика чем больше тем лучше выйдет) сколько влезет в 103 плату, столько и отлично. Потом просто планирую MIDI дескриптор вписать туда, сдвиговые регистры цеплять, и там паковать в код джойстика отправляющий в ПК байт или 2 байта не понимаю сам, но понимаю что байт или два точно, а сконфигурировал уже отлично MIDI дескриптор, ПК никак не может дождаться любой байт посланный ему, вполне высока вероятность что ПК даже код кнопки джойстика воспримет как одну из существующих миди команд. Уверен к созданию MIDI подобрался как никогда близко и именно с вами. Отлично понимаю, что заменив дескриптор на миди ваша прошивка вполне может ловить понимаемые ПК байты данной прошивки уже как MIDI сообщения, их не сложно возможно выйдет вписать свои туда байты, например 'hello world', только это будет например HEX сообщение например такое '49' это сообщение уже будет понятно ПК. Оно как раз будет в HEX уже ловить, так как 103 плата это уже для ПК MIDI устройство с дескриптором который удалось было сделать. Пока хорошо было бы освоить добавление кнопок. С дальнейшим исследованием MIDI. Джойстик также нужен чем больше там кнопок, тем лучше. Можно вовсе без аналоговых входов. Так как версия с аналогами в данном видео вполне достаточна.

  • @masterkit9517
    @masterkit9517 4 роки тому +1

    а вот не нашёл в DT программе миди устройств, он их не знает?

    • @AxGxP
      @AxGxP  4 роки тому +1

      Потому, что MIDI это не HID. MIDI это по сути UART на скорости 31250 бод. Можно в принципе заставить его работать через USB-UART, с использованием какого-то специального драйвера, чтоб создать на компьютере виртуальный MIDI порт. Но если хотите красиво, то будет немного сложнее, кроме правильного дескриптора придется самому обрабатывать bulk endpiont. Информацию по этому вопросу найдете по запросу гугл: "Universal Serial Bus Device Class Definition for MIDI Devices".

    • @masterkit9517
      @masterkit9517 4 роки тому +1

      @@AxGxP Спасибо большое вам! Просто компьютер при подключении миди устройства всегда пишет подключено миди устройство стандартное. Думал что это HID. Нужно все таки через стандартное миди устройство виндовс подключаться. Нашел эти загуглив дескрипторы, в конце PDF документа по 1й же ссылке гугл нашел эти эндпоинты в конце документа вот такое там пишут Standard MS Interface DescriptorTable B-5: MIDI Adapter Standard MS Interface DescriptorOffsetFieldSizeValueDescription0bLength10x09Size of this descriptor, in bytes.1bDescriptorType10x04INTERFACE descriptor.2bInterfaceNumber10x01Index of this interface.3bAlternateSetting10x00Index of this alternate setting.4bNumEndpoints10x022 endpoints.5bInterfaceClass10x01AUDIO.6bInterfaceSubclass10x03MIDISTREAMING.7bInterfaceProtocol10x00Unused.8iInterface10x00Unused. Если будет информация помогите, и вам напишу если понадобится если что удастся найти. Но что с ними делать даже не представляю. Это по сути полностью тот же джойстик технически, сообщения только туда он будет другие в кавычках посылать и в другое место другому драйверу. Сообщение там можно написать хоть даже "я банан" только вот виндовс не вджойстик должен их послать а в миди устройство стандартное которое виндовс прицепит. Ардуино никогда не потянет проект. Leonardo лежат 3 трупа pro micro от передозировки мультиплексоров, даже дорогими программаторами не удалось восстановить. Дохнут как мухи от дихлофоса leonardo pro micro от нехватки памяти, и глюки бесконечные надоели.

    • @AxGxP
      @AxGxP  4 роки тому +1

      @@masterkit9517 ничего конкретного сказать не могу, самому пока не приходилось USB-MIDI интерфейс создавать. Вот нашел, вроде то, что надо: github.com/ripxorip/stm32_usb_midi

    • @masterkit9517
      @masterkit9517 4 роки тому +1

      @@AxGxP Спасибо большое!

    • @masterkit9517
      @masterkit9517 4 роки тому +1

      @@AxGxP Не знаю только после ардуино как этим воспользоваться, что куда вставлять) Убежал с ардуино из за невозможности на ардуино завершить миди проект, 120 кнопок лезло с мультиплексорами только в 3-4шт. Leonardo. Так Leonardo окирпичились из за переполнения выше 80% памяти в версии pro micro и даже дорогим программатором не удалось их восстановить. С тех пор ардуино даже врагу не желаю.

  • @KobalyanTV
    @KobalyanTV 5 років тому

    если вам не сложно можете объяснить как в игру отправляются значения с джойстика?
    можно ли в игру отправить значение углов и тп из программы какой нибуть?

    • @AxGxP
      @AxGxP  5 років тому

      В игру отправляется посредством DirectInput, через стандартный драйвер USB-HID. Если хотите из одной программы (из под ОС компьютера) передавать команды другой (игре), то придется перехватывать сообщения DirectInput, а то и сам драйвер подменять. В некоторых играх специально защита против такого сделана, тогда может и проще применить реальное, физическое устройство.

    • @KobalyanTV
      @KobalyanTV 5 років тому

      @@AxGxP спасибо огромное суть я понял.
      но защита то зачем ?

    • @AxGxP
      @AxGxP  5 років тому

      @@KobalyanTV Против ботов в MMO играх.

  • @Vlad13Rus
    @Vlad13Rus 5 років тому

    Все припаял куда надо, залил прошивку, но на оси не реагирует, в программке показывает, что они просто так дергаются

    • @AxGxP
      @AxGxP  5 років тому

      Скинь фотку, того, что спаял.

    • @Vlad13Rus
      @Vlad13Rus 5 років тому

      @@AxGxP Отправил

  • @GypsyRewind
    @GypsyRewind 5 років тому

    А есть тот же проект, только на библиотеках HAL ? Просто деревянный джойстик.. это что-то, зацепило..
    пы.сы. Если тоже самое сделать на оптических дисковых энкодерах, то дискретность честь пострадала, но сигнал был бы стабильнее.. (если не учитывать цены на энкодеры, я не про те, которые в колесике мыши :D )

    • @AxGxP
      @AxGxP  5 років тому +1

      Честно сказать, деревяшку ради видео выстругал. Цель - показать как сделать, чтоб USB работало как надо. А в качестве источников данных может быть что угодно, хоть энкодеры, хоть гироскопы, хоть датчики приближения... Оптические энкодеры, особенно те, про которые идет речь весьма большие, в случае с миниатюрным джойстиком идеальным вариантом будет применение маленького неодимового магнита и аналогового датчика Холла.

    • @GypsyRewind
      @GypsyRewind 5 років тому

      @@AxGxP Вот точно, про магнитный источник данных я как-то совсем забыл.. спасибо.
      Ну так а есть ли проект под HAL ? так-то я и с цмсис могу разобраться, прото привычнее по HAL-ом...
      заранее спасибо

    • @AxGxP
      @AxGxP  5 років тому

      HAL не использую... В основном с F103 работаю, тут HAL - слишком громоздко, неоправданно, эти все вложенные функции, колбэки, "скрытые" операции...

    • @GypsyRewind
      @GypsyRewind 5 років тому

      @@AxGxP Ну так-то в принципе можно и своих шаблонных функций наделать.. типо: инит, сэтап, обработчики прерываний и дма.. да мало-ли, на что фантазии хватит )))
      ..Но имхо, для отладки _"побыстрому"_ и ХАЛа слихвой, А при релизе, можно и вовсе, прамое обращение к регистрам.. грубо говоря..

    • @AxGxP
      @AxGxP  5 років тому

      @@GypsyRewind Угораздило меня один раз с HAL связаться, тоже ради того, чтоб USB автоматом мне собрало, и там все было ОК. Но вот кто там UART придумывал, ход его мыслей я так и не понял, долго пытался понять как это все использовать и нафига там оно надо... Вроде в конце свой обработчик переписал и всё.

  • @pavelsan1954
    @pavelsan1954 4 роки тому

    Руль классный )))
    Скомпилил код в STM32CubeIDE.
    В режиме отладки ждёт вот здесь
    if (bDeviceState == CONFIGURED)
    В чём может быть проблема?

    • @GoodVrGames
      @GoodVrGames 4 роки тому

      Точка останова?
      Там IDE настроить еще правильно надо, чтобы все сразу без костылей работало. В TrueStudio на main всегда точка останова ставиться после создания проекта.

  • @amurrking1034
    @amurrking1034 3 роки тому +1

    ниче не понятно, но очень интересно)
    красава

  • @SeriousDIMA
    @SeriousDIMA 5 років тому

    Мне было бы интересно сделать 2 джостика для игр

    • @AxGxP
      @AxGxP  5 років тому

      Можно и два, и больше. Если подключишь несколько, в системе все они будут видны как отдельные устройства.

  • @Dairon456
    @Dairon456 5 років тому

    Привет от Alpha Mods

  • @four-dimensionalperson
    @four-dimensionalperson 4 роки тому

    На Леонардо есть

  • @Edison_Howard
    @Edison_Howard 5 років тому

    Можно ли купить фонарик?

    • @AxGxP
      @AxGxP  5 років тому

      У меня фонарика готового нет, я прошивкой и схемотехникой занимался. А готовый экземпляр только у AlphaMods есть)))

  • @KobalyanTV
    @KobalyanTV 5 років тому

    3 дня замучился с ST-Link V2 прогамматором а потом взял и прошил STM32 через Ардуино нано....
    я в шоке! вот так ирония ))

    • @AxGxP
      @AxGxP  5 років тому +1

      О! Месье знает толк в извращениях! А что там мучатся то... 4 провода подключить?

    • @KobalyanTV
      @KobalyanTV 5 років тому

      @@AxGxP да угадали) я извращенец + слегка мазохист )
      а мучился я с китайским свистком ST-Link V2 который походу битый...
      у меня нету UART программатора а использовать ардуино как то случайно пришло в голову.
      спасибо за проект ) замучился с ним слегка, но и много чему научился ) до и вам слегка поднадоел )
      не судите строго я только начал изучать микроконтроллеры. ))

    • @AxGxP
      @AxGxP  5 років тому

      @@KobalyanTV STM32 ST-Link Utility должен видеть свисток, его серийник, и микроконтроллер к нему подключенный. Если нет, значит дохлый свисток... Удачи! Будут вопросы, постараюсь помочь.

    • @alexandersamol1358
      @alexandersamol1358 4 роки тому

      @@AxGxP ещё вариант - старая прошивка. Как раз на днях имел дело с оригинальным (не китайским) St-link'ом, который зависал секунд через 30 после подключения. ST-шная утилита также зависала, но можно было успеть увидеть надпись про старое Firmware. После обновления всё нормализовалось.

  • @MrYsupov
    @MrYsupov 5 років тому

    Больше больше видео

  • @densyaolin
    @densyaolin 5 років тому

    Нифига не понял.но блин интересно))))

  • @HellVesper
    @HellVesper 4 роки тому

    Вижу автору очень нравится stm32, стал недавно с ним работать действительно отличный МК с кучей аппаратных фичь, но вот с энкодером намучался, встроенный аппаратный обработчик на таймере просто мусор выдает, он вроде и считает, но с большим дребезгом и даже максимальные 15мс антидребезга не помогают, энкодер кстати механический у меня от колесика с мышки) Просто забил бинарную последовательность в c-array и проверяю наличие, если есть "вперед", нету - назад и все как часики идеально. С DMA интересно, я этот проект для своего обучения использовал, очень помог, переписал с HAL, хотя и оригинальный код написан отлично и понятно. Просто хотелось кубик юзать. Не зная досконально этот МК сложно учесть все тонкости ручной инициализации периферии, а для такой задачи оверхеда минимум, один черт 90% ресурсов свободно.
    Когда-то в детстве в конце 90х склепал свой свой джойстик из двух потенциометров и микрокнопок, металлического конструктора и изоленты) подключался напрямую в GamePort звуковушки, очень хотелось поиграть во freespace. Теперь же ради сноураннера делаю руль :D спасибо.

    • @AxGxP
      @AxGxP  4 роки тому

      Подозреваю, что с энкодером у вас какая-то ошибка затаилась. Аппаратный обработчик прекрасно работает! Так-же надо учитывать, что без соответствующих мер микроконтроллер может воспринимать электромагнитные помехи, любой провод может работать как антенна.

    • @HellVesper
      @HellVesper 4 роки тому

      @@AxGxP я через подтяжки 220ом подключил, должны гаситься, просто на прерываниях он ито стабильнее отрабатывал, мне кажется ему последовательность "не нравится" пробовал и по одному каналу и по обеим сразу, там 00 10 11 01 00. Потом поэкспериментирую с другим контроллером и RC фильтрами

  • @RuGhost384
    @RuGhost384 Рік тому

    "Легко и просто"-скорее " Трудно и не доступно"

    • @AxGxP
      @AxGxP  Рік тому

      В каком смысле? Неужели уже и STM32 из-за санкций не купить? Вроде же китайцы продают вам многое...

    • @RuGhost384
      @RuGhost384 Рік тому

      @@AxGxP для ребенка да, не кажды может заказать,не у каждого есть деньги.

  • @FSG_Fritz
    @FSG_Fritz 5 років тому

    Саня, а смисл змінювати розрядність з 12 біт на 8? Більша розрядність - більша точнсть позиціонування. Особливо, якщо використовувати не прості потенціомери, а магнітні резистори в якості осьових датчиків. Тема мені близька: хочу зробити педалі для управління ЛА. Повернуся в Україну - звернуся до тебе за консультацією, механіку зррблю сам, маю креслення педального вузла з Мі-8.

    • @AxGxP
      @AxGxP  5 років тому

      Змінити дескриптор і можна передавати 12 біт. Тоді програма виглядатиме трохи складніше, не хотів лишньго сюди писати, щоб людей меньше плутати. Магнітних резисторів не бачив напевно ніколи... Яке маркування? Можна оптичні енкодери використати, дуже висока точність буде. Також тензодатчики, якщо треба силу натискання десь виміряти.

    • @FSG_Fritz
      @FSG_Fritz 5 років тому

      @@AxGxP Магрези використовуються, наприклад, у Saitek Flight Control System. Зараз під руками немає, тому маркування не підкажу :( Проте, є маса фоток в Мережі де цей джой поліпшують, то можна знайти маркування. Сенс такий: корпус магреза жорстко закріплений в клрпусі, а коло нього на осі приклеєний магніт, який обертається з оссю, тим самим змінюючи опір резистора. Все дуже плавно і дуже точно. Аби досягти такої точності через оптопару - треба або великі розміри коліщатка, або підвищуючий редуктор, що не завжди вдається втулити в обмеженому об'ємі.

    • @FSG_Fritz
      @FSG_Fritz 5 років тому

      @@AxGxP Тензодатчики використовуються в дорогущому Thrustmaster Hotas Warthog PC
      : пара пульок в одну консоль - і 100% гарантія, що поки дотягнеш до полоси - кисть руки собі вивернеш :)

    • @AxGxP
      @AxGxP  5 років тому

      @@FSG_Fritz Дуже цікава ідея. Датчик Холла аналоговий і магніт. Мінімум простору, ніякого тертя, можно сказати вічний! Треба спробувати, є у мене такі.

  • @maxtomchuk1311
    @maxtomchuk1311 5 років тому

    Я заметил только 3 оси , ещё 3 потенцеометра где 4 ось??

    • @AxGxP
      @AxGxP  5 років тому

      В прошивке...

    • @ps1ofthe1ght73
      @ps1ofthe1ght73 4 роки тому

      @@AxGxP Здравствуйте,а какой номинал потенциометров

    • @smert_okupantam
      @smert_okupantam 3 роки тому +1

      @@ps1ofthe1ght73 10k

    • @ps1ofthe1ght73
      @ps1ofthe1ght73 3 роки тому

      @@smert_okupantam спасибо,но мне не хватило 10, я поставил 20))

    • @smert_okupantam
      @smert_okupantam 3 роки тому

      @@ps1ofthe1ght73 а это не особо-то и важно. можно и 300 Ом, только опасно.

  • @vladimirlevchenko1470
    @vladimirlevchenko1470 5 років тому +1

    👍 Hi, вот это я понимаю , подсадить молодые умы на творчество . Минимальный старт , не надо 3D принтеров и прочего чего нет у школьников . Сегодня они из «говна» и палок сделают крутую вещь . А завтра хорошая работа и может быть очередной И́лон Маск.
    Подобный проект в металле
    instagram.com/p/BrpjcCUH0it/

    • @DmitriCeban
      @DmitriCeban 5 років тому

      ...хорошая работа за границей... Жаль, что ради такого придется ещё и эвакуироваться из родных мест, ибо Россия полна талантов и отсутствием перспектив.

    • @vladimirlevchenko1470
      @vladimirlevchenko1470 5 років тому +1

      Дмитрий Борисович , есть надежда что пока они вырастут , все гниды помрут, но хочется быть оптимистом

    • @misha3395
      @misha3395 5 років тому

      Внутри то вроде Arduino?

    • @vladimirlevchenko1470
      @vladimirlevchenko1470 5 років тому

      Misha Z , вы правы в данном случае ардуино , но использую и stm32, esp32 , esp8266 каждая на свой случай

  • @7SecondsOfHappiness
    @7SecondsOfHappiness 5 років тому

    Вібрації ще не вистачає, а так супер

    • @AxGxP
      @AxGxP  5 років тому +1

      Можна зробити дуже реалістичний зворотній зв'язок, на базі асинхронних двигунів. За допомогою зміни струму можна змінювати силу з якою пручається кермо. А змінюючи частоту можна змінювати швидкість з якою воно буде обертатися. Але це вже треба у натуральну величину робить.

    • @shlemkin
      @shlemkin 5 років тому

      ​@@AxGxP частота в данном случае практически не играет рояли) чпу - не розетка) асинхронник работает с проскальзыванием, один фиг всем этим управляет МК - векторное, скалярное... для руля, например, нужно брать серво около 1 КВт, малооборотистый но с большим моментом 10 Нм+. и ШИМом в 50+КГц управлять тремя фазами... надо покурить инфы побольше, сам хочу руль Direct Drive сделать с мотором 130ST-M10010 - вместе с драйвером стоит $330 - на таких делают любители, но с дорогущим драйвером мотора и платами в комп - далеко за $1000+ выходит, не камильфо. нужно присосаться к чужим дровам и пилить свою схему управления. по сути управлять нужно только моментом и скоростью, точного позиционирования ведь не надо...
      а "присосаться к чужим дровам" - cxem.net/mc/mc207.php тут чел заюзал дрова от руля логитеч g25, но там дебильная фича - в центральной позиции руля от дров идет команда отрубать моторы, руль становится вялым как мой рукав) хочу помучить дровишки трастмастер t300 или фанатеки какие.
      удачи

    • @AxGxP
      @AxGxP  5 років тому

      @@shlemkin Про частоту вращения фаз я говорил... Управлять моментом и скоростью, изменяя напряжение и частоту. 1 КВт и руки поотрывать может, 200Вт с головой, как по мне. ШИМ 18кГц вполне достаточно, зачем аж 50? Да и не нужен там такой хитрый драйвер, все самому можно собрать, на транзисторах под управлением того-же STM32F103C8, у него есть комплиментарные выходы под 3 фазы, с dead-time и всеми плюшками.

    • @shlemkin
      @shlemkin 5 років тому

      @@AxGxP да да да, перехожу на стм в том числе из за фичи с дед-таймами (еще поглядим, как работает весь этот хлам)). не для ардуинки такое. и юсб есть. драйвер, конечно, нужен не настолько сложный, как для сервы чпу... а может и действительно совсем простой, ибо момент создается из расчета оборотов в том числе, но у нас обороты либо 0 либо ну совсем небольшие, до 300-500 об/мин (если совсем как больной крутишь со всей ненавистью))), а при такой скорости во все формулы наверное можно совать RPM 0 для вычисления частоты/напряжения/тока для получения нужного момента... наверное таки частоту и силу тока регулировать будет достаточно (сам себя обнадежил))) только вот какое дело - как ты "подашь" на руль, например, 5Nm на 3 сек? как быть с пусковыми токами и моментом на старте? что в эти моменты будет происходить с моментом на валу? нужно ли изъёживаться, чтоб момент был ровным со старта? представляешь брусчатку или неровности, когда руль влево/вправо как бешеный сопротивляется/дергает, и очень быстро - все это надо точно передать... нужно учитывать момент инерции ротора?
      легко себя убедить, что это может быть легко, ровно также потом и убедить себя, что сложно... надо делать и смотреть...
      а 1 КВт серву надо. там и ротор облегчен, и момент 10Нм норм. в не профи рулях до 8Нм. если 200Вт то только через редуктор, а я говорю о DirectDrive - руль сидит на валу мотора. редукторы/шестерни/ремни - все это источники неточностей, шума и вибрации...
      ну и напоследок посчитай - 10Nm ~ 1кг/м при диаметре руля 30 см получаем рычаг 15 см 100/15=6,6666 - на ободе руля максимум усилия будет 6 кг (12 в пиковом режиме) - руки не повырывает)) пристегиваться крепче надо))

    • @AxGxP
      @AxGxP  5 років тому

      @@shlemkin " как быть с пусковыми токами и моментом на старте" не вижу никаких проблем, тут заморочек с пусковым током не будет, скольжение незначительное, на таких оборотах... Есть у меня моторчик, только вот руля нет, можно было бы попробовать.

  • @evolvent4257
    @evolvent4257 4 роки тому

    Повторил проект, все реально работает. Потом вместо осей Z, rZ прописал дескрипторы на rX, rY все заработало. По сути получился джой к XBOX.

    • @ДимаЖивогляд
      @ДимаЖивогляд 4 роки тому

      А почему 4 оси если там 3 переменных резистора?

    • @GoodVrGames
      @GoodVrGames 4 роки тому +1

      По сути у тебя получился обычный D-input джойстик. Чтобы получился как x-box, он должен быть x-input. делается так же, только дескриптор требуется чуть другой. Тогда и к x-box его реально подключить будет.

    • @HellVesper
      @HellVesper 4 роки тому

      @@GoodVrGames чуть другой это какой? у меня уже мозг поехал разбираться в дескрипторах юсб, но насколько я вижу в HID нет xinput и судя по инфе в интернетах это вообще проприетарный закрытый протокол. Переписал этот проект на HAL.

  • @АлександрГурьянов-у1р

    Тёска)

  • @rbkkk777
    @rbkkk777 5 років тому

    Гуристюк)

  • @KobalyanTV
    @KobalyanTV 5 років тому

    Бесконечный цикл... Разве это правильно? Думаю именно по этому при ошибках зависает. В коде нету защит от ошибок.
    Но сама идея просто огонь! Дёшего и сердито!

    • @AxGxP
      @AxGxP  5 років тому +1

      Конечно правильно, а вы как думали? Что произойдет, если выйти из вечного цвела? Указатель побежит дальше выполнять пустое место, выполнять остатки старых программ. Вот это будет настоящая ошибка))) И от каких ошибок нужна защита, тут нет ничего, что может вызвать ошибку. АЦП через DMA работает, USB по прерываниям...

    • @KobalyanTV
      @KobalyanTV 5 років тому

      @@AxGxP спорить не буду ибо не работал с подобными вещами! Просто имея некоторые знания в программировании, везде натыкался на строгий запрет относительно бесконечных циклов. До и большинство компиляторов не будут компилировать код с таким циклом.

    • @AxGxP
      @AxGxP  5 років тому

      Ошибаетесь, любой компилятор скомпилирует, даже варнинга не выдаст. Если синтаксис правильный, то скомпилирует все что напишешь. "везде натыкался на запрет", - обманули Вас))) Дайте ссылку хоть кто такой запрет придумал. P.S. при желании из while(1) можно выйти с помощью break. Иногда такой прием упрощает код.

    • @KobalyanTV
      @KobalyanTV 5 років тому

      @@AxGxP кстати да, про выход из цыкла как то не подумал....но если цыкл не закончиться, то код после цыкла некогда не выполнится ведь?

    • @AxGxP
      @AxGxP  5 років тому

      @@KobalyanTV Ну а какой-же код после цикла? После цикла кода нет, там пустое пространство (на самом деле физически там обычно константы прописаны, а уже за ними пустота). Процессор будет выполнять пустые команды 0xFF, до тех пор пока не выйдет за пределы памяти. Если под операционной системой выйти из основного цикла, то программа просто завершится, и будет выгружена из памяти ядром ОС (которое тоже работает в бесконечном цикле).

  • @asurahan
    @asurahan 5 років тому

    github.com/vostrenkov/FreeJoy тоже самое но на библиотечке HAL. не благодарите

  • @skelajaxel7567
    @skelajaxel7567 5 років тому

    как то все поверхностно, такое чувство насмехается над всеми, интересно но все это как то, я вот сделал и все, а как это сделать ну не цепляет. Гайвер как то получше это объясняет.
    молодец занимайся развивайся.

    • @AxGxP
      @AxGxP  5 років тому +1

      Извините, но не моё это объяснять какой рукой отвертку держать, и как её крутить. А если про все ньюансы USB, то это достаточно сложная штука, там сотни страниц документации (приложена в архиве видео) и большинству программистов оно не надо, не говоря уже о любителях. Я предложил готовый, рабочий проект, использующий библиотеку USB от производителя. Рассказал что, где и как можно изменить. Если этого недостаточно - разбирайтесь сами, задавайте вопросы... Никто вам свои мозги не портирует.

    • @kalobyte
      @kalobyte 5 років тому

      @@AxGxP
      как раз таки на русском нихера нет по усб, 3.5 ролика я нашел
      дескрипторы эти как клепать, почему они такой иерархии, а не этакой
      как не допустить ошибок в иерархии
      как сделать нестандартный хид, чтобы в своем софте не использовать либусб0 и весь гимор с ним связанный
      и еще много вопросов
      я как раз хочу сделать панель с кнопками и светодиодами, но она похоже не подходит под стандартные профили, хотя есть спек на светодиоды и на кнопки и даже тумблеры, но как прога будет отличать кнопки клавиатуры от моих кнопок?

    • @AxGxP
      @AxGxP  5 років тому

      @@kalobyte Если ты так против английского, пиши по русски. Но нет, иностранные абривиатуры русскими буквами, это пцц. Нет там внутри жёсткой иерархии, можно свойства те в любом порядке указывать, внутри collection. Если устройство будет определятся как клавиатура, то кнопки на нем и на штатной клавиатуре нельзя будет отличить. А если как джойстик например, то это совсем другие кнопки.

    • @kalobyte
      @kalobyte 5 років тому

      @@AxGxP
      какие иностранные аббревиатуры? усб что ли? так я всегда так пишу и это же очевидно
      почему кнопки от клавиатуры не отличить? они конечно там подписаны уже в плане аскии кодов, но ведь дескриптор устройства будет не клавиатура
      я думал, что прога сможет отличать свое устройство от клавиатуры и не реагировать на левые нажатия и так же текстовые редакторы не будут реагировать на нажатия моего устройства
      но оказывается не все так гладко с этим хид
      чуть от стандарта отошел и уже все - пили кастомный хид или вообще через драйвер, что резко снижает плюшки усб

    • @AxGxP
      @AxGxP  5 років тому

      @@kalobyte если устройство описанно как клавиатура, оно и будет работать как клавиатура, и никакое приложение не сможет отличить от какой клавиатуры пришло нажатие, про это знает только драйвер, а у сообщений windows (которые и приходят приложениям) есть только номера клавиши, нажата или отпущена. А вот если это будут кнопки джойстика или геймпада, в directinput каждое устройство будет иметь свои кнопки.

  • @thematrix4305
    @thematrix4305 8 місяців тому

    Почему все мастера в нищете живут в РФ

  • @SdelayVseSam
    @SdelayVseSam 5 років тому +1

    Крутой канал у вас, Александр. По сравнению с вашим у меня впечатление, что мой канал совсем слаб. Но у вас есть одно существенное отличие от дедушек, что имеют в разы больше подписчиков, но менее грамотны, чем вы. Собственно из такого канала я и пришёл, где вы поправляли в пояснениях дедушку по ремонту блока питания. Деды объясняют всё по простецки, а ваши видео рассчитаны на нормальный уровень знаний. Для меня ваш канал интересен, но большинству, кто не может даже в мультиметре разобраться- это тёмный лес. Лайк за джой и подписка.

  • @Серг-к9ю
    @Серг-к9ю 5 років тому +3

    а я думал что только мне пришли такие ГОВЕННЫЕ модули джойстика :(((

    • @AxGxP
      @AxGxP  5 років тому +1

      Неа, все они такие, даже в заводских геймпадах мало чем отличаются. Если нужен нормальный, с линейной характеристикой то рекомендую взять от RC пульта. Я на Hobyking брал когда-то.

  • @masterkit9517
    @masterkit9517 3 роки тому +1

    может сообщение не дошло, помогите пожалуйста 1 кнопочку добавить, что бы знать как
    до 2:33 не нужно так понимаю лезть, 2:37 конвертируем двенадцатибитное значение с АЦП в восьмибитное это мне также не нужно, так как явно аналоговые оси здесь, а вот на 2:40 начинаются мои кнопки, там написано GPIOB в строчке, 109 строка кода это явно моя строка, где нужно мне сосредоточиться) и там пять слов. Это чему равна Btn, а равна она вот этому (uint8t это наше число от 0 до 255 )~это инверсия побитовая если был бит 0 станет бит 1 если 1 то 0, 0xFF это число 255 в шестнадцатеричной системе, & это побитовое и а -> это указатель прошу прощения "на член". Эх запутался совсем. Как эти иероглифы правильно должны читаться не знаю. Так и не понял как добавить тут ещё один порт. 2:56 если я хочу добавить осей ещё, но я не хочу осей, а хочу кнопку, а вот на 3:02 важно возможно, увеличить размер массива, _IO uint16_t ADC_var[5] здесь понятно что появилась пятая ось, но мне нужна кнопка, а не ось, в строке 63 меняем буфер DMA_Initstructure.DMA_Buffersize =5; осей было 4 стало 5, но оси опять мне не нужны. Идем дальше. Дескриптор живет в файле на 3:08 называющимся usb_desc.c, но дескриптор пока не нужен. А вот на 3:40 нашел)) USAGE_MINIMUM написано (Button 1) USAGE_MAXIMUM (Button 8) нужно быть внимательным что бы общее количество бит было кратно восьми, в строке 114 изменить размер дескриптора, не знаю как изменить, 4:01 подправить функцию Joystick_send что бы она отправляла то количество байт, что описано в дескрипторе. Кнопки наверное не добавятся сами если всего лишь их в дескрипторе увеличить значение USAGE_MAXIMUM например написав (Button15) помогите пожалуйста! очень нужно!

    • @AxGxP
      @AxGxP  3 роки тому +1

      В 82-й строчке нужно подать тактирование на соответствующий порт. Отредактировать InitGPIO, прописать в него соответствующие выводы.
      А по поводу 2:56, это уже никакого отношения к кнопкам не имеет... Там АЦП, ПДП и т.д.
      Чтоб у USB устройства появились кнопки достаточно изменить дескриптор, ну и слать соответствующее количество данных. В 109 строчке просто явно обрезаются все лишние биты. Если написать Btn = ~GPIOB->IDR; тоже скомпилируется и будет работать, компилятор не явно сделает всё то-же самое, но появится warning, потому,что Btn - 8-битная, а IDR 32-х битный. Переменная инвертируется потому, что кнопки по схеме замыкаются на землю, при отпущенной кнопке в IDR единицы, при нажатой ноль. IDR расшифровывается как Input Data Register, из него всегда можно считать состояние вывода (кроме случая когда он сконфигурирован как аналоговый вход).

    • @masterkit9517
      @masterkit9517 3 роки тому +1

      ​@@AxGxP Большое спасибо! Многое прояснил, на скриншоте здесь отметил как бы я менял всевозможные порты, prnt.sc/wbzykq , в данном блоке понял как можно проинициализировать любой порт A B или С, в завизимости от GPIO_MODE_AIN или GPIO_Mode_IPU или GPIO_Mode_Out_PP порты и инициализируются в оси, кнопки, или светодиоды, так например порт светодиода можно сделать кнопкой указав там лишь GPIO_Mode_IPU, на скриншоте усвоил отлично сколько штук кнопок туда влезает, или светодиодов или осей, прошивка даже скомпилировала вместо GPIO_PIN_7 GPIO_PIN15 в инициализации порта B заменил, но пин 15 не заработал, не пойму почему, количество кнопок не менял нигде, а только пин15 вместо пин7 заменил. Там возможно срезает что то ещё

    • @masterkit9517
      @masterkit9517 3 роки тому +1

      @@AxGxP не нашёл на плате порт B2 там даже не написано нигде, а вы 8 кнопок когда подключали куда B2 подключался?

    • @AxGxP
      @AxGxP  3 роки тому +1

      @@masterkit9517 PB2 это BOOT1... К среднему выводу идет, насколько помню через резистор, но для этих целей это не проблема, должно работать.

    • @masterkit9517
      @masterkit9517 3 роки тому +1

      @@AxGxP Спасибо большое!

  • @LikeOnFilm
    @LikeOnFilm 3 роки тому +1

    ардуинщики не обломаются, а возьмут ардуино на базе ATmega32U4

    • @AxGxP
      @AxGxP  3 роки тому

      Если деньги лишние, пусть берут!

  • @TV-sl8ue
    @TV-sl8ue 5 років тому +2

    Спасибо гайверу рассказал про топ канал

  • @АндрейСухоруков-з4в

    Чувак на дворе 21 век а ты резисторы используешь, за место бесконтактных датчиков холла)))))))

  • @xMorne
    @xMorne 5 років тому

    Отличное видео и хороший чип. Но код для него кусок очередного говна которому нужно посвятить несколько месяцев обучения. Так что за счет простоты ардуинка лучше. И ты не прав, на ней тоже изи можно все это сделать. Что я на этих выходных и начал, но по другому видео.

  • @Vadyaekb
    @Vadyaekb 2 роки тому

    Ардуинщики обломайтесь? А как же ММджой2?

  • @АндрейКомаров-р9й
    @АндрейКомаров-р9й 4 місяці тому

    А в архиве какой файл зашивать в СТМ 32?

  • @cultofsogga5863
    @cultofsogga5863 3 роки тому

    Бох

  • @telik7035
    @telik7035 Рік тому

    А можно использовать ардуино D1?

  • @navyguy6099
    @navyguy6099 Рік тому

    А как игра называется? Ил2 штурмовик либо же Битва за Британию (Крылья победы)?