Проблема в том, что в моей поворотке все настроено с 0 градусов на севере и 180 на юге. Понятно, что полный разворот 450 градусов. Ну чтобы иметь возможность побыстрее довернуть антенну на DX если через задницу быстрее. Много раз выручало. Знаете, когда живешь с небольшой мощностью очень часто бывает так что если не успел пока бигганы набежали, потом никак.
Ну сделал вращалку, прописал нужные милливольты с потенциометра и градусы. А потом стал думать как угол на LCD выводить. Вроде удобнее от 0 до 360. Значит 450 надо пересчитать. И серединку поместить на север . А сколько теперь чего и от кого отнять чтобы потенциометр указателя, на котором написано 0-360, поместить в центр и использовать только 360 градусов поворота? Сломал голову в уме и изготовил себе костыль для ума. Эдакий секстант. :-) Сижу, переворачиваю целофан, думаю :-)
Вот прямо сейчас тестирую такой алгоритм:
- angle = map(X1,0,940,0,360);
- showangle = map(angle, 40,328, 0,360)-180;
- if (showangle <0) {showangle = abs (360 + showangle);}
- где Х1 - analogRead (A0) - чтение с потенциометра что наверху мачты,
Пока на старом аналоговом индикаторе поворота и на электронной версии совпадает. Ну, градуса 3-4 расхождение, если на глаз. Сейчас попробую как будет крутиться когда включу сравнение (слежение) :-)