Квадрокоптер – Новости и новинки в мире мультикоптеров – Частозадаваемые вопросы по квадрокоптеру DJI Phantom 4 (FAQ)

Квадрокоптер - Новости и новинки в мире мультикоптеров - Частозадаваемые вопросы по квадрокоптеру DJI Phantom 4 (FAQ) Мультикоптеры
Содержание
  1. Что такое приложение dji go?
  2. Главный экран полёта
  3. Aircraft status
  4. Compass
  5. Важные замечания:
  6. Remote controller mode
  7. Main controller settings
  8. Home point settings
  9. Доступно два варианта:
  10. Multiple flight modes
  11. К сведению
  12. Return to home altitude
  13. К сведению
  14. Beginner mode
  15. Max flight altitude
  16. Max distance
  17. Advanced settings
  18. Gain & expo tuning
  19. Gain & expo tuning: exp
  20. Gain & expo tuning: sensitivity
  21. Gain & expo tuning: gain
  22. Sensors: imu
  23. К сведению
  24. Sensors: compass
  25. Remote controller signal lost
  26. К сведению
  27. Turn on front leds
  28. Stop motor method
  29. К сведению
  30. Visual navigation settings
  31. Enable obstacle avoidance
  32. К сведению
  33. Enable horizontal obstacle avoidance in tapfly
  34. Enable backward flying
  35. Enable obstacle avoidance in activetrack
  36. Display radar chart
  37. Advanced settings
  38. Enable vision positioning
  39. Landing protection
  40. Precision landing
  41. Rth obstacle check (detection)
  42. Rth remote obstacle avoidance
  43. Remote controller settings
  44. Remote controller calibration
  45. Stick mode
  46. Button customization
  47. Linking remote controller
  48. Image transmission settings
  49. Aircraft battery
  50. Critically low battery warning
  51. Low battery warning
  52. Smart return-to-home
  53. Flight time
  54. Advanced settings
  55. Show voltage on main screen
  56. Time to discharge
  57. Ditails
  58. Gimbal settings
  59. Gimbal mode
  60. Advanced settings
  61. Adjust gimbal roll
  62. Gimbal auto calibration
  63. General settings
  64. Units
  65. Camera
  66. Enable hardware decoding
  67. К сведению
  68. Peak focus threshold
  69. Long press action
  70. Относительно дешевый quadcopter на arduino с управлением от телефона, планшета, пк
  71. Устройство бортового компьютера

Что такое приложение dji go?

Приложение DJI Go это программное обеспечение позволяющее подключить планшет/смартфон к пульту дистанционного управления указанных выше DJI дронов, чтобы в последствии реализовать их максимальный потенциал. Как только приложение будет запущено, вы сможете видеть, что видит камера вашего дрона, получите возможность настраивать параметры камеры, просматривать отснятое фото/видео, настраивать управление и динамичность полёта в рамках своих предпочтений, активировать интеллектуальные режимы полёта и съёмки (Intelligent Flight modes) и многое другое. Итак, начнем!

Смотрите про коптеры:  Улучшите свое приключение с помощью дрона-мотоцикла с камерой

Главный экран полёта

На главном экране поверх отображаемого в онлайн режиме изображения с камеры дрона, располагается вся необходимая для пилота информация на время совершения полёта и съёмки, а также ряд дополнительных виртуальных кнопок/иконок для быстрого доступа к основным настройкам/функциям дрона и управления камерой.

Квадрокоптер - Новости и новинки в мире мультикоптеров - Частозадаваемые вопросы по квадрокоптеру DJI Phantom 4 (FAQ)

Квадрокоптер - Новости и новинки в мире мультикоптеров - Частозадаваемые вопросы по квадрокоптеру DJI Phantom 4 (FAQ)

Aircraft status

Aircraft status (Статус дрона) — именно сюда рекомендуется заходить после визуального предполётного осмотра дрона. Это меню предоставляет обзор работоспособности/состояния каждой подсистемы дрона/пульта управления (текущий полётный режим, состояние сенсоров визуализации, компаса, IMU, АКБ и т.д.). Чтобы войти в это меню, тапните по иконке «Ready to Go» в левой верхней части главного экрана полёта. Если вы видите, что установки вашего дрона отмечены словом «Normal», и не видите ничего, окрашенного в красный цвет, то вероятнее всего это означает, что дрон функционирует нормально и готов к полёту.

Квадрокоптер - Новости и новинки в мире мультикоптеров - Частозадаваемые вопросы по квадрокоптеру DJI Phantom 4 (FAQ)

Compass

Компас — один из самых важных сенсоров, состояние которого вы должны всегда проверять, поскольку он отвечает за ориентацию дрона в пространстве. Настоятельно рекомендуется всегда калибровать компас дрона в любом новом месте запуска. Это связано с тем, что компас очень чувствителен к электромагнитным помехам, которые могут привести к нарушению работоспособности сенсора, что зачастую, приводит к ухудшению лётных характеристик или даже к отказу в работе. Поэтому регулярная калибровка компаса перед запуском в новом месте, позволит поддерживать оптимальную производительность беспилотника. Чтобы выполнить калибровку компаса, тапните по иконке «Calibrate» и следуйте инструкциям на экране.

Квадрокоптер - Новости и новинки в мире мультикоптеров - Частозадаваемые вопросы по квадрокоптеру DJI Phantom 4 (FAQ)

Важные замечания:

  • Не калибруйте компас вблизи любых сильных источников магнитных помех, таких как магнетит, подземные металлические конструкции, автостоянки.
  • Не калибруйте компас рядом с крупными металлическими предметами/объектами.
  • Не калибруйте компас в помещении.

Remote controller mode

Remote Controller Mode (Режим Дистанционного Управления) — как правило по умолчанию установлен на «Mode 2». Это означает, что левый стик (джойстик) пульта управления отвечает за взлёт, снижение и вращение дрона вокруг своей оси, а правый стик (джойстик) отвечает за движение вперед, назад и движение влево/вправо. Процедура смены режимов осуществляется разово, и при последующем включении беспилотника не требует повторного изменения.

Квадрокоптер - Новости и новинки в мире мультикоптеров - Частозадаваемые вопросы по квадрокоптеру DJI Phantom 4 (FAQ)

Main controller settings

Квадрокоптер - Новости и новинки в мире мультикоптеров - Частозадаваемые вопросы по квадрокоптеру DJI Phantom 4 (FAQ)

Main Controller Settings (Основные Настройки Контроллера) — для входа в меню тапните по иконке в виде трёх точек (…) в верхнем правом углу главного экрана полёта. Затем тапните по иконке в виде дрона (Квадрокоптер - Новости и новинки в мире мультикоптеров - Частозадаваемые вопросы по квадрокоптеру DJI Phantom 4 (FAQ)) в левой части меню. Здесь вы найдёте:

  • Настройку точки возврата домой «Home Point Settings»
  • Включение/смену режимов полёта «Multiple Flight Modes»
  • Включение/выключение режима «Beginner mode»
  • Установка максимальной высоты (Max Flight Altitude) и расстояния удаления (Max Distance)
  • Advanced settings

Далее более подробно о каждой настройке и подменю:

Home point settings

Home Point Settings (Настройки Домашней Точки) — этот пункт настраивает точку возврата домой, т.е. куда дрон должен будет вернуться (в случае: Потери связи между дроном и пультом управления/Недостаточном заряде АКБ/После нажатия кнопки RTH).

Квадрокоптер - Новости и новинки в мире мультикоптеров - Частозадаваемые вопросы по квадрокоптеру DJI Phantom 4 (FAQ)

Доступно два варианта:

  1. Иконка со стрелкой = если выбрать этот способ возврата, то точкой возврата будет считаться текущее место взлёта. При нажатии система дрона спросит: «Set current aircraft position as Home Point/Установить эту позицию как точку возврата домой?». Нажмите «OK».
  2. Иконка с маленьким человечком = если выбрать этот способ возврата, то дрон вернётся к текущему месту нахождения пульта управления. Такой способ актуален, если пилот управляет дроном с движущегося объекта, такого как лодка или машина.

Multiple flight modes

Квадрокоптер - Новости и новинки в мире мультикоптеров - Частозадаваемые вопросы по квадрокоптеру DJI Phantom 4 (FAQ)

Multiple Flight Modes (Различные Режимы Полёта) — данная настройка позволяет переключаться между тремя возможными режимами полёта:

  • P (Positioning) Mode или Режим позиционирования (P Mode) — в этом режиме все сенсоры беспилотника включены, что приведёт к более «заторможенному», но стабильному полёту. В этом режиме, если пилот отпустит стики (джойстики управления) — дрон автоматически затормозит, а затем зависнет и будет удерживать позицию благодаря спутниковому позиционированию GPS/GLONASS.
  • S (Sport) Mode или Спорт режим — раскрывает весь потенциал дрона, позволяя ему развивать макс. скорость полёта, при этом спутниковое (GPS/GLONASS) и визуальное позиционирование (комплекс сенсоров в нижней части дрона) остаётся активным. Но имейте в виду, что в этом режиме система определения и обхода препятствий будет отключена!
  • A (Attitude/ATTI) Mode — в режиме A-Mode все сенсоры дрона отключены, активен только барометр (применяется для контроля и удержания высоты), что приводит к более нестабильному полёту/дрейфующему зависанию, так как ветер и его воздушные потоки будут оказывать влияние на дрон. Иначе говоря, нет никакого «автоматического тормоза». Чтобы остановить дрон и удерживать его позицию, пилоту будет необходимо самостоятельно контролировать беспилотник перемещением стиков управления.

К сведению

A-Mode актуален для опытных пилотов, например когда:

  • Запуск дрона осуществляется в местах с плохим приёмом, либо, где вовсе нет спутникового покрытия
  • Для обеспечения плавного маневрирования/торможения при выполнении аэросъёмки
  • В качестве отказоустойчивого режима для остановки дрона, если вдруг, что-то пошло не так.

Return to home altitude

Квадрокоптер - Новости и новинки в мире мультикоптеров - Частозадаваемые вопросы по квадрокоптеру DJI Phantom 4 (FAQ)

Return to Home Altitude (Высота Возврата Домой) — настройка устанавливает высоту на которой дрон исполнит автоматический возврат (в случае: Потери связи между дроном и пультом управления/Недостаточном заряде АКБ/После нажатия кнопки RTH).

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


