ArduCopter Mega: порт на обычную Arduino (тестим)

Олег24
RA4ASN:

Ну, удален-то код из последних версий, но Вы можете оценить работу OpticalFlow, установив одну из предыдущих.

Ели не трудно, скажите в какой ? и куда его подключить…

RA4ASN

Лично я не использовал этот режим , но в каком архиве есть папка libraries\AP_OpticalFlow, там есть и поддержка. Вроде бы когда-то в теме писали об применении оптики, поищите.
А вот с подключением скорее всего будет проблема, т.к. специально выведенного разъема под оптику на Вашей плате нет, скорее всего придется подпаиваться к меге.

Dreddix

День добрый, вот и первые проблемы.
Скачал Ардуино 1.0.1
Скачал ArduplaneNG2x
Заменил библиотеки из ардусамик в Ардуино
открыл саму прошивку, нажал Проверить/Компилировать- выдало кучу ошибок.

ошибки

C:\Documents and Settings\eemasvi.TPC\Desktop\megapirat\arduino-1.0.1\libraries\DataFlash\DataFlash_APM1.cpp: In function ‘void dataflash_CS_inactive()’:
C:\Documents and Settings\eemasvi.TPC\Desktop\megapirat\arduino-1.0.1\libraries\DataFlash\DataFlash_APM1.cpp:80: error: ‘HIGH’ was not declared in this scope
C:\Documents and Settings\eemasvi.TPC\Desktop\megapirat\arduino-1.0.1\libraries\DataFlash\DataFlash_APM1.cpp:80: error: ‘digitalWrite’ was not declared in this scope
C:\Documents and Settings\eemasvi.TPC\Desktop\megapirat\arduino-1.0.1\libraries\DataFlash\DataFlash_APM1.cpp: In function ‘void dataflash_CS_active()’:
C:\Documents and Settings\eemasvi.TPC\Desktop\megapirat\arduino-1.0.1\libraries\DataFlash\DataFlash_APM1.cpp:85: error: ‘LOW’ was not declared in this scope
C:\Documents and Settings\eemasvi.TPC\Desktop\megapirat\arduino-1.0.1\libraries\DataFlash\DataFlash_APM1.cpp:85: error: ‘digitalWrite’ was not declared in this scope
C:\Documents and Settings\eemasvi.TPC\Desktop\megapirat\arduino-1.0.1\libraries\DataFlash\DataFlash_APM1.cpp: In member function ‘virtual void DataFlash_APM1::Init()’:
C:\Documents and Settings\eemasvi.TPC\Desktop\megapirat\arduino-1.0.1\libraries\DataFlash\DataFlash_APM1.cpp:96: error: ‘OUTPUT’ was not declared in this scope
C:\Documents and Settings\eemasvi.TPC\Desktop\megapirat\arduino-1.0.1\libraries\DataFlash\DataFlash_APM1.cpp:96: error: ‘pinMode’ was not declared in this scope
C:\Documents and Settings\eemasvi.TPC\Desktop\megapirat\arduino-1.0.1\libraries\DataFlash\DataFlash_APM1.cpp:97: error: ‘INPUT’ was not declared in this scope
C:\Documents and Settings\eemasvi.TPC\Desktop\megapirat\arduino-1.0.1\libraries\DataFlash\DataFlash_APM1.cpp:103: error: ‘LOW’ was not declared in this scope
C:\Documents and Settings\eemasvi.TPC\Desktop\megapirat\arduino-1.0.1\libraries\DataFlash\DataFlash_APM1.cpp:103: error: ‘digitalWrite’ was not declared in this scope
C:\Documents and Settings\eemasvi.TPC\Desktop\megapirat\arduino-1.0.1\libraries\DataFlash\DataFlash_APM1.cpp:104: error: ‘delay’ was not declared in this scope
C:\Documents and Settings\eemasvi.TPC\Desktop\megapirat\arduino-1.0.1\libraries\DataFlash\DataFlash_APM1.cpp:105: error: ‘HIGH’ was not declared in this scope
C:\Documents and Settings\eemasvi.TPC\Desktop\megapirat\arduino-1.0.1\libraries\DataFlash\DataFlash_APM1.cpp:111: error: ‘SPI’ was not declared in this scope
C:\Documents and Settings\eemasvi.TPC\Desktop\megapirat\arduino-1.0.1\libraries\DataFlash\DataFlash_APM1.cpp:112: error: ‘MSBFIRST’ was not declared in this scope
C:\Documents and Settings\eemasvi.TPC\Desktop\megapirat\arduino-1.0.1\libraries\DataFlash\DataFlash_APM1.cpp:113: error: ‘SPI_MODE3’ was not declared in this scope
C:\Documents and Settings\eemasvi.TPC\Desktop\megapirat\arduino-1.0.1\libraries\DataFlash\DataFlash_APM1.cpp:114: error: ‘SPI_CLOCK_DIV2’ was not declared in this scope
C:\Documents and Settings\eemasvi.TPC\Desktop\megapirat\arduino-1.0.1\libraries\DataFlash\DataFlash_APM1.cpp: In member function ‘virtual void DataFlash_APM1::ReadManufacturerID()’:
C:\Documents and Settings\eemasvi.TPC\Desktop\megapirat\arduino-1.0.1\libraries\DataFlash\DataFlash_APM1.cpp:129: error: ‘SPI’ was not declared in this scope
C:\Documents and Settings\eemasvi.TPC\Desktop\megapirat\arduino-1.0.1\libraries\DataFlash\DataFlash_APM1.cpp: At global scope:
C:\Documents and Settings\eemasvi.TPC\Desktop\megapirat\arduino-1.0.1\libraries\DataFlash\DataFlash_APM1.cpp:146: error: ‘byte’ does not name a type
C:\Documents and Settings\eemasvi.TPC\Desktop\megapirat\arduino-1.0.1\libraries\DataFlash\DataFlash_APM1.cpp:163: error: ‘byte’ does not name a type
C:\Documents and Settings\eemasvi.TPC\Desktop\megapirat\arduino-1.0.1\libraries\DataFlash\DataFlash_APM1.cpp: In member function ‘virtual void DataFlash_APM1::PageToBuffer(unsigned char, uint16_t)’:
C:\Documents and Settings\eemasvi.TPC\Desktop\megapirat\arduino-1.0.1\libraries\DataFlash\DataFlash_APM1.cpp:187: error: ‘SPI’ was not declared in this scope
C:\Documents and Settings\eemasvi.TPC\Desktop\megapirat\arduino-1.0.1\libraries\DataFlash\DataFlash_APM1.cpp:189: error: ‘SPI’ was not declared in this scope
C:\Documents and Settings\eemasvi.TPC\Desktop\megapirat\arduino-1.0.1\libraries\DataFlash\DataFlash_APM1.cpp:192: error: ‘SPI’ was not declared in this scope
C:\Documents and Settings\eemasvi.TPC\Desktop\megapirat\arduino-1.0.1\libraries\DataFlash\DataFlash_APM1.cpp:195: error: ‘SPI’ was not declared in this scope
C:\Documents and Settings\eemasvi.TPC\Desktop\megapirat\arduino-1.0.1\libraries\DataFlash\DataFlash_APM1.cpp:198: error: ‘SPI’ was not declared in this scope
C:\Documents and Settings\eemasvi.TPC\Desktop\megapirat\arduino-1.0.1\libraries\DataFlash\DataFlash_APM1.cpp: In member function ‘virtual void DataFlash_APM1::BufferToPage(unsigned char, uint16_t, unsigned char)’:
C:\Documents and Settings\eemasvi.TPC\Desktop\megapirat\arduino-1.0.1\libraries\DataFlash\DataFlash_APM1.cpp:214: error: ‘SPI’ was not declared in this scope
C:\Documents and Settings\eemasvi.TPC\Desktop\megapirat\arduino-1.0.1\libraries\DataFlash\DataFlash_APM1.cpp:216: error: ‘SPI’ was not declared in this scope
C:\Documents and Settings\eemasvi.TPC\Desktop\megapirat\arduino-1.0.1\libraries\DataFlash\DataFlash_APM1.cpp:219: error: ‘SPI’ was not declared in this scope
C:\Documents and Settings\eemasvi.TPC\Desktop\megapirat\arduino-1.0.1\libraries\DataFlash\DataFlash_APM1.cpp:222: error: ‘SPI’ was not declared in this scope
C:\Documents and Settings\eemasvi.TPC\Desktop\megapirat\arduino-1.0.1\libraries\DataFlash\DataFlash_APM1.cpp:225: error: ‘SPI’ was not declared in this scope
C:\Documents and Settings\eemasvi.TPC\Desktop\megapirat\arduino-1.0.1\libraries\DataFlash\DataFlash_APM1.cpp: In member function ‘virtual void DataFlash_APM1::BufferWrite(unsigned char, uint16_t, unsigned char)’:
C:\Documents and Settings\eemasvi.TPC\Desktop\megapirat\arduino-1.0.1\libraries\DataFlash\DataFlash_APM1.cpp:242: error: ‘SPI’ was not declared in this scope
C:\Documents and Settings\eemasvi.TPC\Desktop\megapirat\arduino-1.0.1\libraries\DataFlash\DataFlash_APM1.cpp:244: error: ‘SPI’ was not declared in this scope
C:\Documents and Settings\eemasvi.TPC\Desktop\megapirat\arduino-1.0.1\libraries\DataFlash\DataFlash_APM1.cpp:245: error: ‘SPI’ was not declared in this scope
C:\Documents and Settings\eemasvi.TPC\Desktop\megapirat\arduino-1.0.1\libraries\DataFlash\DataFlash_APM1.cpp: In member function ‘virtual unsigned char DataFlash_APM1::BufferRead(unsigned char, uint16_t)’:
C:\Documents and Settings\eemasvi.TPC\Desktop\megapirat\arduino-1.0.1\libraries\DataFlash\DataFlash_APM1.cpp:255: error: ‘byte’ was not declared in this scope
C:\Documents and Settings\eemasvi.TPC\Desktop\megapirat\arduino-1.0.1\libraries\DataFlash\DataFlash_APM1.cpp:255: error: expected `;’ before ‘tmp’
C:\Documents and Settings\eemasvi.TPC\Desktop\megapirat\arduino-1.0.1\libraries\DataFlash\DataFlash_APM1.cpp:260: error: ‘SPI’ was not declared in this scope
C:\Documents and Settings\eemasvi.TPC\Desktop\megapirat\arduino-1.0.1\libraries\DataFlash\DataFlash_APM1.cpp:262: error: ‘SPI’ was not declared in this scope
C:\Documents and Settings\eemasvi.TPC\Desktop\megapirat\arduino-1.0.1\libraries\DataFlash\DataFlash_APM1.cpp:263: error: ‘SPI’ was not declared in this scope
C:\Documents and Settings\eemasvi.TPC\Desktop\megapirat\arduino-1.0.1\libraries\DataFlash\DataFlash_APM1.cpp:267: error: ‘tmp’ was not declared in this scope
C:\Documents and Settings\eemasvi.TPC\Desktop\megapirat\arduino-1.0.1\libraries\DataFlash\DataFlash_APM1.cpp: In member function ‘virtual void DataFlash_APM1::PageErase(uint16_t)’:
C:\Documents and Settings\eemasvi.TPC\Desktop\megapirat\arduino-1.0.1\libraries\DataFlash\DataFlash_APM1.cpp:278: error: ‘SPI’ was not declared in this scope
C:\Documents and Settings\eemasvi.TPC\Desktop\megapirat\arduino-1.0.1\libraries\DataFlash\DataFlash_APM1.cpp: In member function ‘virtual void DataFlash_APM1::ChipErase(void (*)(long unsigned int))’:
C:\Documents and Settings\eemasvi.TPC\Desktop\megapirat\arduino-1.0.1\libraries\DataFlash\DataFlash_APM1.cpp:302: error: ‘SPI’ was not declared in this scope

Куда копать?

atumis

Скорее всего прошивка не под ArduinoIDE 1.0.1- почитай описание - скорее под более старую версию

Sir_Alex
Dreddix:

открыл саму прошивку, нажал Проверить/Компилировать- выдало кучу ошибок.

А вы что нибудь меняли в APM_Config.h? Если меняли, что выбрали?

Dreddix
Sir_Alex:

А вы что нибудь меняли в APM_Config.h? Если меняли, что выбрали?

Нет, ничего не менял, проверил наличие строчек #define гпс, тип платы и баро, они там сразу присутствуют. Ничего не трогал. Эта прошивка (R5) сделана именно под АИОП плату, поэтому там всё что нужно уже внесено.
Выбрал тип камня. Сом-порт не менял, т.к. плата не подключена к компу. Моя идея в том, что для проверки её подключать не надо. Может обязательно нужно подключение платы? Но я не нажимал загрузить… и нет ошибок указывающих на неверный сом-порт или отсутствие чего-либо.

atumis:

Скорее всего прошивка не под ArduinoIDE 1.0.1- почитай описание - скорее под более старую версию

Где это можно вычитать? Ни слова нигде про ArduinoIDE.

П.С. взял чуть старее прошивку R4(до этого пробовал R5), ошибки те-же самые.

П.С.2 - Причина ошибок в удалении оригинальных “libraries” из папки ArduinoIDE. Если оставить старые, добавить папки из прошивки- всё сшивается без ошибок! Натолкнулся на эту мысль на рсгрупс, хотя там Сэр Алекс и говорил неоднократно о необходимости удаления “оригинальных” библиотек. Решил попробовать- что я теряю!? Получилось.

Done compiling.

Binary sketch size: 131 168 bytes (of a 258 048 byte maximum)

atumis
Dreddix:

Где это можно вычитать? Ни слова нигде про ArduinoIDE.

Это зависит насколько “древняя” Ваша прошивка или библиотеки.
Сейчас Вы скачали ArduinoIDE 1.0.1 (самую последнюю версию). С каждой новой версией у ардуины немного меняется язык программирования, поэтому она не всегда понимает старые скетчи или библиотеки

скачивают новые версии отсюда на той же странице , чуточку ниже, расположены ссылки на более старые версии
попробуйте скачать Arduino 0022 или Arduino 0023 ,
Надеюсь поможет )))

Sir_Alex
Dreddix:

Сэр Алекс и говорил неоднократно о необходимости удаления “оригинальных” библиотек

Я говорил про MPNG! 😉 ArduplaneNG - другая прошивка, со своими заморочками, правда частично основана на MPNG.

Dreddix
atumis:

Это зависит насколько “древняя” Ваша прошивка или библиотеки.

16 августа 2012

atumis:

Надеюсь поможет )))

atumis:

скачивают новые версии отсюда на той же странице , чуточку ниже, расположены ссылки на более старые версии
попробуйте скачать Arduino 0022 или Arduino 0023

их есть у меня, попробовать не успел, т.к.

Dreddix:

П.С.2 - Причина ошибок в удалении оригинальных “libraries” из папки ArduinoIDE. Если оставить старые, добавить папки из прошивки- всё сшивается без ошибок! Натолкнулся на эту мысль на рсгрупс, хотя там Сэр Алекс и говорил неоднократно о необходимости удаления “оригинальных” библиотек. Решил попробовать- что я теряю!? Получилось.

Done compiling.

Binary sketch size: 131 168 bytes (of a 258 048 byte maximum)

Sir_Alex:

Я говорил про MPNG! ArduplaneNG - другая прошивка, со своими заморочками, правда частично основана на MPNG

И ладно! Главное получилось! Надеюсь это поможет ещё кому!

Fizpok

А плату ATMega 2560 в настройках IDE выбирали?

Compage

Плата AIO 1.1
Кто нибудь смог запустить подвес на Мегапирате 2,7_R3(4)?

RA4ASN

Я пробовал, но не особо получилось. Пытался настраивать оси через планнер, но так и не вышло. Работала лишь одна ось (не помню какая).

jekmv
Compage:

Плата AIO 1.1
Кто нибудь смог запустить подвес на Мегапирате 2,7_R3(4)?

на 2,6 работает 2 оси. но настроек вообще нет, есть гейн (чувствительность) и положение серв - макс, центр, мин. ни о какой стабилизации и речи не идет, так - небольшая компенсация, не более. я спрашивал уже несколько раз здесь на форуме про это - пока ответа не дождался, такое ощущение, что не используют все подвес с пиратом.
rcopen.com/forum/f123/topic283798/891
на 2,7 ввели 3ю ось - пока были проблемы с подвесом, не ставил эту прошивку, может и не исправили еще

Alexsiv

Я сначала не мог разобраться, на ранних версиях подвес работал по умолчанию, во всяком случае я подключал одну ось и работало. На версии 2.7 он по умолчанию не включён, но если нажать на кнопочку “вики” на экране настройки подвеса в планере , то там доступно описано как включить и как настроить все три оси. Я сейчас подключил 2 оси работают нормально.
Кстати мозг использую “Mega MWC 2560”

DVE

2 All:
Кто-нибудь запускал megapirate на 3M Pilot? Датчики вроде те же, что и на All In One, но повернуты на 90 градусов, относительно “стрелки” на плате. Можно конечно и так оставить, но неэстетично, типа 😃
Может кто уже менял настройки осей под 3M Pilot?

kpiz

Подскажите пожалуйста!
Собрал гексу(это моя первая модель), всё подключил, к пк подключаю APM Planner все датчики видит, пульт Turnigy 9x с приёмником объединил.
Включаю питание коптера, пульт, и не вот здесь я застрял, не знаю что делать, моторы на стики пульта не реагируют.

Растолкуйте мои последующие действия что бы коптер полетел.

Сергей_Вертолетов

Стик газа (моде 2) вниз и вправо до упора на несколько секунд! Теперь можно взлетать!
Дезактивация моторов автоматически после посадки (через секунд 20-30) или газ вниз и влево до упора на несколько секунд.

atumis
kpiz:

Растолкуйте мои последующие действия что бы коптер полетел.

если по быстрому - примерно так

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

  1. если все откалибровано - при включении питания моторы и не должны реагировать на стики - в целях безопасности- порядок такой
    включаем, ждем пока лампочики помигают - если подключен к планнеру - большая красная надпись not armed (моторы не “заряжены”)
    стик который отвечает за yaw - максимально вправо 5 сек - опять замигают - можно лететь (если подключен к планеру - появится надпись armed)
    кода сел - тот же стик максимально влево на пару секунд - типа предохранитель - моторы не запустятся

примерно так…

kpiz
atumis:

если по быстрому - примерно так

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

  1. если все откалибровано - при включении питания моторы и не должны реагировать на стики - в целях безопасности- порядок такой
    включаем, ждем пока лампочики помигают - если подключен к планнеру - большая красная надпись not armed (моторы не “заряжены”)
    стик который отвечает за yaw - максимально вправо 5 сек - опять замигают - можно лететь (если подключен к планеру - появится надпись armed)
    кода сел - тот же стик максимально влево на пару секунд - типа предохранитель - моторы не запустятся

примерно так…

Попробывал, что то не получается. Может ещё что нибудь посоветуете?

atumis
  1. убедись , что передатчик работает в MODE 2
  2. В мегепирате немножко бывают перепутаны каналы - я подбирал методом тыка - у меня мега 2650
    подключись к планеру
  • откалибруй радиоканалы
    - убедись что:
    левый стик - вверх -вниз это throttle (газ)
  • лево-право это yaw (рысканье)
    если это не так - переставь проводки от радиоприемника

Я тут схемку набросал - у меня по ней оно полетело:-)

2-й канал Pitch пришлось инвертировать (я сделал в планере) - х.з почему так - в коде не ковырялся - пока принял как должное

couger

Кто-нибудь подключал к BlackVortex одновременно и блютуз и minimOSD? Вроде, судя по вики проекта arducamosd это возможно и достаточно сделать тройник на +, землю и rx, а tx подключить только к блютузу. Но у меня почему-то не получается…