так завалена Ачх в верхих частотах, что команды не опознаются.
Для кодирования команд можно использовать DTMF. Стандарт специально рассчитан на гнилые телефонные линии с плохой АЧХ и искажениями. Там используются двухчастотные сигналы, плюс все частоты подобраны не кратными друг другу.
Есть куча готовых DTMF-декодеров, как аппаратных, так и программных под всевозможные платформы, включая STM32.
Да, была такая мысль, но в данном случае тонового одноканального управления достаточно, а в других проектах — посмотрим, может быть и DTMF. Да и линия в данном случае — полметра, так что сильно от помех защищаться нет необходимости.
А заваленная АЧХ — это просто амплитуда сигнала на высоких частотах не доставала до порогового значения компаратора. Поставил компаратор на 0 и жизнь тут же наладилась.
А что, собственно, упростится? Схемотехника та же, а моторчик от виброзвонка хилый и высокооборотный. На нем ничего не поедет без редуктора. А мутить редуктор — будет только сложнее. Гораздо проще пользоваться готовой механикой, по крайней мере мне лично.
Нет, не пойдет. У программирования моторчика слишком много ограничений. Ну и рулить, действительно, нечем. И телефон надо распатронить. В моем случае обошлось без вивисекции.
И это немного жаль ;-). Я думал, вы и так знали про типичные проблемы управления Bluetooth'ом через Java в телефонах и поэтому сразу перешивали или модифицировали аппаратно.
Не, старые телефоны перешивать — это геронтофилия электронная. Зато я себе купил китайский андроид и потираю руки. Думаю, там проблем будет куда меньше.
Говорящая машинка из старого мобильника