К сведению

  • Значение высоты можно установить на 60 метров. В большинстве случаев такая высота намного выше среднестатистических деревьев или зданий. Но в любом случае на каждом новом месте, перед запуском, следует прочекать высоту деревьев, зданий и возможных препятствий и если это требуется изменить текущие настройки «Return to Home Altitude».

Beginner mode

Квадрокоптер - Новости и новинки в мире мультикоптеров - Частозадаваемые вопросы по квадрокоптеру DJI Phantom 4 (FAQ)

Beginner Mode (Режим Новичка) — рекомендуется активировать, если пользователь впервые пилотирует дроном. На деле, режим отключает многие расширенные функции, а также автоматически ограничивает высоту (до 30 метров), расстояние (до 30 метров) и скорость вашего дрона, поэтому, если вы будете летать на большом открытом пространстве, вам не о чем беспокоиться пилотируя в режиме Beginner. Также режим отлично подходит для тренировок, так как он позволяет плавно переходить от простого и комфортного полёта к более сложным настройкам.

Max flight altitude

Max Flight Altitude (Максимальная Высота Полёта) — посредством этой настройки устанавливается максимальный потолок по высоте на которую дрон сможет подниматься. В скобках указан возможный диапазон в метрах (например 20-500 м). Во многих странах эта высота ограничена законом на уровне 120 метров. Стоит это учитывать перед взлётом и заблаговременно ознакомиться с местным законодательством.

Квадрокоптер - Новости и новинки в мире мультикоптеров - Частозадаваемые вопросы по квадрокоптеру DJI Phantom 4 (FAQ)

Max distance

Max Distance (Макс. Расстояние) — посредством этой настройки задаётся макс. расстояние на которое дрон сможет удаляться от пульта управления. В скобках указан возможный диапазон в метрах (например 15-500 м). Во многих странах этот параметр также может быть ограничен законом. Например, в США пользователи БЛА обязаны пилотировать дроном в пределах прямой видимости, другими словами, пилотируя, оператор (пилот) должен иметь возможность видеть свой дрон.

Advanced settings

Advanced Settings (Расширенные Настройки) — параметры в этом меню рассчитаны на продвинутого пользователя. Например, здесь можно более точно настроить отзывчивость дрона на перемещение стиков/джойстиков управления (может быть более острой или мягкой). Это можно сравнить с настройкой гитары, где у каждого гитариста свои предпочтения. Далее по каждой настройке отдельно.

Квадрокоптер - Новости и новинки в мире мультикоптеров - Частозадаваемые вопросы по квадрокоптеру DJI Phantom 4 (FAQ)

Gain & expo tuning

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

Квадрокоптер - Новости и новинки в мире мультикоптеров - Частозадаваемые вопросы по квадрокоптеру DJI Phantom 4 (FAQ)

Gain & expo tuning: exp

EXP расшифровывается как Exponential Curve/Экспоненциальная кривая. По Оси X отображается физический выход манипулируемых стиков/джойстиков. По оси Y отображается логический выход манипулируемых стиков/джойстиков. Обе оси напрямую управляют моторами дрона. Настройка отклика моторов на перемещение стиков возможна как для обычных режимов, так и для спортивного режима (иконка над графиками Normal/Sport).

Квадрокоптер - Новости и новинки в мире мультикоптеров - Частозадаваемые вопросы по квадрокоптеру DJI Phantom 4 (FAQ)

Ввод наименьшего значения, приведёт к увеличению амплитуды перемещения стиков/джойстиков, прежде чем дрон начнёт реагировать (что соответствует более плавному/изящному перемещению дрона, и будут наиболее актуальны для съёмки). Ввод максимального значения, приведёт к мгновенному отклику дрона на малейшее перемещение стиков (что соответствует более агрессивному перемещению дрона, и будут наиболее актуальны для скоростных FPV полётов).

Если режим работы стиков пользователем не изменялся то:

  • Кривая «Throttle Up/Throttle down» затрагивает отклик моторов на перемещение левого стика вперед/назад, что соответствует взлёту/снижению дрона.
  • Кривая «Rudder Right/Rudder Left» затрагивает отклик моторов на перемещение левого стика вправо/влево, что соответствует вращению дрона вокруг своей оси вправо/влево.
  • Кривая «(Forward/Right)/(Backward/Left)» затрагивает отклик моторов на перемещение правого стика (Вперед/Вправо)/(Назад/Влево), что соответствует движению дрона вперед/вправо и назад/влево).

Gain & expo tuning: sensitivity

В этом разделе определяется степень чувствительности элементов управления.

Квадрокоптер - Новости и новинки в мире мультикоптеров - Частозадаваемые вопросы по квадрокоптеру DJI Phantom 4 (FAQ)

  • Attitude = как быстро дрон будет реагировать и выравниваться. Чем меньше установленное значение, тем более медленным/спокойным будет начало движения и выравнивание дрона, и соответственно, чем это значение больше, тем более резким/агрессивным будет начало движения и выравнивание дрона.
  • Brake = как быстро дрон остановится в GPS/GLONASS режиме. Чем меньше установленное значение, тем более медленное и плавное торможение дрона, и соответственно, чем это значение больше, тем более острым/резким будет торможение.
  • Yaw Movment Limit = как быстро дрон будет вращаться вокруг своей оси. Чем меньше установленное значение, тем более медленным будет вращение дрона.

Gain & expo tuning: gain

Это меню определяет, как дрон будет реагировать на воздействие внешних сил, таких как атмосферное давление и ветер. Корректировка этих настроек изменит динамику полёта, что может привести к нежелательным вибрациям и/или колебаниям. Раздел предназначен для продвинутых пилотов, которые профессионально занимаются постройкой беспилотных летательных аппаратов с нуля. Если вы не знакомы со спецификой настройки данных параметров, настоятельно рекомендуется оставить их без изменения!

Квадрокоптер - Новости и новинки в мире мультикоптеров - Частозадаваемые вопросы по квадрокоптеру DJI Phantom 4 (FAQ)

Sensors: imu

IMU (Inertial Measurement Unit/Инерционное измерительное устройство) — включает в себя 3-осевой акселерометр, 3-осевой гироскоп и барометрический альтиметр, которые работают в тандеме, чтобы точно удерживать дрон в его текущем положении во время полёта. Иначе говоря, устройство позволяет определять положение беспилотника в пространстве.

Квадрокоптер - Новости и новинки в мире мультикоптеров - Частозадаваемые вопросы по квадрокоптеру DJI Phantom 4 (FAQ)


К сведению

  • Если в процессе эксплуатации дрона наблюдаются проблемы в виде некорректного полёта, дрейфа, либо появляются ошибки в работе компаса, попробуйте исправить их, выполнив калибровку IMU, тапнув по иконке ниже «Calibrate IMU». На текущее состояние IMU указывает цветовая палитра расположенная ниже, где: Зеленый цвет — отлично; Жёлтый цвет — хорошо; Красный — плохо.

Sensors: compass

В этом разделе проверяется наличие проблем в работе компаса или помех. При необходимости вы также можете откалибровать его, тапнув по иконке ниже «Calibrate Compass». На текущее состояние компаса указывает цветовая палитра расположенная ниже, где: Зеленый цвет — отлично; Жёлтый — хорошо; Красный — плохо.

Квадрокоптер - Новости и новинки в мире мультикоптеров - Частозадаваемые вопросы по квадрокоптеру DJI Phantom 4 (FAQ)

Remote controller signal lost

В этом разделе настраивается так называемая функция «Failsafe», благодаря которой дрон всегда знает, что ему делать, когда между ним и пультом управления пропадает связь.

Квадрокоптер - Новости и новинки в мире мультикоптеров - Частозадаваемые вопросы по квадрокоптеру DJI Phantom 4 (FAQ)

Доступно три сценария в случае разрыва связи:

  1. Return-to-Home: в данном случае дрон исполнит возврат в точку взлёта (установлено по умолчанию).
  2. Landing: в данном случае дрон исполнит посадку в месте разрыва связи.
  3. Hover: в данном случае дрон зависнет в месте потери связи.

К сведению

  • Помните, что потеря сигнала может произойти по разным причинам, например, когда дрон улетает слишком далеко, отсутствует питание пульта управления или когда сигнал блокируется.
  • Рекомендуется оставлять настройку выбранную разработчиком по умолчанию: Return-to-Home. А перед взлётом дублировать действия в разделе: Home Point Settings (Настройки домашней точки), тапнув по иконке со стрелкой, подтвердив тем самым текущее место взлёта.
  • Исполнение зависания (Hover) рекомендуется выбирать, когда полёт дрона выполняется в помещении.

Turn on front leds

Данная опция включает и отключает передние светодиоды (горят красным цветом). Это может быть полезно, если полёт осуществляется при слабом освещении, поскольку красные огни могут легко попадать в поле зрения камеры.

Квадрокоптер - Новости и новинки в мире мультикоптеров - Частозадаваемые вопросы по квадрокоптеру DJI Phantom 4 (FAQ)

Stop motor method

Здесь пользователь может активировать возможность экстренной остановки моторов, либо исключить её вовсе (для каждой модели эти способы разнятся).

Квадрокоптер - Новости и новинки в мире мультикоптеров - Частозадаваемые вопросы по квадрокоптеру DJI Phantom 4 (FAQ)

Для этого доступно два варианта настроек:

  1. CSC: остановка моторов путём одновременного сведения левого стика управления в правый нижний угол и нажатием на кнопку «RTH/Возврата домой» (данная настройка установлена по умолчанию).
  2. Do not stop in the air: исключает возможность экстренного отключения моторов пока дрон находится в воздухе.

К сведению

  • Экстренная остановка моторов может быть актуальна в различных случаях, например, когда дрон по неосторожности/невнимательности пилота задевает крону дерева, что неминуемо повлечёт за собой неуправляемое падение с последующим застреванием беспилотника в ветках дерева. И чтобы обеспечить сохранность элементов силовой установки будет лучшим оперативно выключить моторы.

Visual navigation settings

Здесь изменяются настройки визуальной навигации дрона. Иначе говоря в этом разделе можно включать и отключать сенсоры отвечающие за визуализацию окружающего мира, в том числе для отдельно взятых авторежимов полёта, которые напрямую взаимодействуют с этими сенсорами. Для перехода тапните по соответствующей иконке в виде «излучаемой точки Квадрокоптер - Новости и новинки в мире мультикоптеров - Частозадаваемые вопросы по квадрокоптеру DJI Phantom 4 (FAQ)» в левой части меню «Main Controller Settings». Далее по каждой настройке отдельно.

