- Необходими компоненти:
- Обратно инженерство:
- Работно обяснение:
- Верижни връзки:
- Програма Arduino:
- Използване на обработка за създаване на приложение за Android:
В този проект ще използваме съществуващо FM радио, което отдавна е ремонтирано, за да го преобразуваме в интелигентно безжично FM радио, контролирано с телефон, с помощта на Arduino и Processing.
Можем да преобразуваме всяко ръчно управлявано електронно устройство в интелигентно устройство, като използваме същата процедура. Всяко електронно устройство работи с помощта на сигнали. Тези сигнали може да са по отношение на напрежения или токове. Сигналите могат да се задействат ръчно с помощта на потребителско взаимодействие директно или с помощта на безжично устройство.
До края на този проект ще можем да преобразуваме повечето от нашите често срещани електронни устройства, като радио, което работи на бутони, в интелигентна безжична джаджа, която може да се управлява от смарт телефон през Bluetooth. За да постигнем това, ще трябва да направим две основни неща.
1. Предскажете как се генерират сигналите в съществуващата механична система от бутони.
2. Намерете начин да задействате същия сигнал с помощта на малка допълнителна верига.
И така, нека да започнем…
Необходими компоненти:
За този проект може да се избере старо или неизползвано електронно устройство като радио, телевизор, CD плейър или домашно кино. Действителните компоненти могат да се различават в зависимост от избраното от вас устройство. Но за да го направим безжичен, ще ни трябва микроконтролер, който тук е Arduino и безжичен носител, който е HC-05 Bluetooth модул.
Обратно инженерство:
Добре, така че сега избрах стар FM радио плейър, който спря да работи отдавна. И когато го отворих установих, че бутоните на него са престанали да работят. Това ще бъде перфектно устройство за работа, защото вече няма да имаме нужда от бутоните, тъй като ще го направим напълно безжично. Долната снимка показва радиото, което отворих.
Това беше настройката на бутона на радиото ми (снимка по-горе). Както можете да видите, има осем бутона, от които радиото приема вход. Можете също така да забележите, че на платката има осем резистора. Какво можете да заключите от това…? Да, всяка резистор е свързана към превключвател. Сега да разгледаме задната страна на дъската:
Можете да проследите връзката с помощта на печатните платки, но ако все още сте объркани, можете да използвате милиметъра си за свързване повече и да разберете веригата. Тази платка има три терминала (закръглени в червено), които подават сигнали към основната FM радио платка. Тези щифтове бяха маркирани като S1, S2 и 1.7V. Това означава, че постоянно напрежение от 1,7 волта се изпраща от основната платка към тази платка и когато потребителят натисне произволен бутон, ще има спад на напрежението в съответния резистор и през щифтовете S1 и S2 ще се върне променливо напрежение. Ето как работят повечето от бутоните в нашите електронни устройства. Сега, след като разбрахме как работи, нека го направим безжичен.
Работно обяснение:
Така че сега, за да го направим безжичен, просто трябва да дадем напрежение между 0 - 1.7V през S1 и да заземим основната платка. Има няколко начина, чрез които можете да имитирате настройката на тези бутони с помощта на микроконтролер.
Можем да използваме цифров потенциометър и да го накараме да осигурява съпротивлението на платката, както е програмирано и когато е необходимо. Но това ще направи нещата сложни и скъпи, тъй като работата с Digipot изисква SPI и Digipots са скъпи.
Можем да използваме и транзисторна резисторна мрежа, в която всеки резистор с различни стойности се активира от транзистор, който от своя страна се управлява от самия микроконтролер. Но отново, за да направите това за осем бутона, веригата ще се усложни.
Най-простият начин да направите това е директно генериране на необходимото променливо напрежение от микроконтролера и подаването му към сигналните щифтове. За съжаление, Arduino има само ADC и няма DAC. Но за щастие имаме ШИМ в Arduino. Този ШИМ може да бъде направен да действа като променливо напрежение с помощта на обикновен RC нискочестотен филтър.
Нискочестотен филтър е показан по-горе, ключовият компонент тук е кондензаторът, който ще заземи целия пулсиращ сигнал и като изход се изпраща чист постоянен ток. Така че PWM сигналите от Arduino трябва да се изпращат през нискочестотен филтър и след това да се подават на таблото за сигнали на FM радиото.
Веригата е лесна за изграждане на платка с точки, както е показано по-горе. Тук черният проводник е за заземяване и сините и зелените проводници вляво ще бъдат изпратени към нашите FM платки S1 (зелено) и S2 (синьо), а проводниците отдясно ще получават PWM сигнали от Pin 9 и 10 на Arduino (вижте картинката по-горе) и преминете към FM платката чрез нискочестотен филтър. Модулът Bluetooth използва щифтове 11 и 12 като Rx и TX.
Сега можем да генерираме ШИМ сигнали от 0 волта до 1,7 волта и да разберем как се държи нашето радио за различни нива на напрежение. Следващата стъпка е да направим това нещо безжично.
Верижни връзки:
Тази схема показва цялата настройка на нискочестотния филтър и HC-05 Bluetooth модула, свързан към Arduino Mega за Bluetooth контролирано FM радио.
Програма Arduino:
Програмата за Arduino е дадена в раздела Код по-долу. Можете също така да тествате диапазона на променливо напрежение за вашето електронно устройство, като използвате тази програма тук.
Преди да започнем със създаването на наше собствено приложение за Android за нашето радио, препоръчително е да тествате безжичната функция с помощта на приложение за терминален Bluetooth Monitor, както е показано във видеото по-долу. Проверете тази статия за конфигуриране на приложението Bluetooth Terminal на Arduino. След като сме уверени в неговата работа, можем да преминем към създаването на наше собствено приложение за Android.
Използване на обработка за създаване на приложение за Android:
Страхотно е да направим нашето устройство безжично, но също така можем да добавим някакъв личен щрих към нашето устройство, като създадем наше собствено приложение за Android. Можем да контролираме устройството по автоматичен график или да го контролираме въз основа на вашите аларми за събуждане. Можете дори да накарате вашето радио да пуска любимия ви канал, когато се приберете у дома. Въображението е вашият лимит тук. Но засега ще създадем прост потребителски интерфейс, използващ обработка, това приложение ще има само няколко бутона, с които можете да управлявате вашето FM радио.
Processing е софтуер с отворен код, който се използва от художници за графично проектиране. Този софтуер се използва за разработване на софтуер и приложения за Android.
Кодът за обработка на приложението Android за управление на това безжично FM радио е даден тук:
- Код за обработка на приложения за Android за управление на FM радиото
Първо изградихме това приложение на компютър в режим JAVA, за да го тестваме правилно, ето кода за обработка на същото. Щракнете с десния бутон върху него и кликнете върху „Запазване на връзката като..“, за да изтеглите кодовия файл. След това отворете файла в софтуера „Обработка“ и кликнете върху бутона „Изпълни“, за да проверите как ще изглежда в телефона. Трябва да инсталирате софтуера „Обработка“, за да отворите *.pde файлове.
След като тестваме приложението в режим JAVA, можем лесно да го преобразуваме в режим Android, като сменим раздела Android в горния десен ъгъл на прозореца за обработка. За да накараме нашия Android телефон да включи своя Bluetooth и да се свърже автоматично с нашия HC-05 модул, трябва да добавим следните кодове към съществуващата ни програма Java, за да го превърнем в Android App. Вече предоставихме пълния код на 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 (saveInstanceState); 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) {Избор на низ = klist.getSelection (); bt.connectToDeviceByName (избор); // изхвърляме списъка за сега klist = null; } // **********
bt.connectToDeviceByName ("HC-05");
Или можете да направите тези промени в Processing Code for PC (режим Java), или можете директно да използвате нашия Android Processing код, даден в горната връзка. След това директно свържете телефона си с вашия лаптоп с помощта на кабела за данни и активирайте USB отстраняване на грешки на телефона си. Сега кликнете върху бутона Възпроизвеждане в прозореца за обработка на компютър, приложението ще бъде директно инсталирано на вашия Android телефон и ще бъде стартирано автоматично. Това е толкова лесно, така че продължете и го изпробвайте.
Картината по-долу представя нашия потребителски интерфейс на приложението за Android заедно с прозореца за кодиране. Вижте видеото, за да разберете и стартирате кода в Android Phone, както и в компютъра.
Това е, ние превърнахме нашето старо FM радио в безжична модерна джаджа, която може да се управлява от нашето приложение за Android. Надявам се, че това ще помогне на хората да започнат работа, но ако имате нужда от някакви насоки, както винаги, можете да използвате раздела за коментари и ние ще се радваме да ви помогнем.