Управление повороткой через вэб-интерфейс

Хороший знакомый попросил помочь в удаленном управлении через интернет повороткой YAESU G-800SA.
Поскольку у поворотки никакого своего интерфейса нет, то пришла идея использовать для этого arduino uno, который давно
валялся без дела. А за одно и чтоб комп можно было включать , и усилитель, ну и еще кое что по мелочи.

В программировании я не силен, но на мысли меня навел этот проект

 

Был докуплен модуль эзернет, и модуль реле, а с поворотки были сняты напряжения отражающие заданный угол поворота (0...360) с шагом в 5 градусов.

Реле, и модуль эзернет взяты такие:

rele8

ENC28J60

В результате получилась следующая самоделка:

rotator

А так выглядит вэб интерфейс к ней:

web

На веб страничке, вращение антенны осуществляется нажатием на <<< и >>> цифра между этими значками, отображает текущий угол поворота антенны. POWER - используется для управления реле, которое включает питание самой поворотки. YAGI - переключает антенный комутатор на 2 положения (так просил сделать товарищ ) Остальные кнопки , управляют другими реле (можно включать комп, усилитель, и еще какие то девайсы).
Для вращения самой же антенной достаточно двух реле, нормально разомкнутые контакты которых, подключаются параллельно штатным кнопкам
YAESU G-800SA. Напротив символа S отображаются значения с-метра , напротив символа U отображается напряжение , которое пришло датчика угла поворота G-800SA. Понятно , что с-метр нужно калибровать, хотя думаю большинству эта функция отображения с-метра на вэб странице, будет вовсе не нужна. Используемые входы ацп ардуино, на всякий случай защищены стабилитронами на 3.3 ... 4.7 вольта, и зашунтированы на корпус конденсаторами на 0.1 мкф. Блок реле был подключен с использованием развязки оптопарами (находятся на модуле реле), при этом нужно снять джампер на модуле реле (он там один, не перепутаете). При этом блок реле запитан от любого источника напряжением 5..9 вольт, а сама платка ардуино от отдельного стабилизированного источника 5.00 вольт, это напряжение берется как опорное для ацп, и важно для точного измерения угла поворота. О том куда подключать реле, и модуль эзернет, расписано в тексте программы, там же я натыкал своих комментариев, чтоб проще было разобраться. Для компиляции и заливки программы в контроллер, потребуется немножко подправленная библиотека для модуля эзернет (прилагаю в архиве) .

Собрав все верно, и залив программу в ардуино, останется только подключить ее к Вашему роутеру, который должен раздавать настройки по DHCP, и конечно очень желательно чтобы роутер умел делать привязку выдаваемого ИП адреса к МАС адресу ардуино, по умолчанию в программе указан МАС адресс - 5A:5A:5A:5A:5A:5A (он должет быть уникальным для Вашей локальной сети)

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

Код программы для ардуино и подправленная библиотека ethercard-master.zip  webserver-1-1.zip

С уважением, Дмитрий (UR7HFO)