Квадрокоптер - Новости и новинки в мире мультикоптеров - Частозадаваемые вопросы по квадрокоптеру DJI Phantom 4 (FAQ)

Enable obstacle avoidance

Настройка включает и отключает сенсорную систему предотвращения столкновения с препятствиями. Так сказать, общий выключатель. После её отключения дрон перестанет распознавать препятствия. Рекомендуется всегда отставлять активной.

Квадрокоптер - Новости и новинки в мире мультикоптеров - Частозадаваемые вопросы по квадрокоптеру DJI Phantom 4 (FAQ)


К сведению

Enable horizontal obstacle avoidance in tapfly

Настройка включает и отключает возможность горизонтального избегания препятствий в режиме автополёта TapFly. При активации дрон будет автоматически облетать встречаемые на пути следования препятствия слева или справа от них.

Квадрокоптер - Новости и новинки в мире мультикоптеров - Частозадаваемые вопросы по квадрокоптеру DJI Phantom 4 (FAQ)

Enable backward flying

Если активировать, то в моменты сближения с отслеживаемым объектом (например, когда объект двигается на встречу дрону) дрон не будет разворачиваться, а будет автоматически лететь задом наперед отслеживая объект. Прежде чем активировать, убедитесь в том, чтобы не было препятствий в направлении полёта.

Квадрокоптер - Новости и новинки в мире мультикоптеров - Частозадаваемые вопросы по квадрокоптеру DJI Phantom 4 (FAQ)

Enable obstacle avoidance in activetrack

Настройка включает и отключает горизонтальное избегание препятствий в режиме автополёта ActiveTrack. Если отключить, то при обнаружении препятствий в процессе исполнения автополёта дрон замедлится и остановится перед препятствием в ожидании следующих команд от пилота.

Квадрокоптер - Новости и новинки в мире мультикоптеров - Частозадаваемые вопросы по квадрокоптеру DJI Phantom 4 (FAQ)

Display radar chart

Настройка включает и отключает отображение на главном экране полёта индикаторов приближения к препятствиям.

Квадрокоптер - Новости и новинки в мире мультикоптеров - Частозадаваемые вопросы по квадрокоптеру DJI Phantom 4 (FAQ)

Advanced settings

Расширенные настройки визуальной системы позиционирования. Далее по каждой настройке отдельно.

Квадрокоптер - Новости и новинки в мире мультикоптеров - Частозадаваемые вопросы по квадрокоптеру DJI Phantom 4 (FAQ)

Enable vision positioning

Enable Vision Positioning (Включение Визуального Позиционирования) — настройка включает и отключает нижние сенсоры позиционирования (располагаются в нижней части дрона), которые отвечают за обеспечение точного и стабильного зависания, когда спутниковое позиционирование не доступно, а также за работоспособность «Landing Protection» и других систем. При отключении система спросит пользователя «Disable Vision Position?/Отключить визуальное позиционирование?» и предложит подтвердить «OK», либо отменить «Cancel».

Квадрокоптер - Новости и новинки в мире мультикоптеров - Частозадаваемые вопросы по квадрокоптеру DJI Phantom 4 (FAQ)

Landing protection

Landing Protection (Безопасное Приземление) — когда настройка активна, дрон перед осуществлением приземления будет проверять поверхность на наличие препятствий, и если таковые имеются, на главном экране будет выводится предупреждение о вероятных препятствиях, после чего пилоту нужно будет, либо подтвердить посадку, либо её отменить. При отключении система спросит пользователя: «Disable Landing Protection?/Отключить безопасное приземление?» и предложит подтвердить «OK», либо отменить «Cancel».

Квадрокоптер - Новости и новинки в мире мультикоптеров - Частозадаваемые вопросы по квадрокоптеру DJI Phantom 4 (FAQ)

Precision landing

Precision Landing (Точное Приземление) — когда настройка включена, дрон во время исполнения автовозврата (RTH) попытается приземлиться в максимальной близости от места взлёта.

Квадрокоптер - Новости и новинки в мире мультикоптеров - Частозадаваемые вопросы по квадрокоптеру DJI Phantom 4 (FAQ)

Rth obstacle check (detection)

RTH Obstacle Check (Контроль Препятствий при исполнении Return to Home/Возврат Домой) — когда настройка активна, при исполнении автовозврата дрон будет автоматически набирать высоту при обнаружении препятствий, даже если настройка «Obstacle Avoidance/Избегания Препятствий» отключена. При отключении система спросит пользователя: «Disable RTH Obstacle Check?/Отключить контроль препятствий при исполнении RTH?» и предложит подтвердить «OK», либо отменить «Cancel».

Квадрокоптер - Новости и новинки в мире мультикоптеров - Частозадаваемые вопросы по квадрокоптеру DJI Phantom 4 (FAQ)

Rth remote obstacle avoidance

RTH Remote Obstacle Avoidance (Дистанционное Избегание препятствий при исполнении RTH) — когда настройка активна, дрон будет автоматически корректировать свой маршрут возврата, чтобы избегать препятствия на всём пути следования, при этом подвес не будет реагировать ни на какие команды с пульта управления.

Квадрокоптер - Новости и новинки в мире мультикоптеров - Частозадаваемые вопросы по квадрокоптеру DJI Phantom 4 (FAQ)

Remote controller settings

Здесь пользователь вносит изменения в настройки пульта управления. Для перехода тапните по соответствующей иконке в виде «пульта Квадрокоптер - Новости и новинки в мире мультикоптеров - Частозадаваемые вопросы по квадрокоптеру DJI Phantom 4 (FAQ)» в левой части меню «Main Controller Settings». Далее подробно по каждой настройке.

Квадрокоптер - Новости и новинки в мире мультикоптеров - Частозадаваемые вопросы по квадрокоптеру DJI Phantom 4 (FAQ)

Remote controller calibration

Если органы управления (стики/джойстики; колёсики управления наклоном/поворотом камеры) работают некорректно/не точно, то в этом меню вы сможете их откалибровать. Процедура производится при выключенном дроне. Для начала процедуры калибровки тапните по иконке «Calibrate», после чего установите стики/джойстики в центральное положение. Далее тапните по иконке «Start» и осуществите перемещение стиков и колёсиков из нулевого положения в крайнее (100%) до того момента пока иконка «Finish» не станет активной. Тапните по иконке «Finish». Калибровка закончена.

Квадрокоптер - Новости и новинки в мире мультикоптеров - Частозадаваемые вопросы по квадрокоптеру DJI Phantom 4 (FAQ)

Stick mode

В этом меню вы сможете выбрать один из трёх предустановленных режимов работы стиков (джойстиков) управления дроном: Mode 1/Mode 2 (по умолчанию)/ Mode 3.

Квадрокоптер - Новости и новинки в мире мультикоптеров - Частозадаваемые вопросы по квадрокоптеру DJI Phantom 4 (FAQ)

Также доступна ручная установка работы стиков — «Custom», позволяющая пользователю самому назначить действия дрона для каждого перемещения стиков. Чтобы вручную настроить работу стиков, тапните по разделу «Custom», а затем по иконке «Change settings». Перетащите каждую иконку определяющую направление движения дрона: Up (Вверх)/Down (Вниз)/Left (Влево)/Right (Вправо)/Forward (Вперёд)/Backward (Назад)/Turn left (Вращение влево)/Turn right (Вращение вправо) на ось каждого стика. По завершению расстановки подтвердите установку тапнув по иконке «Save».

Квадрокоптер - Новости и новинки в мире мультикоптеров - Частозадаваемые вопросы по квадрокоптеру DJI Phantom 4 (FAQ)

Квадрокоптер - Новости и новинки в мире мультикоптеров - Частозадаваемые вопросы по квадрокоптеру DJI Phantom 4 (FAQ)

Button customization

Как вы могли заметить, на обратной стороне пульта управления есть две кнопки C1/C2. Эти кнопки являются настраиваемыми, иначе говоря пользователь сам решает за что будет отвечать каждая из них. Соответственно это меню позволяет назначить одну из доступных команд этим кнопкам. Чтобы это сделать, выберите из раскрывающегося меню напротив C1/C2 любую предлагаемую команду. По умолчанию обе кнопки открывают расширенные настройки камеры (Advanced Camera Settings), но также можно задать, например, чтобы при нажатии на C1/C2, на экран выводилась вся информация о АКБ (Battery Info), либо можно заставить камеру дрона быстро перейти из горизонтального положения вперёд в вертикальное нижнее и обратно (Camera Forward/Down), изменить режим работы подвеса (Gimbal Follow/FPV mode), вывести на дисплей карту, а затем обратно перейти к режиму от первого лица (Toggle Map/Live View). Поэкспериментируйте с каждым и выберите то, что вам необходимо.

Квадрокоптер - Новости и новинки в мире мультикоптеров - Частозадаваемые вопросы по квадрокоптеру DJI Phantom 4 (FAQ)

Linking remote controller

Если по какой-либо причине пульт дистанционного управления не может связаться с дроном или пользователь купил новый пульт и его надо связать с дроном, это меню позволит без труда соединить их вместе. Для того чтобы связать/привязать пульт и дрон необходимо включить дрон и пульт, тапнуть по иконке «Linking Remote Controller» и на две секунды нажать на специальную кнопку «привязки» расположенную на борту дрона (расположение кнопки можно найти в руководстве по эксплуатации в разделе «Общий вид коптера»).

Image transmission settings

Для перехода тапните по соответствующей иконке «Квадрокоптер - Новости и новинки в мире мультикоптеров - Частозадаваемые вопросы по квадрокоптеру DJI Phantom 4 (FAQ)» в левой части меню «Main Controller Settings». Это меню определяет качество и диапазон видеопередачи. Чтобы обеспечить надёжную передачу видеосигнала (FPV), настройки по умолчанию установлены в режим «Auto» (система сама отслеживает и переключается на свободные для передачи каналы).

Квадрокоптер - Новости и новинки в мире мультикоптеров - Частозадаваемые вопросы по квадрокоптеру DJI Phantom 4 (FAQ)

