Задумки были следующие.
Передатчик:
- Хотел повесить кнопки передатчика на прерывания (D2, D3 это INT0, INT1), но потом отложил эту затею, т.к. если прерывание произойдёт во время передачи, то связь нарушится и данные потеряются.
Вернусь к этому решению позже, установив запрет прерываний на период отправки данных.
В итоге возник некоторый лаг между нажатием и исполнением. Но терпимый, порядка 0,1 сек.
- на аналоговый вход А1 планировалось повесить переменный резистор, которым производить подстройку баланса тяги. Пока не реализовано.
- на линиях D8, D9 индикаторные светодиоды для контроля принятых от кнопок команд.
- модуль FS1000A питается от стабилизированных +5В (хотя мог бы работать и от +12), передаёт на частоте ~434 МГц. Возможно добавлю усилитель.
Антенной является кусок провода, длиной 175 мм (четверть волны). На расстоянии 0,5 м сигнал, принимаемый анализатором на антенну от портативки (Wouxun KG-UVD1P), показал уровень -30 dBm.
- для индикации наличия напряжения питания добавил красный светодиод по линии батареи. Нечто подобное есть на плате ардуины, но в полевых условиях я должен знать, поступает ли питание.
- также добавил по питанию защитный диод. Он всего на 1 ампер и предохранителей нет, но при неверном подключении пару секунд продержится. Что (совместно с индикатором питания) позволит распознать ошибочную полярность.
Плюс разъёмы питания, конечно.
- для индикации работы ардуины встроенный светодиод на линии D13 мигает с частотой 2 Гц от системного таймера. Показывает, что мозги не зависли.
Приёмник:
- напрямую линии от батареи заведены только на силовые выводы контроллеров (даже минус оторван от земли).
- питание +5В для ардуины снимается с одного из контроллеров.
- питание приёмника +3,3В снимается с ардуины.
- особенность работы библиотеки Гайвера в том, что сигнал от приёмника должен приходить на вывод аппаратного прерывания (в данном случае - на D3 = INT1).
- контроль радиолинии и корректности расшифровки - при помощи светодиодов на линиях D10, D11.
- антенна такая же, как на передатчике - провод 175 мм.
- для индикации работы ардуины встроенный светодиод на линии D13 мигает с частотой 2 Гц от системного таймера. Показывает, что мозги не зависли.
Что получилось?
Если железо не доставило особых хлопот, то с программной частью пришлось повозиться (и этот этап далеко не окончен).
Пробовал я другие библиотеки, и всегда с ними были какие-то проблемы. С этой они тоже есть, но уже меньше и в основном упираются в моё незнание языка
Весьма рекомендую прочитать README.md там весьма много полезного. К сожалению, я сам только сейчас это увидел...