Акселерометр Gy521 вместо аналогового стика
5 000 руб. за проект
ТЗ:
Имеется джойстик для авиасимулятора, к которому прикреплен акселерометр Gy521. Акселерометр присоединен к Arduino по i2c с адресом 0x68. Нужно получать углы отклонения джойстика (палки джойстика) и обрабатывать их. Таким образом, чтобы получалось две координаты: по оси X и по оси Y. Также, как бы вместо акселерометра у нас был бы аналоговый стик (на базе двух потенциометров).
Важно, при программировании:
1. Акселерометр Gy521 может быть прикреплен к джойстику под любым углом. При запуске, есть возможность откалибровать акселерометр (предполагая, что джойстик в этот момент не трогаем).
2. Нужно учесть "защиту" от тряски. Допустим, если мы делаем щелбан по акселерометру, при этом он остается неподвижным, то и значения должны передаваться корректные, без скачков.
3. Координаты X и Y должны быть типа INT от -512 до 512. Где 0 - стартовая позиция джойстика.
Опционально:
1. сделать сглаживание значений. Если джойстик неподвижен, чтобы минимальные отклонения (уровень этого отклонения должен задаваться константой) не учитывались.
Результат работы:
Скетч для Arduino в формате *.ino.
Проверка работы:
Каждые delay(100) должны выводиться координаты по X и Y.
Если при проверке у меня при движении вперед будет показывать движение вправо, значит мне нужно САМОСТОЯТЕЛЬНО повернуть акселерометр или поправить ваш код. Итого, мне нужен лишь код, а соответствие сторонам (вперед/назад/лево/право) я смогу поправить сам.
Имеется джойстик для авиасимулятора, к которому прикреплен акселерометр Gy521. Акселерометр присоединен к Arduino по i2c с адресом 0x68. Нужно получать углы отклонения джойстика (палки джойстика) и обрабатывать их. Таким образом, чтобы получалось две координаты: по оси X и по оси Y. Также, как бы вместо акселерометра у нас был бы аналоговый стик (на базе двух потенциометров).
Важно, при программировании:
1. Акселерометр Gy521 может быть прикреплен к джойстику под любым углом. При запуске, есть возможность откалибровать акселерометр (предполагая, что джойстик в этот момент не трогаем).
2. Нужно учесть "защиту" от тряски. Допустим, если мы делаем щелбан по акселерометру, при этом он остается неподвижным, то и значения должны передаваться корректные, без скачков.
3. Координаты X и Y должны быть типа INT от -512 до 512. Где 0 - стартовая позиция джойстика.
Опционально:
1. сделать сглаживание значений. Если джойстик неподвижен, чтобы минимальные отклонения (уровень этого отклонения должен задаваться константой) не учитывались.
Результат работы:
Скетч для Arduino в формате *.ino.
Проверка работы:
Каждые delay(100) должны выводиться координаты по X и Y.
Если при проверке у меня при движении вперед будет показывать движение вправо, значит мне нужно САМОСТОЯТЕЛЬНО повернуть акселерометр или поправить ваш код. Итого, мне нужен лишь код, а соответствие сторонам (вперед/назад/лево/право) я смогу поправить сам.
Отзывы
В заказе есть исполнитель
При переводе заказа из архивного в актуальный, текущий исполнитель будет снят с задачи.
Выберите тип сделки
С безопасной сделкой вы всегда сможете вернуть средства, если что-то пойдет не так. С простой сделкой вы самостоятельно договариваетесь с исполнителем об оплате и берете на себя решение конфликтов.