Также в меню доступен ручной выбор свободного канала «Custom». Для ручного выбора канала тапните по иконке «Custom» и выберите наиболее свободный в разделе «Select Channel» (где, исходя из цветовой палитры: Current Chanel – текущий канал; Stable – стабильный канал; Unstable – нестабильный канал). Настройка «Transmission Quality (Качество передачи)» определяет, насколько чётким и чистым будет FPV изображение. Однако имейте в виду, что чем выше качество FPV изображения, тем меньше расстояние, на которое будет распространяться сигнал.

Квадрокоптер - Новости и новинки в мире мультикоптеров - Частозадаваемые вопросы по квадрокоптеру DJI Phantom 4 (FAQ)

Aircraft battery

Этот раздел затрагивает информацию и настройки установленной в дрон АКБ. Здесь пользователь сможет узнать о текущем состоянии АКБ: напряжении, ёмкости (полная/остаточная), температуре, можете увидеть время полёта на текущем заряде данной АКБ и сколько раз она заряжалась. Для перехода тапните по соответствующей иконке «Квадрокоптер - Новости и новинки в мире мультикоптеров - Частозадаваемые вопросы по квадрокоптеру DJI Phantom 4 (FAQ)» в левой части меню «Main Controller Settings». Далее подробно по каждой настройке.

Квадрокоптер - Новости и новинки в мире мультикоптеров - Частозадаваемые вопросы по квадрокоптеру DJI Phantom 4 (FAQ)

Critically low battery warning

Данная настройка устанавливает остаточный заряд АКБ, который будет считаться системой критическим, при достижении которого будет автоматически активирована функция возврата домой.

Квадрокоптер - Новости и новинки в мире мультикоптеров - Частозадаваемые вопросы по квадрокоптеру DJI Phantom 4 (FAQ)

Low battery warning

Данная настройка устанавливает остаточный заряд при котором система уведомит пользователя о его низком значении.

Квадрокоптер - Новости и новинки в мире мультикоптеров - Частозадаваемые вопросы по квадрокоптеру DJI Phantom 4 (FAQ)

Smart return-to-home

Когда настройка активна, автоматический возврат домой будет осуществляться по той же траектории по которой осуществлялся пилотируемый полёт, что само по себе предопределяет наиболее безопасное возвращение дрона к месту взлёта.

Квадрокоптер - Новости и новинки в мире мультикоптеров - Частозадаваемые вопросы по квадрокоптеру DJI Phantom 4 (FAQ)

Flight time

Таймер отражает время текущего полёта.

Квадрокоптер - Новости и новинки в мире мультикоптеров - Частозадаваемые вопросы по квадрокоптеру DJI Phantom 4 (FAQ)

Advanced settings

В этом меню можно вкл/откл отображение индикатора напряжения АКБ, установить настройки для саморазряда батареи и узнать о её текущем статусе. Далее подробно по каждой настройке.

Квадрокоптер - Новости и новинки в мире мультикоптеров - Частозадаваемые вопросы по квадрокоптеру DJI Phantom 4 (FAQ)

Show voltage on main screen

Когда настройка активна в верхнем правом углу главного экрана полёта будет отражаться индикатор напряжения АКБ.

Квадрокоптер - Новости и новинки в мире мультикоптеров - Частозадаваемые вопросы по квадрокоптеру DJI Phantom 4 (FAQ)

Квадрокоптер - Новости и новинки в мире мультикоптеров - Частозадаваемые вопросы по квадрокоптеру DJI Phantom 4 (FAQ)

Time to discharge

Настройка устанавливает срок по истечении которого произойдёт саморазряд АКБ. Данная настройка обеспечивает правильную эксплуатацию LiPo батареи и не допускает её хранение в заряженном состоянии.

Квадрокоптер - Новости и новинки в мире мультикоптеров - Частозадаваемые вопросы по квадрокоптеру DJI Phantom 4 (FAQ)

Ditails

В данном разделе отражается серийный номер АКБ, дата производства, сколько раз она заряжалась и статус текущего состояния.

Квадрокоптер - Новости и новинки в мире мультикоптеров - Частозадаваемые вопросы по квадрокоптеру DJI Phantom 4 (FAQ)

Gimbal settings

В этом меню пользователь может изменять режимы работы стабилизирующего подвеса камеры. Для перехода тапните по соответствующей иконке в виде «фотоаппарата Квадрокоптер - Новости и новинки в мире мультикоптеров - Частозадаваемые вопросы по квадрокоптеру DJI Phantom 4 (FAQ)» в левой части меню «Main Controller Settings». Далее подробно по каждой настройке.

Квадрокоптер - Новости и новинки в мире мультикоптеров - Частозадаваемые вопросы по квадрокоптеру DJI Phantom 4 (FAQ)

Gimbal mode

Квадрокоптер - Новости и новинки в мире мультикоптеров - Частозадаваемые вопросы по квадрокоптеру DJI Phantom 4 (FAQ)

Gimbal mode (Режим Подвеса) — доступны два режима работы подвеса:

  1. Follow = камера всегда стабилизируется и сохраняет горизонт (стандартный режим работы).
  2. FPV (First Person View/Вид от первого лица) = имитирует полёт гоночного дрона/полёт птицы, т.е. в этом режиме камера дрона зафиксирована, и когда дрон будет поворачивать/наклонятся, картинка в режиме от первого лица будет также отображаться с кренами. Режим актуален для полёта в DJI FPV очках.

Advanced settings

Квадрокоптер - Новости и новинки в мире мультикоптеров - Частозадаваемые вопросы по квадрокоптеру DJI Phantom 4 (FAQ)

Это меню позволяет настроить 3 различные конфигурации определяющие работу подвеса. Рекомендуется поиграть с каждой настройкой, чтобы всецело понять, как они работают. Например, можно установить настройки каждой конфигурации по принципу быстро, нормально и медленно:

  1. Конфигурация 1 = скорость движения подвеса по умолчанию.
  2. Конфигурация 2 = подвес работает быстро. Может быть актуально при фотосъёмке, чтобы можно было быстро выставить камеру, не упустив ни одного уникального кадра.
  3. Конфигурация 3 = скорость движения подвеса более медленная. Будет актуально для съёмки идеальных панорам.

Adjust gimbal roll

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

Квадрокоптер - Новости и новинки в мире мультикоптеров - Частозадаваемые вопросы по квадрокоптеру DJI Phantom 4 (FAQ)

Gimbal auto calibration

Настройка обеспечивает автоматическое выравнивание горизонтального положения камеры. Тапните по «Gimbal Auto Calibration», перед тем как приступить к авто калибровке, система попросит пользователя убедиться в том, что дрон находится в горизонтальном положении и ничто не мешает движению подвеса (например, снят ли транспортировочный фиксатор подвеса). Если всё нормально, то тапните OK, чтобы начать автоматическую калибровку. Для отмены тапните «Cancel».

Квадрокоптер - Новости и новинки в мире мультикоптеров - Частозадаваемые вопросы по квадрокоптеру DJI Phantom 4 (FAQ)

General settings

В этом разделе представлены различные настройки таких параметров как система мер, аппаратного декодирования, предела пика фокусировки, настройки кэша, прямой трансляции, а также здесь находится ключевая информация о дроне, пульте, мобильном приложении. Для перехода тапните по соответствующей иконке в виде «трёх точек Квадрокоптер - Новости и новинки в мире мультикоптеров - Частозадаваемые вопросы по квадрокоптеру DJI Phantom 4 (FAQ)» в левой части меню «Main Controller Settings». Далее подробно о каждом разделе, подразделе и настройке.

Квадрокоптер - Новости и новинки в мире мультикоптеров - Частозадаваемые вопросы по квадрокоптеру DJI Phantom 4 (FAQ)

Units

Квадрокоптер - Новости и новинки в мире мультикоптеров - Частозадаваемые вопросы по квадрокоптеру DJI Phantom 4 (FAQ)

Measurement Unit (Система мер) — позволяет выбрать систему мер:

  1. Imperial (Имперская)
  2. Metric m/s or km/h (Метрическая м/с или км/ч)

Camera

Enable hardware decoding

Enable Hardware Decoding (Разрешить Аппаратное Декодирование) – отключает и включает аппаратное декодирование.

Квадрокоптер - Новости и новинки в мире мультикоптеров - Частозадаваемые вопросы по квадрокоптеру DJI Phantom 4 (FAQ)

К сведению

  • Если имеют место быть задержки или зависания в момент трансляции видеопотока в режиме реальном времени (FPV), попробуйте активировать аппаратное декодирование, поскольку это может способствовать лучшей передаче изображения.
  • Аппаратное декодирование помогает с вычислительной мощностью, которая требуется для декодирования видео в реальном времени. Поэтому, если вы используете более старый или медленный смартфон/планшет, активируйте аппаратное декодирование, поскольку оно также может помочь уменьшить перегрев устройства, так как ему не нужно будет усердно работать для декодирования живого видеопотока, поступающего с дрона.

Peak focus threshold

Peak Focus Threshold (Предел Пиков Фокусировки) – подсвечивает красным на дисплее все входящие в зону фокусировки объекты. Можно выбрать режим подсветки: Normal (Нормальный), Low (Тусклый), High (Яркий).

Квадрокоптер - Новости и новинки в мире мультикоптеров - Частозадаваемые вопросы по квадрокоптеру DJI Phantom 4 (FAQ)

Квадрокоптер - Новости и новинки в мире мультикоптеров - Частозадаваемые вопросы по квадрокоптеру DJI Phantom 4 (FAQ)

Long press action

Long Press Action (Действие при длительном касании основного экрана) — настройка устанавливает действие, которое будет выполняться в момент длительно касания главного экрана полёта. Доступно два действия: Gimbal Control (Управление Подвесом) и Focus (Управление фокусировкой).

Квадрокоптер - Новости и новинки в мире мультикоптеров - Частозадаваемые вопросы по квадрокоптеру DJI Phantom 4 (FAQ)

Относительно дешевый quadcopter на arduino с управлением от телефона, планшета, пк

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

Что вам понадобится для того, чтобы собрать и запустить в воздух свой квадрокоптер:

Ноутбук или компьютер с Processing[/b], скачать можно от сюда. Что такое “Processing”? Вот, что пишет об этом википедия :

