- Необходимые компоненты:
- Разобрать механизм с целью понять, как это работает:
- Рабочее объяснение:
- Схема подключения:
- Программа Arduino:
- Использование обработки для создания приложения для Android:
В этом проекте мы будем использовать существующее FM-радио, которое давно было отремонтировано, чтобы преобразовать его в Smart Wireless FM-радио, управляемое с телефона, с помощью Arduino и Processing.
Мы можем преобразовать любое электронное устройство с ручным управлением в интеллектуальное устройство, используя ту же процедуру. Каждое электронное устройство работает с помощью сигналов. Эти сигналы могут выражаться в напряжениях или токах. Сигналы могут запускаться вручную с помощью непосредственного взаимодействия с пользователем или с помощью беспроводного устройства.
К концу этого проекта мы сможем преобразовать большинство наших обычных электронных устройств, таких как радио, которое работает с кнопками, в интеллектуальное беспроводное устройство, которым можно будет управлять со смартфона через Bluetooth. Для этого нам нужно сделать две основные вещи.
1. Предскажите, как генерируются сигналы в существующей механической кнопочной системе.
2. Найдите способ вызвать тот же сигнал с помощью небольшой дополнительной схемы.
Итак, приступим…
Необходимые компоненты:
Для этого проекта можно выбрать старое или неиспользуемое электронное устройство, такое как радио, телевизор, проигрыватель компакт-дисков или домашний кинотеатр. Фактические компоненты могут отличаться в зависимости от выбранного вами устройства. Но чтобы сделать его беспроводным, нам понадобится микроконтроллер, который здесь является Arduino, и беспроводной носитель, который представляет собой модуль Bluetooth HC-05.
Разобрать механизм с целью понять, как это работает:
Хорошо, теперь я выбрал старый FM-радио плеер, который давно перестал работать. И когда я его открыл, обнаружил, что кнопки на нем перестали работать. Это будет идеальное устройство для нас, потому что нам больше не понадобятся кнопки, так как мы собираемся сделать его полностью беспроводным. На картинке ниже показано радио, которое я открыл.
Это была кнопка настройки моего радио (рисунок выше). Как видите, есть восемь кнопок, с которых радио принимает данные. Также можно заметить, что на плате восемь резисторов. Что вы можете сделать из этого…? Да, каждый резистор подключен к коммутатору. Теперь посмотрим на обратную сторону платы:
Вы можете отследить соединение с помощью дорожек на печатной плате, но если вы все еще не уверены, вы можете больше использовать свой миллиметр в подключении и выяснить схему. Эта плата имеет три терминала (обведены красным), которые подают сигналы на основную плату FM-радио. Эти контакты были обозначены как S1, S2 и 1,7 В. Это означает, что постоянное напряжение 1,7 В отправляется с основной платы на эту плату, и когда пользователь нажимает любую кнопку, на соответствующем резисторе будет падение напряжения, а через контакты S1 и S2 обратно будет отправляться переменное напряжение. Так работает большинство кнопок в наших электронных устройствах. Теперь, когда мы выяснили, как это работает, давайте сделаем его беспроводным.
Рабочее объяснение:
Итак, теперь, чтобы сделать его беспроводным, нам просто нужно подать напряжение между 0–1,7 В на S1 и заземлить основную плату. Есть несколько способов, с помощью которых вы можете имитировать настройку этих кнопок с помощью микроконтроллера.
Мы можем использовать цифровой потенциометр и заставить его обеспечивать сопротивление на плате, как запрограммировано и когда это необходимо. Но это усложнит задачу и сделает ее дорогостоящей, поскольку для работы с Digipot требуется SPI, а Digipot стоят дорого.
Мы также можем использовать схему транзисторных резисторов, в которой каждый резистор разного номинала активируется транзистором, который, в свою очередь, управляется самим микроконтроллером. Но опять же, чтобы сделать это для восьми кнопок, схема усложнится.
Самый простой способ сделать это - напрямую генерировать необходимое переменное напряжение с микроконтроллера и подавать его на сигнальные контакты. К сожалению, у Arduino есть только АЦП и нет ЦАП. Но, к счастью, в Arduino есть ШИМ. Этот ШИМ можно заставить действовать как переменное напряжение с помощью простого RC-фильтра нижних частот.
Выше показан фильтр нижних частот, ключевым компонентом здесь является конденсатор, который заземляет весь пульсирующий сигнал, а чистый постоянный ток отправляется на выходе. Таким образом, сигналы PWM от Arduino должны быть отправлены через фильтр нижних частот, а затем переданы на сигнальную плату FM-радио.
Схема легко построить на точечной доске, как показано выше. Здесь черный провод предназначен для заземления, а синий и зеленый провода слева будут отправлены на наши платы FM S1 (зеленый) и S2 (синий), а провода справа будут получать сигналы ШИМ от выводов 9 и 10 Arduino (см. рисунок выше) и передать на плату FM через фильтр низких частот. Модуль Bluetooth использует контакты 11 и 12 как Rx и TX.
Теперь мы можем генерировать сигналы ШИМ от 0 до 1,7 вольт и узнать, как наше радио ведет себя при разных уровнях напряжения. Следующий шаг - сделать эту штуку беспроводной.
Схема подключения:
Эта схема показывает всю настройку фильтра низких частот и модуля Bluetooth HC-05, подключенного к Arduino Mega для FM-радио, управляемого Bluetooth.
Программа Arduino:
Программа для Arduino приведена в разделе кода ниже. Вы также можете проверить диапазон переменного напряжения для вашего электронного устройства с помощью этой программы здесь.
Прежде чем мы начнем создавать собственное Android-приложение для нашего радио, рекомендуется протестировать беспроводную функцию с помощью приложения Terminal Bluetooth Monitor, как показано на видео ниже. Ознакомьтесь с этой статьей, чтобы настроить приложение Bluetooth Terminal на Arduino. Убедившись, что он работает, мы можем приступить к созданию собственного приложения для Android.
Использование обработки для создания приложения для Android:
Сделать наше устройство беспроводным - это круто, но мы также можем добавить немного индивидуальности нашему устройству, создав собственное приложение для Android. Мы можем управлять устройством по автоматическому расписанию или управлять им в зависимости от ваших будильников. Вы даже можете включить радио на ваш любимый канал, когда вернетесь домой. Воображение здесь ваш предел. Но пока мы создадим простой пользовательский интерфейс с использованием обработки, в этом приложении будет всего несколько кнопок, с помощью которых вы можете управлять своим FM-радио.
Обработка - это программное обеспечение с открытым исходным кодом, которое используется художниками для создания графики. Это программное обеспечение используется для разработки программного обеспечения и приложений для Android.
Код обработки для приложения Android для управления этим беспроводным FM-радио приведен здесь:
- Код обработки приложения Android для управления FM-радио
Сначала мы создали это приложение на ПК в режиме JAVA, чтобы правильно его протестировать, вот код обработки для него. Щелкните его правой кнопкой мыши и выберите «Сохранить ссылку как…», чтобы загрузить файл кода. Затем откройте файл в программе «Обработка» и нажмите кнопку «Выполнить», чтобы проверить, как он будет выглядеть в телефоне. Для открытия файлов *.pde необходимо установить программное обеспечение «Обработка».
После того, как мы протестировали приложение в режиме JAVA, мы можем легко преобразовать его в режим Android, перейдя на вкладку Android в правом верхнем углу окна обработки. Чтобы телефон Android включил Bluetooth и автоматически подключился к модулю HC-05, нам необходимо добавить следующие коды в нашу существующую программу Java, чтобы сделать его приложением для Android. Мы уже предоставили полный код Android по ссылке выше, поэтому вы можете использовать его напрямую.
Ниже приведены некоторые файлы заголовков для включения функций Bluetooth:
import android.content.Intent; import android.os.Bundle; импортировать ketai.net.bluetooth. *; import ketai.ui. *; import ketai.net. *; импортировать android.bluetooth.BluetoothAdapter; import android.view.KeyEvent;
Строки ниже связываются с адаптером Bluetooth нашего телефона с помощью библиотеки Ketai, и мы называем наш адаптер bt .
BluetoothAdapter bluetooth = BluetoothAdapter.getDefaultAdapter (); KetaiBluetooth bt;
Часть кода ниже вызовет запрос к пользователю с просьбой включить Bluetooth при запуске приложения.
// Чтобы запустить BT при запуске ********* void onCreate (Bundle savedInstanceState) {super.onCreate (savedInstanceState); bt = новый KetaiBluetooth (это); } void onActivityResult (int requestCode, int resultCode, данные намерения) {bt.onActivityResult (requestCode, resultCode, data); } // **********
Здесь мы указываем нашему Android-приложению, к какому устройству Bluetooth нам нужно подключиться. Строка bt.connectToDeviceByName (выделение); ожидайте имя устройства от нашей функции настройки. Поскольку наше устройство Bluetooth называется «HC-05», в настройках добавляется строка ниже. Это имя будет отличаться в зависимости от имени вашего модуля Bluetooth.
// Для выбора устройства Bluetooth ********** void onKetaiListSelection (KetaiList klist) {String selection = klist.getSelection (); bt.connectToDeviceByName (выделение); // пока избавляемся от списка klist = null; } // **********
bt.connectToDeviceByName («HC-05»);
Вы можете внести эти изменения в код обработки для ПК (режим Java) или напрямую использовать наш код обработки Android, указанный в ссылке выше. Затем подключите телефон к ноутбуку напрямую с помощью кабеля для передачи данных и включите на телефоне отладку по USB. Теперь нажмите кнопку «Воспроизвести» в окне обработки на ПК, приложение будет установлено непосредственно на вашем телефоне Android и запустится автоматически. Это так просто, так что попробуйте.
На рисунке ниже представлен пользовательский интерфейс нашего приложения для Android вместе с окном кодирования. Посмотрите видео, чтобы понять и запустить код на телефоне Android, а также на компьютере.
Вот и все, мы превратили наше старое FM-радио в современный беспроводной гаджет, которым можно управлять с помощью нашего приложения для Android. Я надеюсь, что это поможет людям приступить к работе, но если вам нужны какие-либо рекомендации, как всегда, вы можете использовать раздел комментариев, и мы будем рады вам помочь.