Всем привет. Если при сборке магнитного указателя на arduino nano вы смотрите на схему, которую я давал несколько сообщений выше, то обратите внимание.
1. Эту плату с микроконтроллером выпускают много разных производителей, и сама nano бывает нескольких версий, поэтому куда что подключать смотрите на своей плате по названию пина (GND , Vin , A4 , A5 , 5V , D3) . Номера пинов (28,29,30 и т.д. ) могут не совпадать т.к. разные производители могут писать разные номера.
2. При калибровке магнитометра в ардуину загружается отдельный скетч
HMC5883L_calibrate.ino и этот скетч нужен только для калибровки. После получения значений калибровки, загружается мой ( или ваш) скетч с программой магнитного указателя.
3. При калибровке вы работаете через processing на ПК. Скетч HMC5883L_calibrate.ino выдает вам данные, но processing (и вы) может не видеть данные, если у вас не настроен порт в windows для работы и порт в самой программе processing. У меня например пришлось удалить все устройства из системы с com портами, чтобы остался единственный с подключенной ардуиной, и только тогда processing нормально подхватил данные.
4. Мой скетч и моя схема напрямую проверена только с Garmin. Для других производителей эхолотов эта схема работать должна, но возможно потребуется изменить одну строку в скечте.
SoftwareSerial GarminSerial(2, 3, 1); // RX, TX ,Logic invretor
на
SoftwareSerial GarminSerial(2, 3); // RX, TX
По мере поступления вопросов в личку, постараюсь дополнять тут информацию при необходимости.
Удачи.