Processing — открытый язык программирования, основанный на Java. Представляет собой лёгкий и быстрый инструментарий для людей, которые хотят программировать изображения, анимацию и интерфейсы.Используется студентами, художниками, дизайнерами, исследователями и любителями, для изучения, прототипирования и производства. Он создан для изучения основ компьютерного программирования в визуальном контексте и служит альбомным программным обеспечением (имеется в виду то, что каждый *.pde файл визуальной оболочки Processing’а представляет собой отдельное изображение или анимацию, и т. д.) и профессиональным производственным инструментом.

Arduino Software (IDE)[/b]
Андроид-устройство[/b], которое поддерживает режимUSB-хоста[/b](проверено на MotorolaXoom.
А так же паяльник, прямые руки, ножницы.

Что надо для изготовления рамы

Рама квадрокоптер делается из бамбуковых шашлычных палочек

Крепления двигателей к раме делаются из палочек для коктейля.

Изолента- используется для крепления платы приемника, электродвигателей к раме. Нитки нужны для скрепления деталей перед склейкой. Цианакриловый клей. Резинка для крепления аккумулятора к раме.

Список электроники для квадрокоптера.

Все эти детали могут быть повреждены во время пробных запусков или во время полетов, поэтому заказывайте с запасом. Ссылки даны для примера. Есть много поставщиков.
Лопасти для вертолета
Двигатели. Я не нашел двигатели с размерами 4х7 мм на Алиэкспресс нашел вот такие. Моторы должны быть без щеточные.

Плата приемника эта плата содержит все компоненты- гироскоп, акселометр, ESC (система курсовой устойчивости), CPU который все эти компоненты объединяет. Литий полимерный аккумулятор:1 x 240mah 1S ‘LiPo. Можно использовать разные аккумуляторы с меньшей или большей емкости. Если вы решите построить октакоптер, то вам понадобиться более емкая батарея.

Список аппаратного контроля квадрокоптера.

Это те части вашего будущего вертолета, которые позволят ему принимать ваши команды.
Приемопередатчик Учтите что в комплекте должны быть два модуля. И это не тоже самое что NRF24L01, что бы ни утверждал продаван.

Arduino DUE[/b]или аналогичный, он будет использоваться для связи вашего Андроид-устройства и A7105. Автор использовал именно эту плату Arduino потому, что она имеет USB подключенный к последовательному порту и может работать с 3.3в логикой, хотя можно применить преобразователь уровней 5-3.3в.

Макетная плата-на ней вы будете монтировать радио модуль и подключать его к Arduino. Резистор 22кОм- значение его не особо критично. Провода для соединения радио модуля. OTG переходник для вашего андроид устройства.

OTG
Hubsan-пульт дистанционного управления-это не обязательно, но удобно.

Создание каркаса.

Каркас изготавливается из бамбуковых палочек, скрепленных крест на крест с трубочками от коктейлей. Все это склеивается вместе супер клеем.
1: Распечатайте шаблон SVG в прикрепленном файле. Он сложнее, чем должен быть, но также используется для строительства октокоптера. Шаблон нужен, чтобы сделать правильный квадрат.

2. Отрежьте нитку по длине вашего предплечья.

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

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

5. Возьмите еще две палочки для канапе и закрепите их как в предыдущем шаге , только на расстоянии 4 пальцев от ранее прикрепленных. Точное расстояние не важно, вы исправите его далее.

6. Положите шаблон на ровную поверхность, лучше использовать стекло.

7. Разместите ваши связанные вместе палочки, как показано на фото.

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

8 Пропитайте все ваши нити, связывающие палочки, супер клеем. Надо пропитать нити насквозь, стремитесь не сдвигать при этом ваш каркас. Подождите 2 минуты и переверните ваш шаблон, чтобы пропитать нитки клеем с обратной стороны. Еще через две минуты первая квадратный кронштейн будет готов готова.

9. Повторите все тоже самое для второго кронштейна.

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

11. Обрежьте палочки примерно на длину 2 см с обеих сторон.

12. Отрежьте 4 палочки по 1.5 см , склейте их вместе квадратом, особо прочная склейка не нужна, это будет кронштейн для платы и батареи питания.

Следующий этап состоит из пайки ваших 4 моторов к плате 4Х приемника. Первое, что надо – это припаять провода питания на нижнюю часть платы. Далее мы будем ссылаться на эту ориентацию (плата лежит на “спине”)

Как подключать моторы.

На Hubsan х 4 платах есть контактные площадки для подключения светодиодов и моторов. Те, что для светодиодов имеют обозначение LED, туда НЕНАДО подключать моторы. Контакты для моторов помечены ve[/b]и–ve.[/b]

Возьмите один из ваших 4 моторов с черным и белым проводами и припаяйте их кЛЕВЫМ НИЖНИМ[/b]контактам платы, белым проводом к левому контакту пары. Возьмите мотор с красным и синим проводами и припаяйте его кЛЕВЫМ ВЕРХНИМ[/b]контактам, красным проводом к левому контакту пары.. Возьмите мотор с черными и белыми проводами и припаяйте их кПРАВЫМ ВЕРХНИМ[/b]контактам, черным проводом к левому контакту. Возьмите мотор с красным и синим проводами и припаяйте его кПРАВЫМ НИЖНИМ[/b]контактам, красным проводом к левому контакту пары.

В схеме подключения белый провод это черная пунктирная линия. Провода надо закрепить каплей горячего клея. Закрепите моторы двумя полосками изоленты шириной 5мм. Не стоит особо волноваться по поводу одинакового расположения моторов по высоте. После того,как моторы закреплены, надо надеть на оси пропеллеры. Используйте белый пропеллер для “переда”с противоположной стороны от проводов батареи) и чёрный пропеллер для”зада”. Это не так просто, как кажется, так. как одни лопасти сделаны для вращения по часовой стрелке, а другие , для вращения против часовой стрелки. На лопастях есть обозначения. Используйте лопасти с буквой “А[/b]” для левого верхнего и правого нижнего моторов. С буквой “В[/b]”, соответственно, для правого верхнего и левого нижнего моторов. Теперь вы можете прикрепить батарею к нижней части платы, автор использует для этой части резинку. Если у вас есть оригинальный hubsan контроллер, вы сможете поднять квадро в воздух. Если вертолёт трясёт в воздухе, значит, моторы стоят не строго вертикально. Подкладывая кусочки свернутой бумаги, можно выравнять моторы.

Сборка радиоуправления на arduino.

Этот пункт проекта расскажет как управлять вертолетом с помощью Андроид устройства,через последовательный порт Arduino.

Вам нужны 6 контактов на плате А7105. Слева GND. Справа-SDIO, SCK, SCS, GND, VCC.

Припаяйте жесткий одножильный провод, длиной 2 см, к каждому указанному выводу. Вставьте А7105 в макетную плату, так как показано на фото. Соедините выводы GND на плате arduino и два на А7105. Соедините вывод 3.3V на Arduino c выводом VCC на плате А7105. На разъеме SPI Arduino, соедините вывод MOSI с одним из выводов резистора , другой конец резистора соедините с пином SIDO на А7501.

По этой ссылке можно посмотреть где находится вывод MOSI
Вывод SCK Arduino c выводом SCK А7105 , SCS с платы А7105 на пин 10 Arduino . Синий резистор на фото не является частью проекта.

Arduino софт

Нижеследующий скетч использует хакнутую версию PhracturedBlue’s hubsan X4 и A7105 оригинал кода можно посмотреть здесь.

Подключить Ваш DUO к компьютеру через ‘Programming Port’. Скачайте зип фаил, загрузите скетч в Arduino и выгрузите его в DUO. Этот скетч обрабатывает команды с последовательного порта и преобразует их в команды платы управления вашего квадрокоптера. Этот скетч связывается с платой Hubsan по радио без последовательного порта, так что, если включите ваш коптер, а затем Arduino, и огни на коптере перестанут моргать, значит все в порядке.

Программное обеспечение для Андроид

Это программноеобеспечениедает вам простой контролер полета на базе андроид устройства. Для управления используется акселерометр и сенсорный экран вашего устройства. Планшет или телефон будет обмениваться данными с Arduino через порт USB.

Установка софта:
1 Надо разрешить отладку по USB и разрешить установку приложений не google play. Скачать приложение можно здесь
2Подключитесвое устройство через переходник OTG к Arduino, он будетзапитыватьсяот вашего телефона или планшета, поэтому проверьте, чтобы аккумулятор был полностью заряжен.
3 Подключите аккумулятор к коптеру и положите его на плоскую поверхность. Если огни перестали моргать, значит все в порядке.
4 Большой палец левой руки медленно сдвиньте по экрану, пропеллеры должны начать вращаться. Уберите палец и пропеллеры остановятся.
5 Проделайте все тоже самое, только разместите большой палец правой руки тоже на экране. Это позволит вам управлять вертолетом с помощью акселерометра, наклоняя ваше устройство вперед/назад, влево/вправо. Перемещая большой палец правой руки влево или вправо, вы будете закручивать вертолет влево или вправо вокруг оси. Если убрать правую руку с экрана, вертолет должен выровняться, не зависимо от положения акселерометра. Попробуйте. Перемещайте палец левой руки до тех пор, пока вертолет не взлетит. Помните – если убрать оба пальца- моторы остановятся.

Программное обеспечение для ПК
В архиве программа, которая управляет коптером через последовательный порт. Управляется коптер с помощью курсорных кнопок, и кнопок “A”/”Z”- дроссель. Автор сделал попытку заставить следовать коптер за объектом определенного цвета, но это пока не работает. Обещал выкладывать обновления.

Устройство бортового компьютера

Компоненты устройства:1. Платформа Arduino2. Модуль гироскопа акселерометра высотомера3. Модуль записи на SD-карте SD-карта4. Батарея питания5. Тумблер отключения питания6. Кнопка для сброса высоты7. Светодиоды-индикаторы взвода и зажигания8. Реле для замыкания внешней цепи при зажигании9. Несколько резисторов, указанных на схеме

Принципы работы устройства:1. Устройство непрерывно замеряет текущую высоту с помощью датчика высоты, и вычисляет среднее значение за последние 16 измерений — скользящее среднее (это нужно для сглаживания колебаний измерения, так как они довольно сильно «скачут»).2.

Если нажата кнопка сброса высоты, текущее скользящее среднее высоты берётся в качестве начала отсчёта, и, в дальнейшем измеряется так называемая «высота от точки старта» — это высота за вычетом данного начала отсчёта. Соответственно, в месте, где кнопка была нажата, будет 0 этой высоты.3.

