Чертеж и сборка
Лучший способ сделать что-то правильно с первого раза — начертить это. В случае изготовления деталей на 3D-принтере или на ЧПУ станке, без этого вообще не обойтись. Будем чертить узлы гироподвеса в Fusion360.
Всего нам потребуется 3 детали:
- крепление подвеса к корпусу
- узел вращения (roll) — наклоны влево-вправо
- узел тангажа (pitch) — наклоны вниз-вверх
На третьей детали будут крепиться датчик MPU6050 и камера для Raspberry Pi версии 1.3, поэтому для них предусмотрены крепежные отверстия.
Детали достаточно простые, для черчения потребовались только планарные чертежи и инструменты выдавливания. Общий вид устройства представлен на картинке ниже.

Ссылки на все детали в формате STL, вместе с чертежом fusion360, можно найти на последней странице.
Детали были распечатаны на 3D-принтере из PLA пластика. Собранное устройство (пока без камеры) выглядит так:


Подключение гироподвеса к Ардуино
Когда конструкция собрана, можно приступить к подключению гироподвеса к контроллеру. Используем стандартную схему подключения I2C устройств, но с добавлением двух сервомоторов на цифровые GPIO №2 и №3.
MPU6050 ROC | GND | VCC | SDA | SCL | ||
Сервомотор вращения | GND | VCC | сигнал | |||
Сервомотор тангажа | GND | VCC | сигнал | |||
Ардуино Уно | GND | +5V | A4 | A5 | 2 | 3 |
Здравствуйте, постоянно выбивает ошибку expected ‘;’ before numeric constant с выделением строчки define LPF 0.7.
ЧТо может быть?
В коде была опечатка: перед define нужно ставить символ #. Исправлено!
Скриншот проблемы: https://prnt.sc/v3o7nd, если не сложно — отпишите мне на почту oxxyser@gmail.com
Ошибка осталась, предполагаю что может быть ошибка из-за разных библиотек под модуль mpu6050, если можно — напишите мне пожалуйста на почту — oxxyser @ gmail.com для нормальной связи, ибо тут сообщения очень долго проверяются
Добрый день, с Вами как-то связаться можно? ПРоблема чувствую из-за разных библиотек под модуль MPU 6050
Похоже на скриншоте у вас не вся ошибка целиком. Скопируйте всё, что выводится в нижнем окошке.
Вот результат https://prnt.sc/v71462
Добрый день
В итоге как исправили ошибку с # define LPF 0.7 ?
Не подскажете, как решили эту ошибку expected ‘;’ before numeric constant с выделением строчки define LPF 0.7.?
в этих строках кода я дописал умножения
imu_f[0] = imu_f[0]*LPF + imu[0]*(1-LPF);
imu_f[1] = imu_f[1]*LPF + imu[1]*(1-LPF);
imu_f[2] = imu_f[2]*LPF + imu[2]*(1-LPF);
проблема решилось