Самый простой/лучший способ управления набором из 8-10 ШИМ-сигналов со смартфона.

В рамках более крупного проекта хотелось бы иметь возможность управлять набором из 8-10 ШИМ-сигналов удаленно, со смартфона на расстоянии 10 метров и более. Я, вероятно, преобразую сигналы ШИМ в аналоговые напряжения и уменьшу их колебания напряжения примерно до 0–1 В, используя резисторный делитель и RC-фильтр; они будут управлять нагрузками с высоким импедансом в оставшейся части проекта. Я бы написал приложение для смартфона, позволяющее пользователю контролировать рабочий цикл каждого ШИМ-сигнала (и, следовательно, уровни аналогового сигнала).

Мне кажется, что лучше всего использовать Arduino, подключенную к телефону через Bluetooth. Мне понадобится один из более дорогих Arduino, чтобы получать достаточно сигналов ШИМ (базовые, такие как Uno, имеют только 6 выходов ШИМ). Программно-генерируемые ШИМ, вероятно, недостаточно высокочастотны, поскольку мне бы хотелось, чтобы отфильтрованные аналоговые сигналы были как можно более свободными от пульсаций. Кажется, существует несколько способов подключения Bluetooth к Arduino, например HC-05.

Если люди здесь согласятся с таким подходом, я перенесу этот вопрос на форум Arduino.

`

, 👍1

Обсуждение

Вам нужен выход ШИМ или просто аналоговое значение? Возможно, будет проще получить ЦАП с 8 или более выходами, чем дурачиться с генерацией 8 сигналов ШИМ, а затем фильтровать и масштабировать их, чтобы получить то, что вам нужно., @JRE

С телефона на Ардуино через блютуз, потом вбить что-то вроде AD5669. У него 8 каналов, и пару из них можно подключить к Arduino., @JRE

Интересная идея. Однако я думаю, что нет смысла вводить еще одно железо. Поскольку каждый сигнал в любом случае будет управлять небольшой подсхемой, добавление пары резисторов (и конденсатора, хотя мне, вероятно, все равно бы этого хотелось) не является большой обузой., @RustyShackleford

мог бы подумать о том, чтобы «потратить деньги» на ESP32, который имеет поддержку Wi-Fi и BTL., @dandavis

Мне кажется, что ESP32 — это билет. Дает мне Bluetooth с дополнительным Wi-Fi. Дает мне 16 выходов на высоких частотах (чтобы облегчить фильтрацию на аналог). Хорошая плата для разработки за 20 долларов... https://www.sparkfun.com/products/13907, @RustyShackleford

Никогда не слышал о MQTT. Можете ли вы рассказать мне больше?, @RustyShackleford


1 ответ


1

HC-05 рассчитан на высоту около 9 м, поэтому не обязательно соответствует вашим требованиям. ESP8266 (пример одной реализации, называемой Node MCU) может выводить ШИМ на любой из контактов 0–16. Он может легко реализовать веб-сервер, который позволит вам контролировать выходные данные через 8026.11 (Wi-Fi). Это также означает, что вам не нужно ничего создавать для телефона/планшета/ПК, просто используйте веб-браузер. Рабочий цикл можно установить через веб-сервер на ESP. ESP стоят примерно по той же цене, что и Arduino.

Я использовал HC-05 с Arduino. Это работает очень хорошо, хотя и не очень далеко. Для Android я использовал приложение App Inventor, которое очень легко использовать для Bluetooth.

,

Мне пришло в голову использовать Wi-Fi вместо Bluetooth, и, возможно, это было бы лучше. Однако я немного смущен: номер детали, которую вы цитируете, выглядит так, будто это просто адаптер Wi-Fi для Arduino. Но вы, кажется, говорите, что это альтернатива Arduino и она сама может обеспечивать выходы ШИМ., @RustyShackleford

На первый взгляд это так и выглядит, но на самом деле это полноценный MCU, аудрино не требуется. Его можно запрограммировать с помощью Arduino IDE и использовать контакты GPIO., @Squats

Я могу жить с 9 метрами. Эта штука скорее будет управляться с телефона (чем с компьютера), через графический интерфейс наверное не намного сложнее, чем 8-10 ползунков (по одному на скважность каждого ШИМ-выхода). Возможно, мне следует задать вопрос: будет ли это проще реализовать в Android или в HTML. Я тоже не совсем знаком с этим., @RustyShackleford

Если оно < 9 м и вы хотите выбирать между HTML и Android для телефона; затем проверьте приложение Inventor. Если вы выберете HC-05, то часть Android можно полностью выполнить в App Inventor, который очень прост в использовании — никакого кодирования, только блоки., @Squats

Если вы собираетесь использовать esp32, вы не сможете использовать среду разработки Arduino для функций Bluetooth, а другие функции еще не реализованы., @Squats

Да, они говорят, что вместо этого вам придется использовать Espressif IDF; поскольку я вообще не знаком с Arduino IDE, для меня это не должно стать проблемой. Однако это не помешает мне использовать App Inventor для Android, не так ли?, @RustyShackleford

Это не помешает вам использовать App Inventor., @Squats