В ходе вычислений замеряется максимальная «высота от точки старта», после достижения которой 10 метров (например), устройство переходит в состояние «взвод», максимальная высота продолжает замеряться (любая измеренная высота больше максимальной — объявляется новой максимальной), при этом зажигается светодиод взвода4.

Если, находясь в состоянии «взвод» замерянная высота окажется меньше максимальной на 1 метр (например), устройство переходит в состояние «запуск», замыкая реле, и зажигая светодиод запуска. Светодиод взвода при этом гасится. Реле может выполнить любую работу, например, подать напряжение на сервопривод, выпускающий парашют.5.

Общая схема подключения компонентов:

Модули, необходимые для приложения:

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

Библиотека BMP085:BMP085.cppBMP085.h

Библиотека HMC5883LHMC5883L.cppHMC5883L.h

Библиотека I2CI2Cdev.cpp I2Cdev.h

Библиотека MPU6050MPU6050.cpp MPU6050.h

Все эти модули можно найти вместе с основным файлом программы в репозитории.

Код приложения:

#include <Wire.h>#include "BMP085.h"#include "I2Cdev.h"#include "MPU6050.h"#include "HMC5883L.h"#include <SPI.h>#include <Wire.h>#include "BMP085.h"#include "I2Cdev.h"#include "MPU6050.h"#include "HMC5883L.h"#include <SPI.h>#include <SD.h>
 
#define TRUE 1#define FALSE 0
 
File myFile;
 
HMC5883L compass;
BMP085 pressure_m;
MPU6050 accelgyro;
 
//Контакт, куда подключено рэле#define EXEC_PIN 3//Контакт, куда подключена кнопка "сброс высоты"#define RESET_ALT_PIN 6//Контакт, куда подключен светодиод "взвод" (красный)#define ARMED_PIN 9//Время в течении которого надо держать рэле замкнутым, в миллисекундах#define FIRE_TIME 6000//Количество итераций для вычисления скользящего среднего высоты (лучше, чтобы было степенью двойки)#define RUN_ALT_NUM 16
 
//Контакт, куда подключена кнопка "положение X"#define POS_X_PIN 7//Контакт, куда подключена кнопка "положение Y"#define POS_Y_PIN 8//Контакт, куда подключена кнопка "положение Z"#define POS_Z_PIN 10
 
 
int16_t ax, ay, az;int16_t gx, gy, gz;
bool blinkState =false;double dt =;long counter =;double t0 =-1;double millis_t =;double io_t =;double io_dt =40;double fired_millis_t =;
 
float base_altitude =;
 
float run_alt[RUN_ALT_NUM];int run_alt_index =;int last_run_alt_index =;int run_alt_count =;float run_alt_summ =;
 
bool is_prepared = FALSE;
bool is_armed = FALSE;
bool is_fired = FALSE;
bool is_led_armed = FALSE;
bool is_led_fired = FALSE;
bool is_done = FALSE;
 
float arming_altitude =10;float fire_minus_altitude =1;float max_altitude =;
 
char filename[]="GY88_000.TXT";
 
void reset_running_alt();void reset_alt(float current_alt);
 
/**
 * Сгенерировать имя файла
 */void generateFileName(){for(int i =; i<1000; i){
    filename[5]= i/100'0';
    filename[6]=(i%100)/10'0';
    filename[7]=(i%10)'0';if(SD.exists(filename))continue;
    Serial.print("File: ");
    Serial.println(filename);break;}}
 
/**
 * Отладочная функция, вычисляет сумму скользящего среднего "по-настоящему"
 */float debug_get_alt_summ(){float summ =;for(int i=; i< run_alt_count; i){
    summ  = run_alt[i];}return summ;}
 
void setup(){//Настраиваем режимы работы для цифровых контактов
    pinMode(EXEC_PIN, OUTPUT);
    pinMode(RESET_ALT_PIN, INPUT);
    pinMode(ARMED_PIN, OUTPUT);//Сбрасываем значения для скользящего среднего по высоте
    reset_running_alt();
 
    //Включаем последовательный порт на максимальную скорость
    Serial.begin(230400);//while (!Serial) {;// wait for serial port to connect. Needed for native USB port only//}    
 
    Serial.print("Initializing SD card...");
 
    if(!SD.begin(4)){
      Serial.println("initialization failed!");return;}
    Serial.println("initialization done.");
 
    //Сгенерируем имя файла
    generateFileName();
    myFile = SD.open(filename, O_WRITE | O_CREAT);
 
    //Включаем протокол Wire
    Wire.begin();
    TWBR =24;
    Serial.println("Initializing I2C devices...");//инициализируем акселерометр с гироскопом
    accelgyro.initialize();
    accelgyro.setMasterClockSpeed(13);
    accelgyro.setI2CMasterModeEnabled(true);//инициализируем компас
    compass = HMC5883L();
    setupHMC5883L(); 
 
    //проверяем содеинение
    Serial.println("Testing device connections...");
    Serial.println(accelgyro.testConnection()?"MPU6050 connection successful":"MPU6050 connection failed");
 
    //калибруем датчик давления
    pressure_m.bmp085Calibration();}
 
void loop(){
  millis_t = millis();//Считаем температуру (её знает датчик давления)float temperature = pressure_m.bmp085GetTemperature();//MUST be called first//Считаем давлениеfloat pressure = pressure_m.bmp085GetPressure();//Вычислим высоту над уровнем моряfloat altitude = pressure_m.calcAltitude(pressure);float altitude_b = altitude - base_altitude;
 
  //Проведём вычисления для скользящего среднего по высоте
  run_alt[run_alt_index]= altitude_b;//run_alt_summ  = altitude_b;if(run_alt_count == RUN_ALT_NUM){
    last_run_alt_index =(run_alt_index ==)? RUN_ALT_NUM -1: run_alt_index -1;//run_alt_summ -= run_alt[last_run_alt_index];}else{
    run_alt_count  =1;}
  run_alt_index =(run_alt_index 1== RUN_ALT_NUM)?: run_alt_index 1;
 
  //Временно вычисляем медленным методом
  run_alt_summ = debug_get_alt_summ();
 
  float run_altitude = run_alt_summ /(float) run_alt_count;
 
  //Вычислим dt (интервал между замерами в миллисекундах)if(t0 <){
    t0 = millis_t;}else{
    dt = millis_t - t0;
    t0 = millis_t;}
 
  if(run_altitude > max_altitude){
    max_altitude = run_altitude;}
 
 
  if(millis_t - io_t > io_dt){
    io_t = millis_t;if(digitalRead(RESET_ALT_PIN)== HIGH){
      reset_alt(altitude);}
 
 
 
    if(!is_done){if(!is_fired){if(is_prepared){if(!is_armed){if(max_altitude > arming_altitude){
              is_armed = TRUE;}}else{if(max_altitude - run_altitude > fire_minus_altitude){
              is_armed = FALSE;
              is_fired = TRUE;
              fired_millis_t = millis_t;}}}}else{if(millis_t - fired_millis_t > FIRE_TIME){
          is_fired = FALSE;
          is_done = TRUE;
          is_prepared = FALSE;}}}
 
    if(is_armed != is_led_armed){
      is_led_armed = is_armed;
      digitalWrite(ARMED_PIN, is_armed ? HIGH : LOW);}
 
    if(is_fired != is_led_fired){
      is_led_fired = is_fired;
      digitalWrite(EXEC_PIN, is_fired ? HIGH : LOW);}
 
  }
 
  //Интервал между замерами
  Serial.print("dt:"); Serial.print(dt /1000,3);
  myFile.print("dt:"); myFile.print(dt /1000,3);//Сколько времени прошло с запуска?
  Serial.print(" tm:"); Serial.print(millis_t);
  myFile.print(" tm:"); myFile.print(millis_t);//Температура, в градусах цельсия
  Serial.print(" t:"); Serial.print(temperature,2); 
  myFile.print(" t:"); myFile.print(temperature,2);//Давление, в паскалях
  Serial.print(" p:"); Serial.print(pressure,); 
  myFile.print(" p:"); myFile.print(pressure,);//Высота над уровнем моря, в метрах
  Serial.print(" alt:"); Serial.print(altitude,2); 
  myFile.print(" alt:"); myFile.print(altitude,2);//Высота над базовым уровнем, в метрах
  Serial.print(" altb:"); Serial.print(altitude_b,2); 
  myFile.print(" altb:"); myFile.print(altitude_b,2);//Высота над базовым уровнем, в метрах, скользящее среднее
  Serial.print(" altr:"); Serial.print(run_altitude,2); 
  myFile.print(" altr:"); myFile.print(run_altitude,2);//Высота над базовым уровнем, в метрах, максимальная
  Serial.print(" Malt:"); Serial.print(max_altitude,2); 
  myFile.print(" Malt:"); myFile.print(max_altitude,2);
 
  //Статусы:
  Serial.print(" P"); Serial.print(is_prepared ?"1":"0"); 
  myFile.print(" P"); myFile.print(is_prepared ?"1":"0");
  Serial.print(" A"); Serial.print(is_armed ?"1":"0"); 
  myFile.print(" A"); myFile.print(is_armed ?"1":"0");
  Serial.print(" F"); Serial.print(is_fired ?"1":"0"); 
  myFile.print(" F"); myFile.print(is_fired ?"1":"0");
  Serial.print(" D"); Serial.print(is_done ?"1":"0"); 
  myFile.print(" D"); myFile.print(is_done ?"1":"0");
 
  //Считаем значения с магнитометра
  MagnetometerScaled scaled = compass.ReadScaledAxis();//Считаем значения с акселерометра и гироскопа
  accelgyro.getMotion6(&ax,&ay,&az,&gx,&gy,&gz);
 
  //Данные акселерометра:
  Serial.print(" ax:"); Serial.print(ax);
  Serial.print(" ay:"); Serial.print(ay);
  Serial.print(" az:"); Serial.print(az);
  myFile.print(" ax:"); myFile.print(ax);
  myFile.print(" ay:"); myFile.print(ay);
  myFile.print(" az:"); myFile.print(az);//Данные гироскопа
  Serial.print(" wx:"); Serial.print(gx);
  Serial.print(" wy:"); Serial.print(gy);
  Serial.print(" wz:"); Serial.print(gz);
  myFile.print(" wx:"); myFile.print(gx);
  myFile.print(" wy:"); myFile.print(gy);
  myFile.print(" wz:"); myFile.print(gz);//Данные магнитометра    
  Serial.print(" cx:"); Serial.print(scaled.XAxis,3);
  Serial.print(" cy:"); Serial.print(scaled.YAxis,3);
  Serial.print(" cz:"); Serial.print(scaled.ZAxis,3);
  Serial.println();
  myFile.print(" cx:"); myFile.print(scaled.XAxis,3);
  myFile.print(" cy:"); myFile.print(scaled.YAxis,3);
  myFile.print(" cz:"); myFile.print(scaled.ZAxis,3);
  myFile.println();
 
  myFile.flush();}
 
