Проверка работы трекера в Мониторе порта

В версии [20190111] добавлен вывод в Монитор порта процесса инициализации устройств в функции Setup() скетча.

Ко мне пару раз обращались с такой проблемой, что скетч не доходил до основного цикла Loop(). Введение вывода процесса инициализации в Монитор порта позволило выявить проблему с инициализацией модулей сенсоров.

Для проверки работы трекера в Мониторе порта нужно сделать следующее:

  • Переподключите трекер. То есть выключите его и снова включите. Это необходимо в случае Pro Micro.

  • Выберите в Arduino IDE верный номер COM-порта и запустите Монитор порта.

  • Проверьте скорость 57600 (или 115200). Если скорость не та, исправьте и начните всё сначала.

  • В открывшемся окне Монитора порта вы должны увидеть непрерывный поток нетекстовых данных.

  • Для Arduino Nano и Arduino Pro Mini нажмите кнопку [ Reset ] на плате Arduino.

  • Введите в верхней строке команду: #o0 [Отправить]. Поток данных должен остановиться.

  • Вертикальной и горизонтальной полосами прокрутки найдите начало вывода в Монитор. Вы увидите протокол загрузки, похожий на этот:

Здесь можно увидеть:

  • Razor AHRS 5DOF [20190111] – версия прошитого скетча

  • SensorVariant 8 – версия прошитого варианта верхнего модуля “Head”

  • Bluetooth 1 – включено использования связи по Bluetooth

  • BaudRate 57600 – скорость обмена

  • BatteryControl 1 – включен контроль батареи

  • Umin 3.60 – напряжение батареи, ниже которого будет моргать светодиод на пине 13.

  • Head Sensor Init.. OK – эта строчка означает, что скетч не завис при инициализации верхнего модуля, о работе верхнего модуля из этой строчки нельзя делать выводы.

  • Neck Sensor Init.. OK, 5DOF mode - эта строчка означает намного больше - что трекер не завис при инициализации нижнего модуля GY-521, и нижний модуль ответил на инициализацию. То есть, резистор к нему подпаян верно, и все провода к нему тоже верно подключены.

  • Main loop: - эта строка означает, что трекер полностью выполнил функцию Setup() и дошёл до выполнения основного цикла Loop().

Теперь трекер может принимать и выполнять команды, в чём мы уже убедились на команде #o0.

Очень полезно проверить и команды #o1#osrt. Эти команды включают поток данных и задают вывод в текстовом виде некалиброванных значений датчиков верхнего модуля сенсоров:

При повороте верхнего модуля "Head" данные со всех трёх сенсоров должны изменяться.


В версии [20191019] появилась поддержка контроллеров ESP8266.

Проверку работы WiFi трекера на модуле Wemos D1 Mini я делал так:

В Arduino IDE нужно открыть Монитор порта [Ctrl+Shift+M] и задать скорость 57600 бод, как на странице Menu.h.

На экране видим непрерывный поток символов. Введём команду #o0 [Отправить], поток остановится. Очистим экран монитора кнопкой [Очистить вывод]. Нажмём кнопку Reset на модуле Wemos, а затем, когда польётся поток символов, снова остановим поток командой #o0 [Отправить]. Поток остановлен. Теперь полосами прокрутки влево и вверх найдём протокол выполнения функции Setup(), который при удачном подключении к сети WiFi должен выглядеть примерно так:

...

Razor AHRS 5DOF [20191019]

SensorVariant 8

Bluetooth 0

BaudRate 57600

BatteryControl 1

Umin 3.60

UseWiFi 1

(EEprom) SSID: TPlinkLAN

(EEprom) Port: 5550

-------------

Connecting to TPlinkLAN:

............

Connected!

LocalIP : 192.168.0.103

MacAddress : 84:F3:EB:59:EA:EF

SubnetMask : 255.255.255.0

GatewayIP : 192.168.0.1

SSID : TPlinkLAN

RSSI (dB) : -64

Broadcast IP : 192.168.0.255

UDP port : 5550

-------------

Connection status: 3

-------------

Head Sensor Init.. OK

Neck Sensor Init.. OK, 5DOF mode

Main loop:

.................