Администрация форума не несёт ответственности за достоверность информации и оставляет за собой право редактировать или в особых случаях даже удалять посты без предупреждения. Спасибо за понимание.

Программирование ATMEL в BASCOM.

Информация о пользователе

Привет, Гость! Войдите или зарегистрируйтесь.


Вы здесь » Программирование ATMEL в BASCOM. » Вопросы - ответы » Дабл-клик и быстрое круговое движение джойстика как реализовать?


Дабл-клик и быстрое круговое движение джойстика как реализовать?

Сообщений 1 страница 10 из 10

1

Есть идеи? Алгоритмические, код сам наваяю.

0

2

1.Сними АЦП и воспроизведи.
2. 4 декады, к каждой своя зависимость 2 каналов . Дискретность какая нужно.

0

3

АЦП у меня в режиме Triggering по Timer0_Ovf 60 раз в секунду опрашивает 4 канала внутри прерывания.
Как сделать анализ круговых движений, алгоритм в голой математике можно?

0

4

-NMi- написал(а):

АЦП у меня в режиме Triggering по Timer0_Ovf 60 раз в секунду опрашивает 4 канала внутри прерывания.Как сделать анализ круговых движений, алгоритм в голой математике можно?

В математике, тем более в голой не силен ;) , но как насчет такого алгоритма:
http://sh.uploads.ru/t/5QLDj.jpg
Выделяем значения АЦП, если они превышают границы "нулевого" положения (красный круг).
X+, Х-, Y+ и Y- - указатели, в какую сторону идет отклонение от "нулевого" значения АЦП.
В результате при движении джойстика "по часовой" выполнятся следующие условия:
http://s7.uploads.ru/t/1fa7C.jpg

Комбинации отклонений (X и Y) можно заранее определить кодами.
Например, для данного варианта это будет последовательность 0-1-2-3-4-5-6-7.
Тогда для вращения "против часовой" - будет 7-6-5-4-3-2-1-0...

От этих цепочек и плясать...

Отредактировано Nord (2018-07-20 03:27:13)

0

5

Обычная матиматика, настраиваем "нулевую" точку, а затем тупо по каждой координате её вычитаем или берём как есть. Единственная проблема - это погрешность, условия выполнения придется делать по промежуткам или как вариант: огрублять, делить на 2..3..4.
Я джойстиком пробовал делать управлялку шаговым двигателем (с ускорением и т.д.), как показала практика, точность обработки джоя большая и ненужна, если для примера взять игровые консоли, то там тоже не линейная точность (а грубая).

0

6

Всё малость посложнее будет. Давай для простоты возьмём ось Х-     поехали...
Переменные: уставка положения оси Х- ; счётчик положения Х- ; предидущее положение Х- ; защёлка срабатывания события Х-  .
Алгоритм обработки событияХ- :
1 - обработка события по уставке оси Х-  и соответственно инкремент счётчика положения Х-
2 - если уставка по событию Х- не менялась в течении уставки времени удержатия -> взводим триггер события Х-

И так для каждой оси 4 раза -> взводом флаг полного оборота вокруг оси.

Как-то так...   поправляйте есличо. )))

0

7

Всё зависит от потребности: одному относительное позиционирование, а другому абсолютное.
Одному по меню бегать, другому машинку катать...

0

8

Вопрос на засыпку, индуктивный джойстик кто-нибудь подключал через Atmega ?

0

9

Нет, но работа такая же как с датчиком холла.

0

10

Тут с обычным хрен разберёшси а вы с индуктивными уже  :D

0


Вы здесь » Программирование ATMEL в BASCOM. » Вопросы - ответы » Дабл-клик и быстрое круговое движение джойстика как реализовать?