//Настройка модуля HMC5883L (компаса)void setupHMC5883L(){//Setup the HMC5883L, and check for errorsint error;  
  error = compass.SetScale(1.3);//Set the scale of the compass.if(error !=) Serial.println(compass.GetErrorText(error));//check if there is an error, and print if so
 
  error = compass.SetMeasurementMode(Measurement_Continuous);// Set the measurement mode to Continuousif(error !=) Serial.println(compass.GetErrorText(error));//check if there is an error, and print if so}
 
/**
 * Сброс высоты и перевод в состояние готовности - выполняется по нажатию кнопки
 */void reset_alt(float current_alt){
  base_altitude = current_alt;
  is_prepared = TRUE;
  is_armed = FALSE;
  max_altitude =;  
  reset_running_alt();}
 
/**
 * Сброс скользящего среднего для высоты
 */void reset_running_alt(){
  run_alt_index =;
  run_alt_count =;
  run_alt_summ =;
  last_run_alt_index =;for(int i =; i<RUN_ALT_NUM; i){
      run_alt[i]=;}}

#include <Wire.h>
#include “BMP085.h”
#include “I2Cdev.h”
#include “MPU6050.h”
#include “HMC5883L.h”
#include <SPI.h>
#include <Wire.h>
#include “BMP085.h”
#include “I2Cdev.h”
#include “MPU6050.h”
#include “HMC5883L.h”
#include <SPI.h>
#include <SD.h>

#define TRUE 1
#define FALSE 0

File myFile;

HMC5883L compass;
BMP085 pressure_m;
MPU6050 accelgyro;

//Контакт, куда подключено рэле
#define EXEC_PIN 3
//Контакт, куда подключена кнопка “сброс высоты”
#define RESET_ALT_PIN 6
//Контакт, куда подключен светодиод “взвод” (красный)
#define ARMED_PIN 9
//Время в течении которого надо держать рэле замкнутым, в миллисекундах
#define FIRE_TIME 6000
//Количество итераций для вычисления скользящего среднего высоты (лучше, чтобы было степенью двойки)
#define RUN_ALT_NUM 16

//Контакт, куда подключена кнопка “положение X”
#define POS_X_PIN 7
//Контакт, куда подключена кнопка “положение Y”
#define POS_Y_PIN 8
//Контакт, куда подключена кнопка “положение Z”
#define POS_Z_PIN 10

int16_t ax, ay, az;
int16_t gx, gy, gz;
bool blinkState = false;
double dt = 0;
long counter = 0;
double t0 = -1;
double millis_t = 0;
double io_t = 0;
double io_dt = 40;
double fired_millis_t = 0;

float base_altitude = 0;

float run_alt[RUN_ALT_NUM];
int run_alt_index = 0;
int last_run_alt_index = 0;
int run_alt_count = 0;
float run_alt_summ = 0;

bool is_prepared = FALSE;
bool is_armed = FALSE;
bool is_fired = FALSE;
bool is_led_armed = FALSE;
bool is_led_fired = FALSE;
bool is_done = FALSE;

float arming_altitude = 10;
float fire_minus_altitude = 1;
float max_altitude = 0;

char filename[] = “GY88_000.TXT”;

void reset_running_alt();
void reset_alt(float current_alt);

/**
* Сгенерировать имя файла
*/
void generateFileName()
{
for (int i = 0; i< 1000; i )
{
filename[5] = i/100 ‘0’;
filename[6] = (i0)/10 ‘0’;
filename[7] = (i) ‘0’;
if (SD.exists(filename)) continue;
Serial.print(“File: “);
Serial.println(filename);
break;
}
}

/**
* Отладочная функция, вычисляет сумму скользящего среднего “по-настоящему”
*/
float debug_get_alt_summ()
{
float summ = 0;
for (int i=0; i< run_alt_count; i )
{
summ = run_alt[i];
}
return summ;
}

void setup(){
//Настраиваем режимы работы для цифровых контактов
pinMode(EXEC_PIN, OUTPUT);
pinMode(RESET_ALT_PIN, INPUT);
pinMode(ARMED_PIN, OUTPUT);
//Сбрасываем значения для скользящего среднего по высоте
reset_running_alt();

//Включаем последовательный порт на максимальную скорость
Serial.begin(230400);
//while (!Serial) {
; // wait for serial port to connect. Needed for native USB port only
//}

Serial.print(“Initializing SD card…”);

if (!SD.begin(4)) {
Serial.println(“initialization failed!”);
return;
}
Serial.println(“initialization done.”);

//Сгенерируем имя файла
generateFileName();
myFile = SD.open(filename, O_WRITE | O_CREAT);

//Включаем протокол Wire
Wire.begin();
TWBR = 24;
Serial.println(“Initializing I2C devices…”);
//инициализируем акселерометр с гироскопом
accelgyro.initialize();
accelgyro.setMasterClockSpeed(13);
accelgyro.setI2CMasterModeEnabled(true);
//инициализируем компас
compass = HMC5883L();
setupHMC5883L();

//проверяем содеинение
Serial.println(“Testing device connections…”);
Serial.println(accelgyro.testConnection() ? “MPU6050 connection successful” : “MPU6050 connection failed”);

//калибруем датчик давления
pressure_m.bmp085Calibration();
}

void loop()
{
millis_t = millis();
//Считаем температуру (её знает датчик давления)
float temperature = pressure_m.bmp085GetTemperature(); //MUST be called first
//Считаем давление
float pressure = pressure_m.bmp085GetPressure();
//Вычислим высоту над уровнем моря
float altitude = pressure_m.calcAltitude(pressure);
float altitude_b = altitude – base_altitude;

//Проведём вычисления для скользящего среднего по высоте
run_alt[run_alt_index] = altitude_b;
//run_alt_summ = altitude_b;
if (run_alt_count == RUN_ALT_NUM)
{
last_run_alt_index = (run_alt_index == 0) ? RUN_ALT_NUM – 1 : run_alt_index – 1;
//run_alt_summ -= run_alt[last_run_alt_index];
}
else
{
run_alt_count =1;
}
run_alt_index = (run_alt_index 1 == RUN_ALT_NUM) ? 0 : run_alt_index 1;

//Временно вычисляем медленным методом
run_alt_summ = debug_get_alt_summ();

float run_altitude = run_alt_summ / (float) run_alt_count;

//Вычислим dt (интервал между замерами в миллисекундах)
if (t0 < 0)
{
t0 = millis_t;
}
else
{
dt = millis_t – t0;
t0 = millis_t;
}

if (run_altitude > max_altitude)
{
max_altitude = run_altitude;
}

if (millis_t – io_t > io_dt)
{
io_t = millis_t;
if (digitalRead(RESET_ALT_PIN) == HIGH)
{
reset_alt(altitude);
}

if (!is_done)
{
if (!is_fired)
{
if (is_prepared)
{
if (!is_armed)
{
if (max_altitude > arming_altitude)
{
is_armed = TRUE;
}
}
else
{
if (max_altitude – run_altitude > fire_minus_altitude)
{
is_armed = FALSE;
is_fired = TRUE;
fired_millis_t = millis_t;
}
}
}
}
else
{
if (millis_t – fired_millis_t > FIRE_TIME)
{
is_fired = FALSE;
is_done = TRUE;
is_prepared = FALSE;
}
}
}

if (is_armed != is_led_armed)
{
is_led_armed = is_armed;
digitalWrite(ARMED_PIN, is_armed ? HIGH : LOW);
}

if (is_fired != is_led_fired)
{
is_led_fired = is_fired;
digitalWrite(EXEC_PIN, is_fired ? HIGH : LOW);
}

}

//Интервал между замерами
Serial.print(“dt:”); Serial.print(dt / 1000, 3);
myFile.print(“dt:”); myFile.print(dt / 1000, 3);
//Сколько времени прошло с запуска?
Serial.print(” tm:”); Serial.print(millis_t);
myFile.print(” tm:”); myFile.print(millis_t);
//Температура, в градусах цельсия
Serial.print(” t:”); Serial.print(temperature, 2);
myFile.print(” t:”); myFile.print(temperature, 2);
//Давление, в паскалях
Serial.print(” p:”); Serial.print(pressure, 0);
myFile.print(” p:”); myFile.print(pressure, 0);
//Высота над уровнем моря, в метрах
Serial.print(” alt:”); Serial.print(altitude, 2);
myFile.print(” alt:”); myFile.print(altitude, 2);
//Высота над базовым уровнем, в метрах
Serial.print(” altb:”); Serial.print(altitude_b, 2);
myFile.print(” altb:”); myFile.print(altitude_b, 2);
//Высота над базовым уровнем, в метрах, скользящее среднее
Serial.print(” altr:”); Serial.print(run_altitude, 2);
myFile.print(” altr:”); myFile.print(run_altitude, 2);
//Высота над базовым уровнем, в метрах, максимальная
Serial.print(” Malt:”); Serial.print(max_altitude, 2);
myFile.print(” Malt:”); myFile.print(max_altitude, 2);

//Статусы:
Serial.print(” P”); Serial.print(is_prepared ? “1” : “0”);
myFile.print(” P”); myFile.print(is_prepared ? “1” : “0”);
Serial.print(” A”); Serial.print(is_armed ? “1” : “0”);
myFile.print(” A”); myFile.print(is_armed ? “1” : “0”);
Serial.print(” F”); Serial.print(is_fired ? “1” : “0”);
myFile.print(” F”); myFile.print(is_fired ? “1” : “0”);
Serial.print(” D”); Serial.print(is_done ? “1” : “0”);
myFile.print(” D”); myFile.print(is_done ? “1” : “0”);

//Считаем значения с магнитометра
MagnetometerScaled scaled = compass.ReadScaledAxis();
//Считаем значения с акселерометра и гироскопа
accelgyro.getMotion6(&ax, &ay, &az, &gx, &gy, &gz);

//Данные акселерометра:
Serial.print(” ax:”); Serial.print(ax);
Serial.print(” ay:”); Serial.print(ay);
Serial.print(” az:”); Serial.print(az);
myFile.print(” ax:”); myFile.print(ax);
myFile.print(” ay:”); myFile.print(ay);
myFile.print(” az:”); myFile.print(az);
//Данные гироскопа
Serial.print(” wx:”); Serial.print(gx);
Serial.print(” wy:”); Serial.print(gy);
Serial.print(” wz:”); Serial.print(gz);
myFile.print(” wx:”); myFile.print(gx);
myFile.print(” wy:”); myFile.print(gy);
myFile.print(” wz:”); myFile.print(gz);
//Данные магнитометра
Serial.print(” cx:”); Serial.print(scaled.XAxis, 3);
Serial.print(” cy:”); Serial.print(scaled.YAxis, 3);
Serial.print(” cz:”); Serial.print(scaled.ZAxis, 3);
Serial.println();
myFile.print(” cx:”); myFile.print(scaled.XAxis, 3);
myFile.print(” cy:”); myFile.print(scaled.YAxis, 3);
myFile.print(” cz:”); myFile.print(scaled.ZAxis, 3);
myFile.println();

myFile.flush();
}

