Так скидывать нечего)). Программка для телефона подсмотрена на ютубе у
Dmitry OSIPOV. Только упрощена чуть. Скрин всех моих блоков приложил ниже.
Что касается ардуинки, то из последовательного порта принимаю подряд символы, как только длина строки равна 4ем, записываю всю строку в переменную (Data) и обнуляю буфер приема в порту. Потом из записанной строки вытаскиваю первых 2 символа, перевожу их в число, сравниваю его с константами и команда с компаратора дает разрешение на соответствующий выход. Из этой же строки вытаскиваю символы начиная с 3го и до конца, перевожу в числа и после обработки подаю на соотв. выходы.
А проблема бывает в том, что принимаемые символы ардуинка не всегда успевает обработать и они теряются. Это может отразится на том, что записываемые в переменную строки не всегда начинаются с нужных символов и может произвольно сработать нерегулируемый выход. Т. е. если нормальная строка допустим 4060, то согласно блок схеме, число 60 после обработки попадает на серво-привод. Но бывает теряются первые 2 знака и в буфер попадает 60 с первой пачки и начальные 40 со следующей. Как следствие - число 40 попадает на выход ШИМ, хотя вы сами туда данные не отсылали... Забавно то, что каким то неведомым для меня способом, пропустив знаки, контроллер все равно позволяет управлять исполнительным устройством, команды на который вы передаете. Отследить что на самом деле происходит с числами и строками невозможно, поскольку добавление экрана усугубляет ситуацию.
Не пробовал контролить через компорт. Последовательный порт для приема данных использую софтовый (лень вынимать проводки при прошивке). Надеялся, что кто-нить уже сталкивался с похожим...))
Люди в своем большинстве живо интересуются всем на свете, за исключением того, что действительно стоит знать.