Оглавление:
Видео: Визуализация движения гироскопа L3G4200D с помощью блендера: 5 шагов
2025 Автор: John Day | [email protected]. Последнее изменение: 2025-01-13 06:58
Я купил довольно дешевый гироскопический датчик L3G4200D на eBay, который может обнаруживать 3-осевое вращение и доставлять его через интерфейс I2C или SPI. Я попытался использовать его для определения горизонтального и вертикального вращения в реальном времени. Это оказалось довольно сложно, так как я не мог представить себе, что выводил гироскоп. Мне нужна была визуализация. В итоге я использовал Blender для визуализации гироскопа, подключенного к Arduino Uno. С помощью этой комбинации я получил отчет в реальном времени, который оказался довольно хорошим и доказал, что датчик достаточно точен в том, что он делает.
Шаг 1. Аппаратное обеспечение
Датчик L3G4200D
Arduino Uno (почти любой Arduino это сделает)
Таким образом датчик подключается к Arduino.
И Arduino подключается к ПК.
Шаг 2: Программное обеспечение
Для визуализации я использовал блендер и питон.
Вот здесь и начинаются проблемы. Нам нужно правильно настроить Blender и python. Нам нужно, чтобы Blender использовал ту же версию Python, что и система. Лучший способ сделать это - загрузить новейший Blender, установить его. Откройте внутренний питон Blenders. На моем компьютере он находится по адресу: C: / Program Files / Blender Foundation / Blender / 2.78 / python / bin / python.exe. Он показывает версию Python, которую использует Blender.
Перейдите на страницу Python и загрузите ТОЧНО ту же корзину для Python. https://www.python.org/downloads/Установите python, но проверьте [Добавить Python в PATH] в начале мастера установки.
Переименуйте папку, в которой находится python, которую использует blender, чтобы она больше не распознавалась blender.rename
C: / Program Files / Blender Foundation / Blender / 2.78 / python
к
C: / Program Files / Blender Foundation / Blender / 2.78 / python_old
Если мы запустим блендер сейчас, он должен запуститься без проблем. Если программа дает сбой, это означает, что версия python не такая же, как у блендера, который использовался ранее, или что PATH не обновлялся.
Сейчас не хватает только библиотек, которые мы будем использовать с python. Запустите python, и мы загрузим последовательную библиотеку с помощью этой команды, которую можно выполнить через командную строку:
pip install серийный номер
Эта библиотека необходима, потому что она позволяет python получать последовательные соединения от Arduino.
Шаг 3: Сценарии
На Arduino нам нужно будет загрузить этот скрипт:
gist.github.com/BoKKeR/ac4b5e14e5dfe0476df7eb5065e98e98#file-l3g4200d-ino
Этот сценарий я нашел и изменил в этой теме на форуме Arduino.
Задача этого сценария - получить данные от датчика L3G4200D и отправить их через заданный COM-порт со скоростью 115200 бод.
Пример вывода:
X: 38,72 Y: 8,61 Z: -17,66
X: 39,30 Y: 8,37 Z: -18,17
X: 40,07 Y: 8,24 Z: -18,81
X: 40,89 Y: 8,30 Z: -19,46
X: 41,69 Y: 8,41 Z: -20,05
X: 42,42 Y: 8,41 Z: -20,44
В блендере нам нужно будет изменить макет на Scripting.
С левой стороны нам нужно ввести наш скрипт python, который будет получать данные и обрабатывать их от датчика, и изменить COM-порт на порт, где находится наш Arduino.
gist.github.com/BoKKeR/edb7cc967938d57c979d856607eaa658#file-blender-py
Шаг 4: Запустите сценарий
После нажатия Run Script все должно работать, и куб должен вращаться, как и гироскопический датчик.
Шаг 5. Устранение неполадок
Если у вас возникнут проблемы с выполнением скрипта, вам нужно будет открыть системную консоль. Щелкните «Окно» -> «Переключить системную консоль», чтобы открыть консоль, на которой отображается ошибка.
Самая обычная ошибка - отказано в разрешении на открытие порта. Чтобы исправить это, быстро отключите Arduino и снова подключите его.
Если вам нужна дополнительная помощь, зайдите на мой сайт, чтобы получить более качественную поддержку.
tnorbert.com/visualizing-l3g4200d-gyro-movement-with-blender/