//Настройка модуля HMC5883L (компаса)
void setupHMC5883L(){
//Setup the HMC5883L, and check for errors
int error;
error = compass.SetScale(1.3); //Set the scale of the compass.
if(error != 0) Serial.println(compass.GetErrorText(error)); //check if there is an error, and print if so

error = compass.SetMeasurementMode(Measurement_Continuous); // Set the measurement mode to Continuous
if(error != 0) Serial.println(compass.GetErrorText(error)); //check if there is an error, and print if so
}

/**
* Сброс высоты и перевод в состояние готовности – выполняется по нажатию кнопки
*/
void reset_alt(float current_alt)
{
base_altitude = current_alt;
is_prepared = TRUE;
is_armed = FALSE;
max_altitude = 0;
reset_running_alt();
}

/**
* Сброс скользящего среднего для высоты
*/
void reset_running_alt()
{
run_alt_index = 0;
run_alt_count = 0;
run_alt_summ = 0;
last_run_alt_index = 0;
for (int i =0; i<RUN_ALT_NUM; i )
{
run_alt[i]=0;
}
}

Данные, выдаваемые программой, должны быть примерно такими:

dt:0.048 tm:5760.00 t:26.80 p:100898 alt:35.61 altb:35.61 altr:35.60 Malt:35.60 P0 A0 F0 D0 ax:-1084 ay:16 az:-15708 wx:-282 wy:66 wz:-68 cx:24508.800 cy:7121.720 cz:3551.200
dt:0.047 tm:5807.00 t:26.80 p:100898 alt:35.61 altb:35.61 altr:35.61 Malt:35.61 P0 A0 F0 D0 ax:-1132 ay:100 az:-16276 wx:-282 wy:213 wz:-81 cx:24508.800 cy:7121.720 cz:3551.200
dt:0.048 tm:5855.00 t:26.80 p:100898 alt:35.61 altb:35.61 altr:35.63 Malt:35.63 P0 A0 F0 D0 ax:-1016 ay:16 az:-15740 wx:-279 wy:149 wz:-78 cx:24508.800 cy:7121.720 cz:3551.200
dt:0.047 tm:5902.00 t:26.80 p:100895 alt:35.86 altb:35.86 altr:35.66 Malt:35.66 P0 A0 F0 D0 ax:-1152 ay:-48 az:-15596 wx:-247 wy:60 wz:-60 cx:24508.800 cy:7121.720 cz:3551.200
dt:0.047 tm:5949.00 t:26.80 p:100904 alt:35.11 altb:35.11 altr:35.64 Malt:35.66 P0 A0 F0 D0 ax:-1080 ay:-52 az:-15704 wx:-276 wy:54 wz:-61 cx:24508.800 cy:7121.720 cz:3551.200
dt:0.047 tm:5996.00 t:26.80 p:100902 alt:35.27 altb:35.27 altr:35.62 Malt:35.66 P0 A0 F0 D0 ax:-1152 ay:-44 az:-15652 wx:-290 wy:69 wz:-79 cx:24508.800 cy:7121.720 cz:3551.200
dt:0.047 tm:6043.00 t:26.80 p:100900 alt:35.44 altb:35.44 altr:35.60 Malt:35.66 P0 A0 F0 D0 ax:-1128 ay:-8 az:-15496 wx:-281 wy:37 wz:-70 cx:24508.800 cy:7121.720 cz:3551.200
dt:0.047 tm:6090.00 t:26.80 p:100897 alt:35.69 altb:35.69 altr:35.60 Malt:35.66 P0 A0 F0 D0 ax:-1048 ay:24 az:-15620 wx:-280 wy:59 wz:-75 cx:24508.800 cy:7121.720 cz:3551.200
dt:0.047 tm:6137.00 t:26.80 p:100902 alt:35.27 altb:35.27 altr:35.55 Malt:35.66 P0 A0 F0 D0 ax:-1164 ay:0 az:-15736 wx:-292 wy:73 wz:-69 cx:24508.800 cy:7121.720 cz:3551.200
dt:0.047 tm:6184.00 t:26.80 p:100899 alt:35.52 altb:35.52 altr:35.56 Malt:35.66 P0 A0 F0 D0 ax:-1088 ay:204 az:-15404 wx:-296 wy:-9 wz:-38 cx:24508.800 cy:7121.720 cz:3551.200
dt:0.048 tm:6232.00 t:26.80 p:100897 alt:35.69 altb:35.69 altr:35.57 Malt:35.66 P0 A0 F0 D0 ax:-1220 ay:-340 az:-15976 wx:-261 wy:32 wz:-106 cx:24508.800 cy:7121.720 cz:3551.200
dt:0.048 tm:6280.00 t:26.80 p:100902 alt:35.27 altb:35.27 altr:35.59 Malt:35.66 P0 A0 F0 D0 ax:-880 ay:144 az:-15828 wx:-289 wy:120 wz:-76 cx:24508.800 cy:7121.720 cz:3551.200
dt:0.047 tm:6327.00 t:26.80 p:100906 alt:34.94 altb:34.94 altr:35.53 Malt:35.66 P0 A0 F0 D0 ax:-1300 ay:52 az:-15292 wx:-274 wy:97 wz:-71 cx:24508.800 cy:7121.720 cz:3551.200
dt:0.047 tm:6374.00 t:26.80 p:100903 alt:35.19 altb:35.19 altr:35.50 Malt:35.66 P0 A0 F0 D0 ax:-1072 ay:-76 az:-15452 wx:-264 wy:55 wz:-74 cx:24508.800 cy:7121.720 cz:3551.200
dt:0.047 tm:6421.00 t:26.80 p:100905 alt:35.02 altb:35.02 altr:35.44 Malt:35.66 P0 A0 F0 D0 ax:-1040 ay:-4 az:-15844 wx:-297 wy:70 wz:-80 cx:24508.800 cy:7121.720 cz:3551.200
dt:0.047 tm:6468.00 t:26.80 p:100901 alt:35.36 altb:35.36 altr:35.40 Malt:35.66 P0 A0 F0 D0 ax:-1108 ay:64 az:-15644 wx:-294 wy:88 wz:-65 cx:24508.800 cy:7121.720 cz:3551.200
dt:0.047 tm:6515.00 t:26.80 p:100901 alt:35.36 altb:35.36 altr:35.39 Malt:35.66 P0 A0 F0 D0 ax:-1136 ay:80 az:-15628 wx:-287 wy:75 wz:-62 cx:24508.800 cy:7121.720 cz:3551.200
dt:0.047 tm:6562.00 t:26.80 p:100903 alt:35.19 altb:35.19 altr:35.36 Malt:35.66 P0 A0 F0 D0 ax:-1120 ay:-136 az:-15608 wx:-256 wy:37 wz:-76 cx:24508.800 cy:7121.720 cz:3551.200
dt:0.047 tm:6609.00 t:26.80 p:100895 alt:35.86 altb:35.86 altr:35.38 Malt:35.66 P0 A0 F0 D0 ax:-1032 ay:-8 az:-15600 wx:-283 wy:81 wz:-68 cx:24508.800 cy:7121.720 cz:3551.200
dt:0.048 tm:6657.00 t:26.80 p:100900 alt:35.44 altb:35.44 altr:35.35 Malt:35.66 P0 A0 F0 D0 ax:-1112 ay:-16 az:-15612 wx:-283 wy:59 wz:-77 cx:24508.800 cy:7121.720 cz:3551.200
dt:0.048 tm:6705.00 t:26.80 p:100901 alt:35.36 altb:35.36 altr:35.37 Malt:35.66 P0 A0 F0 D0 ax:-1084 ay:64 az:-15624 wx:-282 wy:73 wz:-66 cx:24508.800 cy:7121.720 cz:3551.200

Что означают данные:dt — интервал времени в миллисекундах с прошлого замераtm — количество миллисекунд, прошедшее с включения устройстваt — температура воздухаp — давление воздухаalt — высота по данным датчика-высотомераaltb — высота за вычетом «базовой» высоты, полученной при нажатии кнопкиaltr — скользящее среднее по последним 16 замерам высота altbЗначения-флаги (могут принимать значение 0 или 1, что означает НЕТ и ДА)

P — Была ли нажата кнопка установки базовой высоты, т.е. подготовлено ли устройство? (Prepared)A — Взведено ли устройство? Т.е. пройдена ли точка минимальной необходимой для взвода высоты (10 метров) (Armed)F — Активировано ли реле? т.е. выполнено ли условие снижения не 1 метр относительно максимальной набранной высоты?

(Fired)D — Закончена ли работа устройства? Этот флаг включается, когда выключается флаг F. После этого устройство больше никаких функций выполнять не будет, и для работы с ним его потребуется либо перезагрузить либо выключить и включить снова.

Оцените статью
Радиокоптер.ру
Добавить комментарий