GO63 Опубликовано: 12 декабря 2018 Автор Опубликовано: 12 декабря 2018 У меня всё прекрасно работает и с двумя Нано (и с CH341 и с FTDI), и с Микро, и с Мини (+USB UART). Я бы попробовал сменить USB кабель. И подключить в другое USB гнездо, лучше на задней стенке компа, на материнке.
JG.SS_Habicht Опубликовано: 12 декабря 2018 Опубликовано: 12 декабря 2018 (изменено) У меня ноут сейчас, всего три усб, вот жду активный хаб. Кабель менял, но на телефонный, Хотя первый тоже от зарядки, но вроде толстый. Вполне может быть, что и кабель, но, опять же, какой нужен? Я так понимаю, что не хватает питания на датчики, если дело в кабеле? Замеры показали 4,65 примерно на датчиках. Изменено 12 декабря 2018 пользователем JG.SS_Habicht
GO63 Опубликовано: 12 декабря 2018 Автор Опубликовано: 12 декабря 2018 (изменено) В комплекте Ардуино обычно дешёвый, не очень качественный кабель. Надо просто попробовать поменять его на другой. А в кабеле от зарядника обычно не четыре, а два провода. С таким кабелем вообще связи не будет. Изменено 12 декабря 2018 пользователем GO63
JG.SS_Habicht Опубликовано: 12 декабря 2018 Опубликовано: 12 декабря 2018 (изменено) Ну, у вас, видимо, оригинал)) С моей никакого кабеля не шло. У меня от "моторолы", вроде, мощный такой кабелек, ставил другой, ничего не поменялось зрительно. Ладно, буду ждать хаб, если дело в недостатке питания, то он должен помочь. Изменено 12 декабря 2018 пользователем JG.SS_Habicht
JG.SS_Habicht Опубликовано: 17 декабря 2018 Опубликовано: 17 декабря 2018 В общем, я не знаю, в чем дело. Актив-хаб никак не повлиял на ситуацию, Купил новую "нану" - изменений - ноль. На маркировке ардуинки стоит R3, может, нужна именно V3 я хз.
Alator Опубликовано: 3 января 2019 Опубликовано: 3 января 2019 Ну вот и я решился испытать сей девайс. Перед сборкой сразу два вопроса: 1. Собирать буду на ПроМикро, надо ли TX-RX к модулю HC-05 подключать через делитель (есть выше в теме)? 2. В какие корпуса укладывали датчики и микросхемы? У меня пока одна мысль - в обрезки кабель канала, но может кто кто эстетичнее вариант подскажет.
=FA=CATFISH Опубликовано: 3 января 2019 Опубликовано: 3 января 2019 32 минуты назад, =19fab=Alator сказал: Ну вот и я решился испытать сей девайс. Перед сборкой сразу два вопроса: 1. Собирать буду на ПроМикро, надо ли TX-RX к модулю HC-05 подключать через делитель (есть выше в теме)? 2. В какие корпуса укладывали датчики и микросхемы? У меня пока одна мысль - в обрезки кабель канала, но может кто кто эстетичнее вариант подскажет. 1. Да, надо. 2. Когда была возможность, вырезал себе корпус на фрезерном станке. Сейчас бы вот сюда впихивал https://yandex.ru/images/search?text=гирлянда на батарейках fix price&stype=image&lr=213&source=wiz
Alator Опубликовано: 3 января 2019 Опубликовано: 3 января 2019 Спасибо за ответы. Пошел начинать собирать.
GO63 Опубликовано: 3 января 2019 Автор Опубликовано: 3 января 2019 1. Цитата TX-RX к модулю HC-05 подключать через делитель - это только если HC-05 на 3,3V. У вас на фото - 5 вольтовый HC-05, с переходной платой. Такой модуль можно подключать к Ардуино без делителя. Батарею следует подключать к VCC, в обход стабилизатора в Ардуино. Тогда всё работает до 3V и даже чуть ниже. 2. После выбора корпуса модули Ардуино, Head, и HC-05 лучше установить на промежуточной плате, можно из куска макетницы, а уже эту плату устанавливать в корпус. Иначе будет ужасная паутина из проводов. Все блоки внутри корпуса должны быть закреплены, чтобы ничто не сдвигалось относительно магнитометра. При выборе внутренних габаритов корпуса решающими являются размер литиевой батареи (нужно брать со встроенной защитой, например от мобильника) и модуля HC-05 (он самый длинный, вместе со своим разъёмом). Ещё нужен выключатель питания на ток не меньше 50мА, гнездо для модуля Neck и гнездо для зарядки батареи. И ещё: 3. Перед установкой модуля HC-05 нужно изменить ему скорость на 115200.
=FA=CATFISH Опубликовано: 3 января 2019 Опубликовано: 3 января 2019 32 минуты назад, GO63 сказал: 1. - это только если HC-05 на 3,3V. У вас на фото - 5 вольтовый HC-05, с переходной платой. Такой модуль можно подключать к Ардуино без делителя. Батарею следует подключать к VCC, в обход стабилизатора в Ардуино. Тогда всё работает до 3V и даже чуть ниже. 2. После выбора корпуса модули Ардуино, Head, и HC-05 лучше установить на промежуточной плате, можно из куска макетницы, а уже эту плату устанавливать в корпус. Иначе будет ужасная паутина из проводов. Все блоки внутри корпуса должны быть закреплены, чтобы ничто не сдвигалось относительно магнитометра. При выборе внутренних габаритов корпуса решающими являются размер литиевой батареи (нужно брать со встроенной защитой, например от мобильника) и модуля HC-05 (он самый длинный, вместе со своим разъёмом). Ещё нужен выключатель питания на ток не меньше 50мА, гнездо для модуля Neck и гнездо для зарядки батареи. И ещё: 3. Перед установкой модуля HC-05 нужно изменить ему скорость на 115200. По моему на переходной плате НС-05 все-таки нет цепей согласования уровней Rx и Тх. И маркировка на ней показывает 3,3В.
GO63 Опубликовано: 3 января 2019 Автор Опубликовано: 3 января 2019 Возможно, переходные платы без делителя и бывают, но мне такие не встречались. Хотя га ней и написано 3,3V, но делитель 10ком и 20ком в цепи RX на переходной плате есть. Да и штыревой разъём означает, что предназначен для прямого подключения к Ардуино. Хотя по следующей ссылке описаны оба варианта подключения к Ардуино: https://arduinomaster.ru/datchiki-arduino/arduino-bluetooth-hc05-hc06/
Alator Опубликовано: 3 января 2019 Опубликовано: 3 января 2019 2 часа назад, GO63 сказал: Перед установкой модуля HC-05 нужно изменить ему скорость на 115200. Можете поподробнее пояснить как это сделать?
GO63 Опубликовано: 3 января 2019 Автор Опубликовано: 3 января 2019 Я настраивал HC-05 модуль вкратце так: 1. Подключил HC-05 к переходнику USB-UART(TTL) четырьмя проводками мама-мама: HC-05: USB-UART: +5V 5V GND GND TX RXD RX TXD Зажал кнопку на HC-05 и подключил USB-UART к компу. Появился порт COM6. А на HC-05 стал медленно моргать светодиод: секунду горит, другую секунду не горит. Это режим AT-command. Если светодиод быстро моргает - это рабочий режим, значит плохо кнопку держал и начинаем всё сначала. Отпускаю кнопку. В Arduino IDE выбрал COM6, тип платы неважен, и запустил монитор порта. В нижней строке для HC-05 нужно выбрать "NL & CR" и "38400 бод". AT команды нужно вводить в верхней строке заглавными буквами. И не забываем нажать [Отправить]. Вводим: Ответ: AT OK - значит попали успешно в режим AT команд Проверяем режимы: AT+NAME? +NAME:HC-05 - имя модуля AT+ROLE? +ROLE:0 - 0 - это Slave. То, что нужно. AT+PSWD? +PIN:"1234" - код доступа. Запомним. AT+UART? +UART:9600,0,0 - скорость обязательно нужно изменить на 115200 Выходит, достаточно изменить скорость на 115200 бод: AT+UART=115200,0,0 OK Проверяем: AT+UART? +UART:115200,0,0 - То, что нужно! Делаем программный сброс: AT+RESET Светодиод часто заморгал, 3 раза в секунду. Это рабочий режим. Пока закроем монитор порта и Arduino IDE. 2. Подключим HC-05 к компу по Bluetooth. В меню значка блютуза нужно выбрать "Добавить устройство Bluetooth" Несколько раз жмём [Далее..], выбираем из списка HC-05, [Далее..], выбираем "Использовать ключ доступа из документации", вводим 1234 (из команды AT+PSWD?), [Далее..]. Теперь для HC-05 Windows назначил два компорта: Исходящий COM-порт: COM16 Входящий COM-порт: COM17 Нам нужен исходящий, запомним его: COM16. И жмём [Готово]. 3. Проверим связь с компом по Bluetooth. (Проверку пока не записал.)
Alator Опубликовано: 4 января 2019 Опубликовано: 4 января 2019 А без переходника используя UART интерфейс ардуины получится так сделать?
GO63 Опубликовано: 4 января 2019 Автор Опубликовано: 4 января 2019 Да, бывают скетчи USB-UART. Должно получиться на ProMicro легко. На других Ардуинах чуть сложнее, нужен софтовый Serial. И не забудьте про скорость 38400 бод. Это прямо в скетче должно быть указано. Но с переходником всё гораздо проще. У Ардуино Nano "Просто соединяем вывод RESET с землей (GND).":http://digitrode.ru/computing-devices/mcu_cpu/247-3-sposoba-ispolzovaniya-arduino-v-kachestve-adaptera-usb-uart.html Но этими способами я не пользовался.
SSV Опубликовано: 7 января 2019 Опубликовано: 7 января 2019 В 04.01.2019 в 19:25, GO63 сказал: У Ардуино Nano "Просто соединяем вывод RESET с землей (GND)." Этим способом можно пользоваться на всем где есть типа "CH340". Я на UNO пробовал пока USB-serial не приобрел. 1
GO63 Опубликовано: 7 января 2019 Автор Опубликовано: 7 января 2019 Только нужно учесть, что HC-05 для настройки мы подключаем не к АТмеге, а к CH340, а значит, нужно поменять местами у HC-05 сигналы RX и TX. То есть для настройки HC-05 нужно соединять выводы TX-TXD, RX-RXD. А уже для работы скетча переключить на TX-RXD, RX-TXD.
Alator Опубликовано: 12 января 2019 Опубликовано: 12 января 2019 (изменено) На WIN10 подключение по блютузу аддекватно отрабатывается? А то тень сомнения уже берет. По отдельности оба устройства исправны, а вместе не хотят работать... Изменено 12 января 2019 пользователем =19fab=Alator
GO63 Опубликовано: 27 января 2019 Автор Опубликовано: 27 января 2019 Дополнение к моему посту от 3 января: 3. Проверим связь с компьютером по Bluetooth. Для этого запустим две копии Arduino IDE. В первой копии выберем [Инструменты], [Порт…] и укажем номер компорта USB-UART(TTL), в моём случае это COM6. Откроем [Монитор порта]. Зададим скорость 115200. Во второй копии выберем [Инструменты], [Порт…] и укажем номер исходящего компорта Bluetooth “HC-05”, в моём случае это COM16. Откроем [Монитор порта]. Монитор порта должен открыться с задержкой в несколько секунд. Светодиод на модуле HC-05 перестанет моргать и будет давать редкие двойные вспышки с периодом в пять секунд. Это означает, что модуль подключен по Bluetooth. Зададим скорость 115200. Теперь у нас на экране два Монитора порта. Один соединён с модулем USB-UART(TTL), а другой соединён по Bluetooth с модулем HC-05 . Если набрать любую строку в одном из мониторов и нажать кнопку [Отправить], то эта строка будет выведена в другом мониторе. Символы русского алфавита (символы с кодами более 127) могут выводиться неверно, это нормально, Монитор порта Arduino IDE не умеет правильно отображать русские символы. На этом настройка и проверка модуля HC-05 завершена. Закройте оба Монитора порта и Arduino IDE. Светодиод на модуле HC-05 часто заморгает, это означает, что связь по Bluetooth с модулем HC-05 прервалась. Теперь модуль HC-05 готов для установки в трекер. 1
GO63 Опубликовано: 3 февраля 2019 Автор Опубликовано: 3 февраля 2019 Настройка Bluetooth модуля HC-06 У модуля HC-06 намного меньше возможностей, чем у модуля HC-05, но их вполне достаточно для работы в трекере. Настройка модуля HC-06 совершенно не похожа на настройку модуля HC-05. В отличие от HC-05, модуль HC-06 не требует специальной процедуры входа в режим ввода AT команд. Модуль HC-06 всегда готов к приёму AT команд, когда он не подключен по каналу Bluetooth. Обмен ведётся не на скорости 38400 бод, а на скорости, заданной ранее. Если модуль новый, из упаковки, то это скорость 9600 бод. При передаче AT команд, после команды не должны отсылаться символы возврата каретки и новой строки. Это значит, нужно в нижней строке Монитора порта выбрать «нет конца строки». Модуль HC-06 работает только в режиме Slave, это нам подходит. При подключении по каналу Bluetooth, на модуле HC-06 постоянно горит светодиод, что увеличивает потребляемый ток от батареи. Набор команд модуля HC-06 сильно ограничен. Никакие настройки нельзя считать из модуля, кроме версии (команда AT+VERSION), поэтому введём три необходимые нам команды, зададим: имя модуля «HC-06 AHRS», скорость обмена 115200), PIN-код доступа «1234». После подключения переходника USB-UART(TTL) к компьютеру, на модуле HC-06 часто заморгает светодиод. Это рабочий режим без подключения по Bluetooth. В этом режиме HC-06 может принимать AT команды. Если модуль новый, то скорость обмена 9600 бод, если нет, придётся угадывать скорость. Запустим Arduino IDE. В меню [Инструменты] выберем COM порт, назначенный для переходника USB-UART(TTL), в моём случае это COM5, и откроем [Монитор порта]. В нижней строке Монитора порта нужно выбрать [нет конца строки] и скорость [9600 бод]. AT команды нужно вводить в верхней строке заглавными английскими буквами. И не забываем нажать кнопку [Отправить]: Вводим: Ответ: AT [Отправить] OK - значит, попали успешно в режим AT команд Если ответ "OK" есть, значит скорость определена верно, и можно настраивать модуль. Если нет ответа “OK”, нужно перебрать другие скорости обмена из списка в нижней строке. Проверить можем только версию прошивки модуля, но это нам ничего не даёт: AT+VERSION [Отправить] OKlinvorV1.8 Настраиваем имя модуля "HC-06 AHRS": AT+NAMEHC-06 AHRS [Отправить] OKsetname Настраиваем код доступа "1234": AT+PIN1234 [Отправить] OKsetPIN Теперь настраиваем скорость обмена 115200 бод: AT+BAUD8 [Отправить] OK115200 Проверим связь: AT [Отправить] А ответа-то и нет! Модуль уже работает на новой скорости. В нижней строке выберем новую скорость [115200 бод] и ещё раз проверим связь: AT [Отправить] OK Теперь ответ есть. Модуль HC-06 настроен для работы в трекере. Теперь нужно проверить работу модуля HC-06. Проверяется так же , как и HC-05, с помощью двух Мониторов порта. 1 1
GO63 Опубликовано: 11 февраля 2019 Автор Опубликовано: 11 февраля 2019 JS.SS_Habicht говорил: Оказалось, что цвет Ардуино действительно может влиять на результат! В переписке с пользователем EIF мы выяснили, что в чёрной Ардуино Нано с жёлтыми разъёмами, купленной здесь: https://ru.aliexpress.com/item/WAVGAT-Nano-Mini-USB-Nano-3-0/32868170637.html?spm=a2g0s.9042311.0.0.35a333edAvQriS другой контроллер, и это уже не Nano, а WAVGAT NANO 3.0. Чтобы она заработала, нужно скачать плагин для Arduino IDE. Ссылка на плагин есть на странице продавца:https://drive.google.com/open?id=10gwrG9uTDwaEO-7EudsmBkfgdcyrcABI Из этого архива нужно скопировать папки hardware и libraries в папку с Arduino IDE. Тогда в списке плат появится WAVGAT NANO 3.0. Её и нужно выбрать для прошивки. Но скетч будет компилироваться с ошибками. Ошибки исправлены в следующем патче: AHRS_5DOF_WAVGAT_[20180715].rar. В скетче [20180715] нужно заменить файл RWdata.ino файлом из патча. Пропатченный скетч работает и с обычными Нано. Патч проверен только наполовину, ко мне ещё не пришла WAVGAT NANO 3.0. Просьба, у кого есть возможность, проверить работу трекера на плате WAVGAT NANO 3.0. AHRS_5DOF_WAVGAT_[20180715].rar 1 1
dim666 Опубликовано: 24 февраля 2019 Опубликовано: 24 февраля 2019 Скачал с arduino.cc последнюю версию их ide (1.8.8). При сборке ругается, что куча функций не определена. Вот полный вывод (с включенным в найстройках полным выводом компилляции): Скрытый текст D:\Devel\arduino-1.8.8\arduino-builder -dump-prefs -logger=machine -hardware D:\Devel\arduino-1.8.8\hardware -tools D:\Devel\arduino-1.8.8\tools-builder -tools D:\Devel\arduino-1.8.8\hardware\tools\avr -built-in-libraries D:\Devel\arduino-1.8.8\libraries -libraries C:\Users\dim\Documents\Arduino\libraries -fqbn=arduino:avr:nano:cpu=atmega328 -ide-version=10808 -build-path C:\Users\dim\AppData\Local\Temp\arduino_build_223388 -warnings=none -build-cache C:\Users\dim\AppData\Local\Temp\arduino_cache_69221 -prefs=build.warn_data_percentage=75 -prefs=runtime.tools.avr-gcc.path=D:\Devel\arduino-1.8.8\hardware\tools\avr -prefs=runtime.tools.avr-gcc-5.4.0-atmel3.6.1-arduino2.path=D:\Devel\arduino-1.8.8\hardware\tools\avr -prefs=runtime.tools.avrdude.path=D:\Devel\arduino-1.8.8\hardware\tools\avr -prefs=runtime.tools.avrdude-6.3.0-arduino14.path=D:\Devel\arduino-1.8.8\hardware\tools\avr -prefs=runtime.tools.arduinoOTA.path=D:\Devel\arduino-1.8.8\hardware\tools\avr -prefs=runtime.tools.arduinoOTA-1.2.1.path=D:\Devel\arduino-1.8.8\hardware\tools\avr -verbose D:\44\Razor_AHRS_5DOF_Tracker\Razor_AHRS_5DOF_Tracker.ino D:\Devel\arduino-1.8.8\arduino-builder -compile -logger=machine -hardware D:\Devel\arduino-1.8.8\hardware -tools D:\Devel\arduino-1.8.8\tools-builder -tools D:\Devel\arduino-1.8.8\hardware\tools\avr -built-in-libraries D:\Devel\arduino-1.8.8\libraries -libraries C:\Users\dim\Documents\Arduino\libraries -fqbn=arduino:avr:nano:cpu=atmega328 -ide-version=10808 -build-path C:\Users\dim\AppData\Local\Temp\arduino_build_223388 -warnings=none -build-cache C:\Users\dim\AppData\Local\Temp\arduino_cache_69221 -prefs=build.warn_data_percentage=75 -prefs=runtime.tools.avr-gcc.path=D:\Devel\arduino-1.8.8\hardware\tools\avr -prefs=runtime.tools.avr-gcc-5.4.0-atmel3.6.1-arduino2.path=D:\Devel\arduino-1.8.8\hardware\tools\avr -prefs=runtime.tools.avrdude.path=D:\Devel\arduino-1.8.8\hardware\tools\avr -prefs=runtime.tools.avrdude-6.3.0-arduino14.path=D:\Devel\arduino-1.8.8\hardware\tools\avr -prefs=runtime.tools.arduinoOTA.path=D:\Devel\arduino-1.8.8\hardware\tools\avr -prefs=runtime.tools.arduinoOTA-1.2.1.path=D:\Devel\arduino-1.8.8\hardware\tools\avr -verbose D:\44\Razor_AHRS_5DOF_Tracker\Razor_AHRS_5DOF_Tracker.ino Using board 'nano' from platform in folder: D:\Devel\arduino-1.8.8\hardware\arduino\avr Using core 'arduino' from platform in folder: D:\Devel\arduino-1.8.8\hardware\arduino\avr Изменены опции сборки, пересобираем все Detecting libraries used... "D:\\Devel\\arduino-1.8.8\\hardware\\tools\\avr/bin/avr-g++" -c -g -Os -w -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -Wno-error=narrowing -flto -w -x c++ -E -CC -mmcu=atmega328p -DF_CPU=16000000L -DARDUINO=10808 -DARDUINO_AVR_NANO -DARDUINO_ARCH_AVR "-ID:\\Devel\\arduino-1.8.8\\hardware\\arduino\\avr\\cores\\arduino" "-ID:\\Devel\\arduino-1.8.8\\hardware\\arduino\\avr\\variants\\eightanaloginputs" "C:\\Users\\dim\\AppData\\Local\\Temp\\arduino_build_223388\\sketch\\Razor_AHRS_5DOF_Tracker.ino.cpp" -o nul "D:\\Devel\\arduino-1.8.8\\hardware\\tools\\avr/bin/avr-g++" -c -g -Os -w -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -Wno-error=narrowing -flto -w -x c++ -E -CC -mmcu=atmega328p -DF_CPU=16000000L -DARDUINO=10808 -DARDUINO_AVR_NANO -DARDUINO_ARCH_AVR "-ID:\\Devel\\arduino-1.8.8\\hardware\\arduino\\avr\\cores\\arduino" "-ID:\\Devel\\arduino-1.8.8\\hardware\\arduino\\avr\\variants\\eightanaloginputs" "-ID:\\Devel\\arduino-1.8.8\\hardware\\arduino\\avr\\libraries\\Wire\\src" "C:\\Users\\dim\\AppData\\Local\\Temp\\arduino_build_223388\\sketch\\Razor_AHRS_5DOF_Tracker.ino.cpp" -o nul "D:\\Devel\\arduino-1.8.8\\hardware\\tools\\avr/bin/avr-g++" -c -g -Os -w -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -Wno-error=narrowing -flto -w -x c++ -E -CC -mmcu=atmega328p -DF_CPU=16000000L -DARDUINO=10808 -DARDUINO_AVR_NANO -DARDUINO_ARCH_AVR "-ID:\\Devel\\arduino-1.8.8\\hardware\\arduino\\avr\\cores\\arduino" "-ID:\\Devel\\arduino-1.8.8\\hardware\\arduino\\avr\\variants\\eightanaloginputs" "-ID:\\Devel\\arduino-1.8.8\\hardware\\arduino\\avr\\libraries\\Wire\\src" "-ID:\\Devel\\arduino-1.8.8\\hardware\\arduino\\avr\\libraries\\EEPROM\\src" "C:\\Users\\dim\\AppData\\Local\\Temp\\arduino_build_223388\\sketch\\Razor_AHRS_5DOF_Tracker.ino.cpp" -o nul "D:\\Devel\\arduino-1.8.8\\hardware\\tools\\avr/bin/avr-g++" -c -g -Os -w -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -Wno-error=narrowing -flto -w -x c++ -E -CC -mmcu=atmega328p -DF_CPU=16000000L -DARDUINO=10808 -DARDUINO_AVR_NANO -DARDUINO_ARCH_AVR "-ID:\\Devel\\arduino-1.8.8\\hardware\\arduino\\avr\\cores\\arduino" "-ID:\\Devel\\arduino-1.8.8\\hardware\\arduino\\avr\\variants\\eightanaloginputs" "-ID:\\Devel\\arduino-1.8.8\\hardware\\arduino\\avr\\libraries\\Wire\\src" "-ID:\\Devel\\arduino-1.8.8\\hardware\\arduino\\avr\\libraries\\EEPROM\\src" "C:\\Users\\dim\\AppData\\Local\\Temp\\arduino_build_223388\\sketch\\__ADXL345.cpp" -o nul "D:\\Devel\\arduino-1.8.8\\hardware\\tools\\avr/bin/avr-g++" -c -g -Os -w -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -Wno-error=narrowing -flto -w -x c++ -E -CC -mmcu=atmega328p -DF_CPU=16000000L -DARDUINO=10808 -DARDUINO_AVR_NANO -DARDUINO_ARCH_AVR "-ID:\\Devel\\arduino-1.8.8\\hardware\\arduino\\avr\\cores\\arduino" "-ID:\\Devel\\arduino-1.8.8\\hardware\\arduino\\avr\\variants\\eightanaloginputs" "-ID:\\Devel\\arduino-1.8.8\\hardware\\arduino\\avr\\libraries\\Wire\\src" "-ID:\\Devel\\arduino-1.8.8\\hardware\\arduino\\avr\\libraries\\EEPROM\\src" "C:\\Users\\dim\\AppData\\Local\\Temp\\arduino_build_223388\\sketch\\__AK8963.cpp" -o nul "D:\\Devel\\arduino-1.8.8\\hardware\\tools\\avr/bin/avr-g++" -c -g -Os -w -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -Wno-error=narrowing -flto -w -x c++ -E -CC -mmcu=atmega328p -DF_CPU=16000000L -DARDUINO=10808 -DARDUINO_AVR_NANO -DARDUINO_ARCH_AVR "-ID:\\Devel\\arduino-1.8.8\\hardware\\arduino\\avr\\cores\\arduino" "-ID:\\Devel\\arduino-1.8.8\\hardware\\arduino\\avr\\variants\\eightanaloginputs" "-ID:\\Devel\\arduino-1.8.8\\hardware\\arduino\\avr\\libraries\\Wire\\src" "-ID:\\Devel\\arduino-1.8.8\\hardware\\arduino\\avr\\libraries\\EEPROM\\src" "C:\\Users\\dim\\AppData\\Local\\Temp\\arduino_build_223388\\sketch\\__HMC5883L.cpp" -o nul "D:\\Devel\\arduino-1.8.8\\hardware\\tools\\avr/bin/avr-g++" -c -g -Os -w -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -Wno-error=narrowing -flto -w -x c++ -E -CC -mmcu=atmega328p -DF_CPU=16000000L -DARDUINO=10808 -DARDUINO_AVR_NANO -DARDUINO_ARCH_AVR "-ID:\\Devel\\arduino-1.8.8\\hardware\\arduino\\avr\\cores\\arduino" "-ID:\\Devel\\arduino-1.8.8\\hardware\\arduino\\avr\\variants\\eightanaloginputs" "-ID:\\Devel\\arduino-1.8.8\\hardware\\arduino\\avr\\libraries\\Wire\\src" "-ID:\\Devel\\arduino-1.8.8\\hardware\\arduino\\avr\\libraries\\EEPROM\\src" "C:\\Users\\dim\\AppData\\Local\\Temp\\arduino_build_223388\\sketch\\__I2C.cpp" -o nul "D:\\Devel\\arduino-1.8.8\\hardware\\tools\\avr/bin/avr-g++" -c -g -Os -w -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -Wno-error=narrowing -flto -w -x c++ -E -CC -mmcu=atmega328p -DF_CPU=16000000L -DARDUINO=10808 -DARDUINO_AVR_NANO -DARDUINO_ARCH_AVR "-ID:\\Devel\\arduino-1.8.8\\hardware\\arduino\\avr\\cores\\arduino" "-ID:\\Devel\\arduino-1.8.8\\hardware\\arduino\\avr\\variants\\eightanaloginputs" "-ID:\\Devel\\arduino-1.8.8\\hardware\\arduino\\avr\\libraries\\Wire\\src" "-ID:\\Devel\\arduino-1.8.8\\hardware\\arduino\\avr\\libraries\\EEPROM\\src" "C:\\Users\\dim\\AppData\\Local\\Temp\\arduino_build_223388\\sketch\\__ITG3200.cpp" -o nul "D:\\Devel\\arduino-1.8.8\\hardware\\tools\\avr/bin/avr-g++" -c -g -Os -w -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -Wno-error=narrowing -flto -w -x c++ -E -CC -mmcu=atmega328p -DF_CPU=16000000L -DARDUINO=10808 -DARDUINO_AVR_NANO -DARDUINO_ARCH_AVR "-ID:\\Devel\\arduino-1.8.8\\hardware\\arduino\\avr\\cores\\arduino" "-ID:\\Devel\\arduino-1.8.8\\hardware\\arduino\\avr\\variants\\eightanaloginputs" "-ID:\\Devel\\arduino-1.8.8\\hardware\\arduino\\avr\\libraries\\Wire\\src" "-ID:\\Devel\\arduino-1.8.8\\hardware\\arduino\\avr\\libraries\\EEPROM\\src" "C:\\Users\\dim\\AppData\\Local\\Temp\\arduino_build_223388\\sketch\\__MPU6050.cpp" -o nul "D:\\Devel\\arduino-1.8.8\\hardware\\tools\\avr/bin/avr-g++" -c -g -Os -w -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -Wno-error=narrowing -flto -w -x c++ -E -CC -mmcu=atmega328p -DF_CPU=16000000L -DARDUINO=10808 -DARDUINO_AVR_NANO -DARDUINO_ARCH_AVR "-ID:\\Devel\\arduino-1.8.8\\hardware\\arduino\\avr\\cores\\arduino" "-ID:\\Devel\\arduino-1.8.8\\hardware\\arduino\\avr\\variants\\eightanaloginputs" "-ID:\\Devel\\arduino-1.8.8\\hardware\\arduino\\avr\\libraries\\Wire\\src" "-ID:\\Devel\\arduino-1.8.8\\hardware\\arduino\\avr\\libraries\\EEPROM\\src" "C:\\Users\\dim\\AppData\\Local\\Temp\\arduino_build_223388\\sketch\\__MPU6500.cpp" -o nul "D:\\Devel\\arduino-1.8.8\\hardware\\tools\\avr/bin/avr-g++" -c -g -Os -w -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -Wno-error=narrowing -flto -w -x c++ -E -CC -mmcu=atmega328p -DF_CPU=16000000L -DARDUINO=10808 -DARDUINO_AVR_NANO -DARDUINO_ARCH_AVR "-ID:\\Devel\\arduino-1.8.8\\hardware\\arduino\\avr\\cores\\arduino" "-ID:\\Devel\\arduino-1.8.8\\hardware\\arduino\\avr\\variants\\eightanaloginputs" "-ID:\\Devel\\arduino-1.8.8\\hardware\\arduino\\avr\\libraries\\Wire\\src" "-ID:\\Devel\\arduino-1.8.8\\hardware\\arduino\\avr\\libraries\\EEPROM\\src" "C:\\Users\\dim\\AppData\\Local\\Temp\\arduino_build_223388\\sketch\\__QMC5883.cpp" -o nul "D:\\Devel\\arduino-1.8.8\\hardware\\tools\\avr/bin/avr-g++" -c -g -Os -w -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -Wno-error=narrowing -flto -w -x c++ -E -CC -mmcu=atmega328p -DF_CPU=16000000L -DARDUINO=10808 -DARDUINO_AVR_NANO -DARDUINO_ARCH_AVR "-ID:\\Devel\\arduino-1.8.8\\hardware\\arduino\\avr\\cores\\arduino" "-ID:\\Devel\\arduino-1.8.8\\hardware\\arduino\\avr\\variants\\eightanaloginputs" "-ID:\\Devel\\arduino-1.8.8\\hardware\\arduino\\avr\\libraries\\Wire\\src" "-ID:\\Devel\\arduino-1.8.8\\hardware\\arduino\\avr\\libraries\\EEPROM\\src" "C:\\Users\\dim\\AppData\\Local\\Temp\\arduino_build_223388\\sketch\\__bmp280.cpp" -o nul "D:\\Devel\\arduino-1.8.8\\hardware\\tools\\avr/bin/avr-g++" -c -g -Os -w -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -Wno-error=narrowing -flto -w -x c++ -E -CC -mmcu=atmega328p -DF_CPU=16000000L -DARDUINO=10808 -DARDUINO_AVR_NANO -DARDUINO_ARCH_AVR "-ID:\\Devel\\arduino-1.8.8\\hardware\\arduino\\avr\\cores\\arduino" "-ID:\\Devel\\arduino-1.8.8\\hardware\\arduino\\avr\\variants\\eightanaloginputs" "-ID:\\Devel\\arduino-1.8.8\\hardware\\arduino\\avr\\libraries\\Wire\\src" "-ID:\\Devel\\arduino-1.8.8\\hardware\\arduino\\avr\\libraries\\EEPROM\\src" "D:\\Devel\\arduino-1.8.8\\hardware\\arduino\\avr\\libraries\\Wire\\src\\Wire.cpp" -o nul "D:\\Devel\\arduino-1.8.8\\hardware\\tools\\avr/bin/avr-g++" -c -g -Os -w -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -Wno-error=narrowing -flto -w -x c++ -E -CC -mmcu=atmega328p -DF_CPU=16000000L -DARDUINO=10808 -DARDUINO_AVR_NANO -DARDUINO_ARCH_AVR "-ID:\\Devel\\arduino-1.8.8\\hardware\\arduino\\avr\\cores\\arduino" "-ID:\\Devel\\arduino-1.8.8\\hardware\\arduino\\avr\\variants\\eightanaloginputs" "-ID:\\Devel\\arduino-1.8.8\\hardware\\arduino\\avr\\libraries\\Wire\\src" "-ID:\\Devel\\arduino-1.8.8\\hardware\\arduino\\avr\\libraries\\EEPROM\\src" "D:\\Devel\\arduino-1.8.8\\hardware\\arduino\\avr\\libraries\\Wire\\src\\utility\\twi.c" -o nul Generating function prototypes... "D:\\Devel\\arduino-1.8.8\\hardware\\tools\\avr/bin/avr-g++" -c -g -Os -w -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -Wno-error=narrowing -flto -w -x c++ -E -CC -mmcu=atmega328p -DF_CPU=16000000L -DARDUINO=10808 -DARDUINO_AVR_NANO -DARDUINO_ARCH_AVR "-ID:\\Devel\\arduino-1.8.8\\hardware\\arduino\\avr\\cores\\arduino" "-ID:\\Devel\\arduino-1.8.8\\hardware\\arduino\\avr\\variants\\eightanaloginputs" "-ID:\\Devel\\arduino-1.8.8\\hardware\\arduino\\avr\\libraries\\Wire\\src" "-ID:\\Devel\\arduino-1.8.8\\hardware\\arduino\\avr\\libraries\\EEPROM\\src" "C:\\Users\\dim\\AppData\\Local\\Temp\\arduino_build_223388\\sketch\\Razor_AHRS_5DOF_Tracker.ino.cpp" -o "C:\\Users\\dim\\AppData\\Local\\Temp\\arduino_build_223388\\preproc\\ctags_target_for_gcc_minus_e.cpp" "D:\\Devel\\arduino-1.8.8\\tools-builder\\ctags\\5.8-arduino11/ctags" -u --language-force=c++ -f - --c++-kinds=svpf --fields=KSTtzns --line-directives "C:\\Users\\dim\\AppData\\Local\\Temp\\arduino_build_223388\\preproc\\ctags_target_for_gcc_minus_e.cpp" Компиляция скетча... "D:\\Devel\\arduino-1.8.8\\hardware\\tools\\avr/bin/avr-g++" -c -g -Os -w -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -Wno-error=narrowing -MMD -flto -mmcu=atmega328p -DF_CPU=16000000L -DARDUINO=10808 -DARDUINO_AVR_NANO -DARDUINO_ARCH_AVR "-ID:\\Devel\\arduino-1.8.8\\hardware\\arduino\\avr\\cores\\arduino" "-ID:\\Devel\\arduino-1.8.8\\hardware\\arduino\\avr\\variants\\eightanaloginputs" "-ID:\\Devel\\arduino-1.8.8\\hardware\\arduino\\avr\\libraries\\Wire\\src" "-ID:\\Devel\\arduino-1.8.8\\hardware\\arduino\\avr\\libraries\\EEPROM\\src" "C:\\Users\\dim\\AppData\\Local\\Temp\\arduino_build_223388\\sketch\\Razor_AHRS_5DOF_Tracker.ino.cpp" -o "C:\\Users\\dim\\AppData\\Local\\Temp\\arduino_build_223388\\sketch\\Razor_AHRS_5DOF_Tracker.ino.cpp.o" "D:\\Devel\\arduino-1.8.8\\hardware\\tools\\avr/bin/avr-g++" -c -g -Os -w -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -Wno-error=narrowing -MMD -flto -mmcu=atmega328p -DF_CPU=16000000L -DARDUINO=10808 -DARDUINO_AVR_NANO -DARDUINO_ARCH_AVR "-ID:\\Devel\\arduino-1.8.8\\hardware\\arduino\\avr\\cores\\arduino" "-ID:\\Devel\\arduino-1.8.8\\hardware\\arduino\\avr\\variants\\eightanaloginputs" "-ID:\\Devel\\arduino-1.8.8\\hardware\\arduino\\avr\\libraries\\Wire\\src" "-ID:\\Devel\\arduino-1.8.8\\hardware\\arduino\\avr\\libraries\\EEPROM\\src" "C:\\Users\\dim\\AppData\\Local\\Temp\\arduino_build_223388\\sketch\\__MPU6500.cpp" -o "C:\\Users\\dim\\AppData\\Local\\Temp\\arduino_build_223388\\sketch\\__MPU6500.cpp.o" "D:\\Devel\\arduino-1.8.8\\hardware\\tools\\avr/bin/avr-g++" -c -g -Os -w -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -Wno-error=narrowing -MMD -flto -mmcu=atmega328p -DF_CPU=16000000L -DARDUINO=10808 -DARDUINO_AVR_NANO -DARDUINO_ARCH_AVR "-ID:\\Devel\\arduino-1.8.8\\hardware\\arduino\\avr\\cores\\arduino" "-ID:\\Devel\\arduino-1.8.8\\hardware\\arduino\\avr\\variants\\eightanaloginputs" "-ID:\\Devel\\arduino-1.8.8\\hardware\\arduino\\avr\\libraries\\Wire\\src" "-ID:\\Devel\\arduino-1.8.8\\hardware\\arduino\\avr\\libraries\\EEPROM\\src" "C:\\Users\\dim\\AppData\\Local\\Temp\\arduino_build_223388\\sketch\\__ITG3200.cpp" -o "C:\\Users\\dim\\AppData\\Local\\Temp\\arduino_build_223388\\sketch\\__ITG3200.cpp.o" "D:\\Devel\\arduino-1.8.8\\hardware\\tools\\avr/bin/avr-g++" -c -g -Os -w -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -Wno-error=narrowing -MMD -flto -mmcu=atmega328p -DF_CPU=16000000L -DARDUINO=10808 -DARDUINO_AVR_NANO -DARDUINO_ARCH_AVR "-ID:\\Devel\\arduino-1.8.8\\hardware\\arduino\\avr\\cores\\arduino" "-ID:\\Devel\\arduino-1.8.8\\hardware\\arduino\\avr\\variants\\eightanaloginputs" "-ID:\\Devel\\arduino-1.8.8\\hardware\\arduino\\avr\\libraries\\Wire\\src" "-ID:\\Devel\\arduino-1.8.8\\hardware\\arduino\\avr\\libraries\\EEPROM\\src" "C:\\Users\\dim\\AppData\\Local\\Temp\\arduino_build_223388\\sketch\\__AK8963.cpp" -o "C:\\Users\\dim\\AppData\\Local\\Temp\\arduino_build_223388\\sketch\\__AK8963.cpp.o" "D:\\Devel\\arduino-1.8.8\\hardware\\tools\\avr/bin/avr-g++" -c -g -Os -w -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -Wno-error=narrowing -MMD -flto -mmcu=atmega328p -DF_CPU=16000000L -DARDUINO=10808 -DARDUINO_AVR_NANO -DARDUINO_ARCH_AVR "-ID:\\Devel\\arduino-1.8.8\\hardware\\arduino\\avr\\cores\\arduino" "-ID:\\Devel\\arduino-1.8.8\\hardware\\arduino\\avr\\variants\\eightanaloginputs" "-ID:\\Devel\\arduino-1.8.8\\hardware\\arduino\\avr\\libraries\\Wire\\src" "-ID:\\Devel\\arduino-1.8.8\\hardware\\arduino\\avr\\libraries\\EEPROM\\src" "C:\\Users\\dim\\AppData\\Local\\Temp\\arduino_build_223388\\sketch\\__HMC5883L.cpp" -o "C:\\Users\\dim\\AppData\\Local\\Temp\\arduino_build_223388\\sketch\\__HMC5883L.cpp.o" "D:\\Devel\\arduino-1.8.8\\hardware\\tools\\avr/bin/avr-g++" -c -g -Os -w -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -Wno-error=narrowing -MMD -flto -mmcu=atmega328p -DF_CPU=16000000L -DARDUINO=10808 -DARDUINO_AVR_NANO -DARDUINO_ARCH_AVR "-ID:\\Devel\\arduino-1.8.8\\hardware\\arduino\\avr\\cores\\arduino" "-ID:\\Devel\\arduino-1.8.8\\hardware\\arduino\\avr\\variants\\eightanaloginputs" "-ID:\\Devel\\arduino-1.8.8\\hardware\\arduino\\avr\\libraries\\Wire\\src" "-ID:\\Devel\\arduino-1.8.8\\hardware\\arduino\\avr\\libraries\\EEPROM\\src" "C:\\Users\\dim\\AppData\\Local\\Temp\\arduino_build_223388\\sketch\\__MPU6050.cpp" -o "C:\\Users\\dim\\AppData\\Local\\Temp\\arduino_build_223388\\sketch\\__MPU6050.cpp.o" "D:\\Devel\\arduino-1.8.8\\hardware\\tools\\avr/bin/avr-g++" -c -g -Os -w -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -Wno-error=narrowing -MMD -flto -mmcu=atmega328p -DF_CPU=16000000L -DARDUINO=10808 -DARDUINO_AVR_NANO -DARDUINO_ARCH_AVR "-ID:\\Devel\\arduino-1.8.8\\hardware\\arduino\\avr\\cores\\arduino" "-ID:\\Devel\\arduino-1.8.8\\hardware\\arduino\\avr\\variants\\eightanaloginputs" "-ID:\\Devel\\arduino-1.8.8\\hardware\\arduino\\avr\\libraries\\Wire\\src" "-ID:\\Devel\\arduino-1.8.8\\hardware\\arduino\\avr\\libraries\\EEPROM\\src" "C:\\Users\\dim\\AppData\\Local\\Temp\\arduino_build_223388\\sketch\\__I2C.cpp" -o "C:\\Users\\dim\\AppData\\Local\\Temp\\arduino_build_223388\\sketch\\__I2C.cpp.o" "D:\\Devel\\arduino-1.8.8\\hardware\\tools\\avr/bin/avr-g++" -c -g -Os -w -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -Wno-error=narrowing -MMD -flto -mmcu=atmega328p -DF_CPU=16000000L -DARDUINO=10808 -DARDUINO_AVR_NANO -DARDUINO_ARCH_AVR "-ID:\\Devel\\arduino-1.8.8\\hardware\\arduino\\avr\\cores\\arduino" "-ID:\\Devel\\arduino-1.8.8\\hardware\\arduino\\avr\\variants\\eightanaloginputs" "-ID:\\Devel\\arduino-1.8.8\\hardware\\arduino\\avr\\libraries\\Wire\\src" "-ID:\\Devel\\arduino-1.8.8\\hardware\\arduino\\avr\\libraries\\EEPROM\\src" "C:\\Users\\dim\\AppData\\Local\\Temp\\arduino_build_223388\\sketch\\__QMC5883.cpp" -o "C:\\Users\\dim\\AppData\\Local\\Temp\\arduino_build_223388\\sketch\\__QMC5883.cpp.o" "D:\\Devel\\arduino-1.8.8\\hardware\\tools\\avr/bin/avr-g++" -c -g -Os -w -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -Wno-error=narrowing -MMD -flto -mmcu=atmega328p -DF_CPU=16000000L -DARDUINO=10808 -DARDUINO_AVR_NANO -DARDUINO_ARCH_AVR "-ID:\\Devel\\arduino-1.8.8\\hardware\\arduino\\avr\\cores\\arduino" "-ID:\\Devel\\arduino-1.8.8\\hardware\\arduino\\avr\\variants\\eightanaloginputs" "-ID:\\Devel\\arduino-1.8.8\\hardware\\arduino\\avr\\libraries\\Wire\\src" "-ID:\\Devel\\arduino-1.8.8\\hardware\\arduino\\avr\\libraries\\EEPROM\\src" "C:\\Users\\dim\\AppData\\Local\\Temp\\arduino_build_223388\\sketch\\__ADXL345.cpp" -o "C:\\Users\\dim\\AppData\\Local\\Temp\\arduino_build_223388\\sketch\\__ADXL345.cpp.o" "D:\\Devel\\arduino-1.8.8\\hardware\\tools\\avr/bin/avr-g++" -c -g -Os -w -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -Wno-error=narrowing -MMD -flto -mmcu=atmega328p -DF_CPU=16000000L -DARDUINO=10808 -DARDUINO_AVR_NANO -DARDUINO_ARCH_AVR "-ID:\\Devel\\arduino-1.8.8\\hardware\\arduino\\avr\\cores\\arduino" "-ID:\\Devel\\arduino-1.8.8\\hardware\\arduino\\avr\\variants\\eightanaloginputs" "-ID:\\Devel\\arduino-1.8.8\\hardware\\arduino\\avr\\libraries\\Wire\\src" "-ID:\\Devel\\arduino-1.8.8\\hardware\\arduino\\avr\\libraries\\EEPROM\\src" "C:\\Users\\dim\\AppData\\Local\\Temp\\arduino_build_223388\\sketch\\__bmp280.cpp" -o "C:\\Users\\dim\\AppData\\Local\\Temp\\arduino_build_223388\\sketch\\__bmp280.cpp.o" D:\44\Razor_AHRS_5DOF_Tracker\Razor_AHRS_5DOF_Tracker.ino: In function 'void Acc2PitchRoll(float*, float&, float&)': Razor_AHRS_5DOF_Tracker:481:41: error: 'Vector_Cross_Product' was not declared in this scope D:\44\Razor_AHRS_5DOF_Tracker\Razor_AHRS_5DOF_Tracker.ino: In function 'void reset_sensor_fusion()': Razor_AHRS_5DOF_Tracker:500:27: error: 'compensate_sensor_errors' was not declared in this scope Razor_AHRS_5DOF_Tracker:505:53: error: 'Init_rotation_matrix' was not declared in this scope Razor_AHRS_5DOF_Tracker:509:20: error: 'Compass_Heading' was not declared in this scope reset_sensor_fusion(); ^ Razor_AHRS_5DOF_Tracker:525:25: error: 'NullVector' was not declared in this scope D:\44\Razor_AHRS_5DOF_Tracker\Razor_AHRS_5DOF_Tracker.ino: In function 'void compensate(float*, byte, const float*, const float (*)[3])': Razor_AHRS_5DOF_Tracker:543:47: error: 'Matrix_Vector_Multiply' was not declared in this scope else if (output_param == 'b') // Output angles in _b_inary format ^ D:\44\Razor_AHRS_5DOF_Tracker\Razor_AHRS_5DOF_Tracker.ino: In function 'void NullNeck()': Razor_AHRS_5DOF_Tracker:566:21: error: 'NullVector' was not declared in this scope D:\44\Razor_AHRS_5DOF_Tracker\Razor_AHRS_5DOF_Tracker.ino: In function 'void setup()': Razor_AHRS_5DOF_Tracker:583:13: error: 'EEprom2RAM' was not declared in this scope #endif ^ Razor_AHRS_5DOF_Tracker:602:25: error: 'IdentityMatrix' was not declared in this scope Num = Sensor.I2Cread(I2Cadr, Adr, Num, Buf); ^ Razor_AHRS_5DOF_Tracker:604:13: error: 'LoadCenter' was not declared in this scope Razor_AHRS_5DOF_Tracker:606:12: error: 'FT_Setup' was not declared in this scope D:\44\Razor_AHRS_5DOF_Tracker\Razor_AHRS_5DOF_Tracker.ino: In function 'void loop()': Razor_AHRS_5DOF_Tracker:675:16: error: 'FixCenter' was not declared in this scope Drift_correction_RollPitch(acc_head, DCM_head, Omega_P_head, Omega_I_head); ^ Razor_AHRS_5DOF_Tracker:677:24: error: 'ResetCenterMatrix' was not declared in this scope Razor_AHRS_5DOF_Tracker:694:43: error: 'output_float' was not declared in this scope Razor_AHRS_5DOF_Tracker:696:40: error: 'output_float' was not declared in this scope Razor_AHRS_5DOF_Tracker:721:55: error: 'Serial2EEprom' was not declared in this scope Razor_AHRS_5DOF_Tracker:722:51: error: 'EEprom2Serial' was not declared in this scope Razor_AHRS_5DOF_Tracker:723:49: error: 'CheckEEprom' was not declared in this scope Razor_AHRS_5DOF_Tracker:724:48: error: 'SaveCenter' was not declared in this scope Razor_AHRS_5DOF_Tracker:725:49: error: 'EraseEEprom' was not declared in this scope Razor_AHRS_5DOF_Tracker:727:51: error: 'Center2Serial' was not declared in this scope Razor_AHRS_5DOF_Tracker:768:23: error: 'NullVector' was not declared in this scope Razor_AHRS_5DOF_Tracker:776:64: error: 'Matrix_update' was not declared in this scope Razor_AHRS_5DOF_Tracker:777:22: error: 'Normalize' was not declared in this scope Razor_AHRS_5DOF_Tracker:778:77: error: 'Drift_correction_RollPitch' was not declared in this scope Razor_AHRS_5DOF_Tracker:781:22: error: 'Compass_Heading' was not declared in this scope Razor_AHRS_5DOF_Tracker:782:32: error: 'Drift_correction_Yaw_Head' was not declared in this scope Razor_AHRS_5DOF_Tracker:790:31: error: 'Drift_correction_Yaw_Neck' was not declared in this scope Razor_AHRS_5DOF_Tracker:794:28: error: 'IdentityMatrix' was not declared in this scope Razor_AHRS_5DOF_Tracker:796:11: error: 'Angles' was not declared in this scope Razor_AHRS_5DOF_Tracker:797:11: error: 'Shifts' was not declared in this scope Razor_AHRS_5DOF_Tracker:798:60: error: 'output_angles' was not declared in this scope Razor_AHRS_5DOF_Tracker:802:64: error: 'output_sensors' was not declared in this scope D:\44\Razor_AHRS_5DOF_Tracker\Dcm.ino: In function 'void Matrix_update(float*, float (*)[3], float*, float*)': Dcm:11:32: error: 'Vector_Add' was not declared in this scope Vector_Add(Omega, gyr, OmegaI); //adding Integrator term ^ Dcm:26:40: error: 'Matrix_Multiply' was not declared in this scope Matrix_Multiply(DCM, Update_Matrix, M); //a*b=c ^ D:\44\Razor_AHRS_5DOF_Tracker\Dcm.ino: In function 'void Normalize(float (*)[3])': Dcm:35:43: error: 'Vector_Dot_Product' was not declared in this scope error= -Vector_Dot_Product(DCM[0],DCM[1])*.5; //eq.19 ^ Dcm:36:35: error: 'Vector_Scale' was not declared in this scope Vector_Scale(M[0], DCM[1], error); //eq.19 ^ Dcm:39:32: error: 'Vector_Add' was not declared in this scope Vector_Add(M[0], M[0], DCM[0]); //eq.19 ^ Dcm:42:38: error: 'Vector_Cross_Product' was not declared in this scope Vector_Cross_Product(M[2],M[0],M[1]); // c= a x b //eq.20 ^ D:\44\Razor_AHRS_5DOF_Tracker\Dcm.ino: In function 'void Drift_correction_RollPitch(float*, float (*)[3], float*, float*)': Dcm:58:33: error: 'Weight' was not declared in this scope float Accel_weight = Weight(acc); ^ Dcm:61:51: error: 'Vector_Cross_Product' was not declared in this scope Vector_Cross_Product(errorRollPitch, acc, DCM[2]); ^ Dcm:62:67: error: 'Vector_Scale' was not declared in this scope Vector_Scale(OmegaP, errorRollPitch, Kp_ROLLPITCH * Accel_weight); ^ Dcm:66:44: error: 'Vector_Add' was not declared in this scope Vector_Add(OmegaI, OmegaI, Scaled_Omega_I); ^ D:\44\Razor_AHRS_5DOF_Tracker\Dcm.ino: In function 'void Drift_correction_Yaw_Head()': Dcm:108:48: error: 'Vector_Scale' was not declared in this scope Vector_Scale(errorYaw,DCM_head[2],errorCourse); //Applys the yaw correction to the XYZ rotation of the aircraft, depeding the position. ^ Dcm:112:56: error: 'Vector_Add' was not declared in this scope Vector_Add(Omega_P_head, Omega_P_head, Scaled_Omega_P); //Adding Proportional. ^ D:\44\Razor_AHRS_5DOF_Tracker\Dcm.ino: In function 'void Drift_correction_Yaw_Neck()': Dcm:128:48: error: 'Vector_Scale' was not declared in this scope Vector_Scale(errorYaw,DCM_neck[2],errorCourse); //Applys the yaw correction to the XYZ rotation of the aircraft, depeding the position. ^ Dcm:132:56: error: 'Vector_Add' was not declared in this scope Vector_Add(Omega_P_neck, Omega_P_neck, Scaled_Omega_P); //Adding Proportional. ^ D:\44\Razor_AHRS_5DOF_Tracker\FaceTrack.ino: In function 'void CenterYP(float (*)[3], float (*)[3], char (*)[3])': FaceTrack:26:18: error: 'IdentityMatrix' was not declared in this scope IdentityMatrix(M); ^ FaceTrack:27:27: error: 'Matrix_Multiply' was not declared in this scope Matrix_Multiply(M, OM, MM); //a*b=c ^ D:\44\Razor_AHRS_5DOF_Tracker\FaceTrack.ino: In function 'void FixCenter()': FaceTrack:51:55: error: 'Matrix_Multiply' was not declared in this scope Matrix_Multiply(DCM_head, Calibr.D.orient_matrix, MM); ^ D:\44\Razor_AHRS_5DOF_Tracker\FaceTrack.ino: In function 'void ResetCenterMatrix()': FaceTrack:70:30: error: 'IdentityMatrix' was not declared in this scope IdentityMatrix(Center.Matrix); ^ Используем библиотеку Wire версии 1.0 из папки: D:\Devel\arduino-1.8.8\hardware\arduino\avr\libraries\Wire Используем библиотеку EEPROM версии 2.0 из папки: D:\Devel\arduino-1.8.8\hardware\arduino\avr\libraries\EEPROM exit status 1 'Vector_Cross_Product' was not declared in this scope Понятно, что оно хочет, чтобы прототипы всех функций были описаны в каком-нибудь заголовочном файле (хотя бы в "Menu.h"). Но как оно вообще у кого-то собиралось?
Alator Опубликовано: 24 февраля 2019 Опубликовано: 24 февраля 2019 (изменено) Arduino 1.8.9Hourly Build 2018/12/19 - вообще без проблем. Может чего то криво скачалось, или наоборот каких библиотек не хватает? Изменено 24 февраля 2019 пользователем =19fab=Alator
dim666 Опубликовано: 25 февраля 2019 Опубликовано: 25 февраля 2019 Странно, но в версиях 1.8.3, 1.8.5 и arduino-nightly (из hourly-builds) всё собирается. Проблема только в 1.8.8. Той, которая официальный релиз...
GO63 Опубликовано: 2 марта 2019 Автор Опубликовано: 2 марта 2019 Razor AHRS 5DOF [20190111]: Самодельный инерционный 5DOF трекер Предыдущая версия трекера Razor AHRS 5DOF [20180715] хорошо работает в проводном исполнении. Многие товарищи, собиравшие беспроводной Bluetooth вариант этого трекера, сообщили, что столкнулись с некоторыми проблемами. Я решил это проверить, и тоже столкнулся с трудностями. В результате появилась новая версия Razor AHRS 5DOF [20190111], в которой исправлены баги и добавлены новые возможности при работе через Bluetooth и при питании трекера от литиевой батареи. Вариант Razor AHRS 5DOF [20190111] подходит для любых вариантов исполнения трекера, 3DOF или 5DOF: Проводной версии трекера, Bluetooth версии трекера с питанием от повербанка, Bluetooth версии трекера с питанием от литиевой батареи. Razor AHRS 5DOF [20190111]: Самодельный инерционный 5DOF трекер 1 2
=FA=CATFISH Опубликовано: 2 марта 2019 Опубликовано: 2 марта 2019 24 минуты назад, GO63 сказал: Razor AHRS 5DOF [20190111]: Самодельный инерционный 5DOF трекер Предыдущая версия трекера Razor AHRS 5DOF [20180715] хорошо работает в проводном исполнении. Многие товарищи, собиравшие беспроводной Bluetooth вариант этого трекера, сообщили, что столкнулись с некоторыми проблемами. Я решил это проверить, и тоже столкнулся с трудностями. В результате появилась новая версия Razor AHRS 5DOF [20190111], в которой исправлены баги и добавлены новые возможности при работе через Bluetooth и при питании трекера от литиевой батареи. Вариант Razor AHRS 5DOF [20190111] подходит для любых вариантов исполнения трекера, 3DOF или 5DOF: Проводной версии трекера, Bluetooth версии трекера с питанием от повербанка, Bluetooth версии трекера с питанием от литиевой батареи. Razor AHRS 5DOF [20190111]: Самодельный инерционный 5DOF трекер Вот спасибо!!! Что-то мне подсказывало, что не надо торопиться и домучивать предыдущий вариант. Наверное телепатия таки существует. ))) Буду посмотреть
=FA=CATFISH Опубликовано: 2 марта 2019 Опубликовано: 2 марта 2019 2 часа назад, =FA=CATFISH сказал: Буду посмотреть Я бы тумблер подкючил по другому: 1. разяд батареи/выкл трекер. 2. вкл трекер. А то при включенном трекере и включенной зарядке как бы чего не вышло с модулями. Они не любят превышения напряжения. Мало ли какими зарядками будут пользоваться.
GO63 Опубликовано: 2 марта 2019 Автор Опубликовано: 2 марта 2019 Так сначала я и сделал. Но ток заряда достигает 1А в начале процесса. Для тумблера это нормально, а микрокнопка поджарилась (На фотке видно, что часть дорожек я сделал проводом, в схеме Layout уже всё нормально). По моей новой схеме ток через кнопку при заряде не идёт. И можно для прикола снимать график заряда батареи, только он не точный, завышенный, и заряд длится дольше. Испытано, при питании трекера и работе зарядника ничего страшного не происходит, батарея является буфером по питанию.
Polosaty_Shmel Опубликовано: 26 августа 2019 Опубликовано: 26 августа 2019 Есть и вполне неплохо работает. 1
Alator Опубликовано: 28 августа 2019 Опубликовано: 28 августа 2019 Лично мне немного неудобно ощущать второй датчик на шее, но это дело привычки. А так же не хватает на некоторых самолетах шестой оси (приподнятся/опуститься), поэтому полеты комбинирую - когда с инерционником, а когда и с клипсой обычной. Но при полетах на телевизоре с 46 диагональю - для меня вещь незаменимая. Собственно для этого он и собирался, так как городить на телек вебкамеру не совсем удобно и ясным днём моя клипса до нее не добивает? Собрана связка ProMicro/GY521/GY9250/HC-05 1
Polosaty_Shmel Опубликовано: 28 августа 2019 Опубликовано: 28 августа 2019 9 часов назад, eagle1602 сказал: Я так понимаю есть и недостатки??? Поделитесь впечатлениями??? Извиняюсь перед автором топика, что вопрос задаю здесь, не хочется плодить темы-двойники. Как написал товарищ выше, отсутствие 6-й оси, иногда нужно наклониться, как в И-16. И еще способ размещения на шее придумать надо, у меня на дужке для волос, при этом дужка елозит по шее, поправлять приходится, а так даже лучше чем инфр. трекер самодельный, за TrackIr говорить об удобстве не берусь, не пробовал.
=FA=CATFISH Опубликовано: 28 августа 2019 Опубликовано: 28 августа 2019 6 часов назад, Polosaty_Shmel сказал: ... И еще способ размещения на шее придумать надо, у меня на дужке для волос, при этом дужка елозит по шее, поправлять приходится, ... На куске медицинского пластыря на загривок или на грудь. Я тоже перебирал способы крепления. Пока ничего лучше не придумал 1
GO63 Опубликовано: 28 августа 2019 Автор Опубликовано: 28 августа 2019 А на форуме тундры крепят нижний датчик на колпачок шариковой ручки и цепляют его за воротник футболки
Polosaty_Shmel Опубликовано: 29 августа 2019 Опубликовано: 29 августа 2019 (изменено) Если крепить на футболку или как у меня на дужку и на шею, то при шевелении плечами происходит поворот датчика и, как следствие, смещение по оси Х в игре. Хотя стоит попробовать с колпачком, может лучше будет. Изменено 29 августа 2019 пользователем Polosaty_Shmel
John_Psi Опубликовано: 4 сентября 2019 Опубликовано: 4 сентября 2019 (изменено) 04.08.2018 в 21:41, GO63 сказал: Противник теперь не спрячется Здравствуйте, уважаемый разработчик! Собрал и пытаюсь откалибровать трекер по варианту Razor AHRS [20180306] Не могу справится с калибровкой магнитометра - "пружинка" по yaw не убирается. Были подозрения что модуль GY-85 бракованный, приобрёл GY-9250 - результат тот же. Обнаружил при попытках настроить, что вращение модуля в оси jaw даёт очень маленький "пробег" датчика. Во всех остальных осях (в том числе при калибровке) "пробег" нормальный. Скриншоты крайних положений yaw: Скрытый текст Влево на 90 градусов: Вправо на 90 градусов: Расположение датчика следущее: Скрытый текст Подскажите пожалуйста, в чём может быть дело? Заранее благодарю. Изменено 4 сентября 2019 пользователем John_Psi
GO63 Опубликовано: 4 сентября 2019 Автор Опубликовано: 4 сентября 2019 (изменено) После калибровки магнитометра Rmax/Rmin должно быть не больше 1.1 На скрине не видно, сколько получилось? Использовать всегда следует крайнюю версию Razor AHRS. Сейчас это версия [20190111]: https://sites.google.com/site/diyheadtracking/home/diy-razor-ahrs-5dof-20190111 Важно калибровать магнитометр правильно: В той точке пространства, где будет голова во время игры, так как магнитное поле Земли неоднородно даже в разных точках комнаты. Датчик должен быть уже окончательно закреплён на наушниках и между чашками нужно вставить неметаллическую вставку по ширине головы (футбольную камеру или коробку), чтобы магнитное поле от наушников на датчик трекера было таким же, как когда наушники на голове. После калибровки значение Rmax/Rmin должно быть не больше 1,1. Не забыть записать калибровку в Ардуино кнопками [Arduino...] [Write Arduino...] [OK]. Во время калибровки датчик (вместе с наушниками и камерой) надо вращать в руках во всех направлениях, чтобы получился эллипсоид из желтых точек. В это время датчик должен быть там, где будет голова во время игры. То есть придётся встать за спинку кресла и крутить датчик в руках, над спинкой кресла. Изменено 4 сентября 2019 пользователем GO63
John_Psi Опубликовано: 4 сентября 2019 Опубликовано: 4 сентября 2019 Благодарю за столь быстрый ответ! 3 часа назад, GO63 сказал: На скрине не видно, сколько получилось? В пределах 0,95 - 1,05, как по гайду. 3 часа назад, GO63 сказал: или коробку Да, нацепил уши с датчиком на мячик, дополнительнео закрепив их скотчем. Проводил процедуру раз двадцать, в самых разных вариантах. 3 часа назад, GO63 сказал: над спинкой кресла Именно так, причём опирался предплечьями на спинку данного кресла: Скрытый текст С вашего позволения, напишу вам в личку, чтоб не засорять топик. Есть некоторые соображения, спасибо, что уделяете время!
GO63 Опубликовано: 25 ноября 2019 Автор Опубликовано: 25 ноября 2019 Всем привет! Теперь крайняя версия трекера - Razor AHRS 5DOF [20191019]: Версия Razor AHRS 5DOF [20191019] является дальнейшим развитием версии [20190111]. Также в ней использованы идеи из WiFi версии трекера товарища (aka Debarole): http://zakamik-ru.blogspot.com/2017/08/blog-post.html за которую ему огромное спасибо! Также спасибо товарищу HABEPHO (ака _HABEPHO_ (ака BY HABEPHO)) за помощь в тестировании WiFi версии трекера на Wemos D1 Mini. Что нового в этой версии: Исправлены баги предыдущей версии [20190111]: Неверное определение типа модуля сенсоров и версии прошивки в режиме 3DOF под Windows 10. Запись пустых файлов результатов измерений для акселерометра и гироскопа в режиме 3DOF (в файлы *.fltA, *.fltG в папке Measurements). Ошибки сканирования в Razor_I2C_scanner под Windows 10. И другие баги. Оптимизирован алгоритм коррекции угла Yaw по магнитометру, без использования тригонометрических функций, что увеличило точность и уменьшило время вычислений (на 750 мксек или 3,75% от интервала опроса). Добавлена возможность калибровки магнитометра прямо на голове, без снятия наушников, что позволяет правильно учесть влияние магнитов в наушниках на магнитометр, и осуществить калибровку магнитометра точно в той точке комнаты, где будет находиться магнитометр во время игры. Добавлена возможность отключения / включения любого из пяти 3D сенсоров трекера, для удовлетворения любознательности пользователя «а что будет, если…» (Да, часто спрашивают!). Улучшена светодиодная индикация режимов работы. Светодиод в рабочем режиме в этой версии не включен постоянно в режиме 5DOF, теперь светодиод делает одиночные (3DOF) или двойные (5DOF) вспышки с периодом 4 сек. Это уменьшило потребляемый ток от батареи. Для Arduino Pro Micro индикация режимов выведена на светодиод RX. Коррекция измеренного напряжения [Unew] и порога [Umin] теперь задаётся не в скетче, а в калибраторе, в окне [Arduino…]. Также в окно [Arduino…] добавлены кнопки чтения матриц центровки, напряжения, температуры гироскопа и атмосферного давления. Добавлена поддержка ESP8266 (испытано на Wemos D1 Mini) и поэтому у трекера появился режим работы WiFi UDP. В пакет программ добавлена утилита Razor_WiFi_Config для настройки параметров подключения к WiFi сети. Настройки сети запоминаются в EEPROM. Это единственная утилита в пакете из шести программ, которая не может работать через сеть WiFi, а только через виртуальный COM-порт (USB). В файле Connect.ini появились дополнительные настройки, связанные с возможностью связи по WiFi. Вариант Razor AHRS 5DOF [20191019] подходит для любых вариантов исполнения трекера, 3DOF или 5DOF: Проводной версии трекера, Bluetooth версии на Arduino и модуле HC-05/06 WiFi версии трекера на ESP8266 (Wemos D1 Mini) Подробнее: Razor AHRS 5DOF [20191019]: Самодельный инерционный 5DOF трекер https://youtu.be/vqqns8gooic 4 2
=FA=CATFISH Опубликовано: 25 ноября 2019 Опубликовано: 25 ноября 2019 Таки не доделал по предыдущей версии. На коленках, на голове и на хребте все работало. И по эфиру bluetooth тож. Стал утрамбовывать в коробочку - чОта накосячил вероятно. И тут случилось страшное. Лень и отупение превозмогли. Бажаю тобі успіху. Нехай щастить
Рекомендованные сообщения
Создайте аккаунт или войдите в него для комментирования
Вы должны быть пользователем, чтобы оставить комментарий
Создать аккаунт
Зарегистрируйтесь для получения аккаунта. Это просто!
Зарегистрировать аккаунтВойти
Уже зарегистрированы? Войдите здесь.
Войти сейчас