Будучи давним пользователем системы REVERSBEACON и интересуясь прохождением радиоволн родилась идея создать расширяемую программу мониторинга сиюминутногоо прохождения с помощью сети из нескольких радиомаяков и контроля на одной страничке в интернете их траффика и рапортов скиммеров для них. Чтобы устранить влияние задержек в реальной сети, предполагается что маяки синхронизированы по времени, а на сайте их активность будет отражаться просто по часам. Так как часы маяков всё равно синхронизированы по интернету, то это лучший способ и экономия трафика одновременно. Итак маяки передают сигналы, скиммеры принимают, а на сайте ( http://baken.hammania.net) фильтруются рапорта для только что отработавшего маяка и строится карта скиммеррапортов. Сначала был сайт :-) Когда выяснилось что создатели сайта позволяют использовать их рапорта на своих сайтах со своими фильтрами, поднялась задача создания полнофункционального маяка по требованиям для них IARU: Чёткая передача по часам, передача WW локатора и как минимум три градации мощности сигнала. В опциях - работа в сквозном диапазоне от 1.8 до 1290 мгц С учётом дальнего прицела - идеей запроса передачи маяка для конкретного радиолюбителя: запрос с сайта по позывному, поворот антенны на указанный WW loc и адресная передача маяка для запросившего - стала обдумываться идея полнофункционального маяка с реализацией всех помянутых выше функций.
За основу взята конструкция и скетч Генадия UN7FGO. Проделаная им работа стала базой для расширения. Поскольку идея предполагает масштабирование маяков, есть потребность описывать всё так чтобы не встречавшиеся ранее с Ардуино не испугались и смогли повторить конструкцию. Для начала попытаюсь объяснить разницу между академическим программированием и ардуиноподобным. Программисты долго учаться, поэтому очень умные и им долго объяснять что должна делать наша программа. Мы хорошо знаем что надо, но плохо знаем программирование. Пикпроцессоры это машинка для робототехники - мало программирования и много входов для сигналов всяких датчиков и выходов для управления всякими рулёжнвми девайсами: реле, сервоприводами, поворотками и трансиверами в том числе. Датчики на входе могут отследить время, температуру, угол поворота, напряжение и проч. Кроме выходов управления механическими устройствами есть возможность передавать команды по крайней мере в RS232 протоколе разнообразным радиолюбительским девайсам как то: трансиверы, поворотки, усилители и, конечно же, маяки. Язык программирования, вернее среда окружения, неприхотлива и использует огромное количество готовых решения (участков программ которые называются библиотеки (наверное библиотеки шпаргалок:-)), опираясь на которые всем перечисленным выше легко управлять. Есть аналоговые (ЦАП и АЦП, ШИМ) и логические (цифровые) входы-выходы.
Для обеспечения наших базовых потребностей Ардуино UNO должна иметь пульт управления настройками времени и частоты, само время, термозащиту трансивера на случай зависания, то есть датчик и и исполнительные реле для дополнительного обдува или полного отключения и канал управления трансивером. То есть RS232. В связи с тем, что потребуется мого дополнительных подключений (проводов) используется плата расширения. Это всего лишь плата с разъёмами на нижней части для "втыкания" в саму плату Ардуино и паралельноразведённые другие разъёмы (размноженные), к которым можно подключать много других проводов (устройств). На ней может не быть ничего кроме проводников (дорожек) и разъёмов, а могут быть доплнительные устройства, например стабилизаторы напряжения, драйверы сервоприводов и проч. Но нас интересует только возможность подключения других модулей. Так как модулей может быть много, и все они имеют как минимум провод питания и земли, то общее количество разъёмов большое. Для удобства подключения модулей как правило, каждый разъём содержит три контакта: VCC, GND и сигнал(S). Есть исключения, например для RS232 используется разъём на 4 контакта - VCC, GND, TX, RX. Он на правой части фотографии платы расширения. Рядом джамперы переключения I2C или RS232 протокола. Сама плата Ардуино Уно снизу в акриловом противопылевом корпусе
Так как я не любитель скрупулёзного рисования (больших) схем, то на рисунке ниже гибрид который поможет понять как соединяются сама плата Ардуино, плата расширения и подключаемые модули. Номера для сигнальных контактов расписаны в тексте программы (или скетча). Он большой, для рассматривания его придётся растянуть на весь экран. Ну, если нужно. Я надеюсь что мне поверят на слово :-)