- Необхідні компоненти:
- Зворотна інженерія:
- Робоче пояснення:
- Ланцюгові з'єднання:
- Програма Arduino:
- Використання обробки для створення програми для Android:
У цьому проекті ми використаємо існуюче FM-радіо, яке вже давно відремонтували, щоб перетворити його на розумне бездротове 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, а Digipots дорогі.
Ми також можемо використовувати транзисторну резисторну мережу, в якій кожен резистор з різними значеннями активується транзистором, який, у свою чергу, управляється самим мікроконтролером. Але знову ж таки для цього на восьми кнопках схема ускладниться.
Простий спосіб зробити це - безпосередньо генерувати необхідну змінну напругу від мікроконтролера і подавати її на сигнальні висновки. На жаль, Arduino має лише АЦП і не має ЦАП. Але, на щастя, у нас є ШІМ в Arduino. Цей ШІМ може бути виконаний як змінна напруга за допомогою простого RC-фільтра низьких частот.
Фільтр низьких частот показаний вище, ключовим компонентом тут є конденсатор, який заземлить весь пульсуючий сигнал, і на виході надсилається чистий постійний струм. Тож ШІМ-сигнали від Arduino повинні передаватися через фільтр низьких частот, а потім передаватися на плату сигналів FM-радіо.
Схему легко побудувати на точковій дошці, як показано вище. Тут чорний провід призначений для заземлення, а синій і зелений дроти ліворуч будуть спрямовані на наші FM-плати S1 (зелений) і S2 (синій), а дроти праворуч прийматимуть ШІМ-сигнали від Pin 9 і 10 Arduino (див. малюнок вище) і передайте на FM-плату через фільтр низьких частот. Модуль Bluetooth використовує виводи 11 і 12 як Rx і TX.
Тепер ми можемо генерувати ШІМ-сигнали від 0 до 1,7 вольт і з’ясувати, як поводиться наше радіо при різних рівнях напруги. Наступний крок - зробити цю річ бездротовою.
Ланцюгові з'єднання:
Ця схема демонструє всю установку фільтра низьких частот та модуля Bluetooth HC-05, підключеного до Arduino Mega для FM-радіо, керованого Bluetooth.
Програма Arduino:
Програма для Arduino наведена в розділі коду нижче. Ви також можете перевірити діапазон змінної напруги для вашого електронного пристрою, використовуючи цю програму тут.
Перш ніж ми почнемо створювати власний додаток для Android для нашого радіо, бажано протестувати функцію бездротового зв'язку за допомогою програми терміналу Bluetooth Monitor, як показано у відео нижче. Перегляньте цю статтю, щоб налаштувати програму терміналу Bluetooth на Arduino. Коли ми впевнені в його роботі, ми можемо перейти до створення власної програми для Android.
Використання обробки для створення програми для Android:
Це здорово зробити наш пристрій бездротовим, але ми також можемо додати до свого пристрою певної особистості, створивши власний додаток для Android. Ми можемо контролювати пристрій за автоматичним розкладом або керувати ним на основі ваших будильників. Ви навіть можете змусити радіо відтворювати улюблений канал, повернувшись додому. Уява - це ваша межа тут. Але наразі ми створимо простий користувальницький інтерфейс з використанням обробки, ця програма матиме лише кілька кнопок, за допомогою яких ви можете керувати своїм FM-радіо.
Processing - це відкрите програмне забезпечення, яке художники використовують для графічного дизайну. Це програмне забезпечення використовується для розробки програмного забезпечення та програм для Android.
Код обробки програми Android для управління цим бездротовим FM-радіо наведено тут:
- Код обробки додатків Android для управління FM-радіо
Спочатку ми створили цю програму на ПК у режимі JAVA, щоб перевірити її належним чином, ось обробний код для того ж. Клацніть правою кнопкою миші та натисніть "Зберегти посилання як..", щоб завантажити файл коду. Потім відкрийте файл у програмі «Обробка» та натисніть кнопку «Виконати», щоб перевірити, як він виглядатиме в телефоні. Вам потрібно встановити програмне забезпечення «Обробка», щоб відкрити файли *.pde.
Після тестування програми в режимі JAVA ми можемо легко перетворити її в режим Android, перейшовши на вкладку Android у верхньому правому куті вікна Processing. Для того, щоб наш телефон Android увімкнув свій Bluetooth і автоматично підключився до нашого модуля HC-05, нам потрібно додати наступні коди до нашої існуючої програми Java, щоб зробити його додатком для Android. У наведеному вище посиланні ми вже надали повний код Android, тож ви можете безпосередньо ним користуватися.
Нижче наведено декілька файлів заголовка для ввімкнення функцій Bluetooth:
імпортувати android.content.Intent; імпортувати android.os.Bundle; імпортувати ketai.net.bluetooth. *; імпорт ketai.ui. *; імпортувати ketai.net. *; імпортувати android.bluetooth.BluetoothAdapter; імпортувати 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, Intent data) {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");
Або ви можете внести ці зміни в Processing Code для ПК (режим Java), або можете безпосередньо скористатися нашим кодом обробки Android, наведеним вище за посиланням. Потім безпосередньо підключіть телефон до ноутбука за допомогою кабелю передачі даних і увімкніть налагодження USB на телефоні. Тепер натисніть кнопку «Відтворити» у вікні обробки на ПК, програма буде встановлена безпосередньо на вашому телефоні Android і автоматично запущена. Це так просто, тож спробуйте і спробуйте.
На малюнку нижче представлений наш інтерфейс додатка Android разом із вікном кодування. Перегляньте відео, щоб зрозуміти та запустити код на телефоні Android, а також на комп’ютері.
Ось і ми перетворили наше старе FM-радіо в сучасний бездротовий пристрій, яким можна керувати за допомогою програми Android. Сподіваюся, це допоможе людям приступити до роботи, але якщо вам потрібні будь-які вказівки, як завжди, ви можете скористатися розділом коментарів, і ми будемо раді вам допомогти.