- Необходими компоненти:
- Работно обяснение:
- Електрическа схема:
- Декодиране на ИК сигнали за дистанционно управление с помощта на Arduino:
- Изграждане на приложението за Android за IR Blaster:
Стартирах този проект, за да се отърва от различни дистанционни в дома си и да изградя нещо отделно, което може да включва характеристики на всички тях. Получих тази идея, когато видях един от мобилния телефон на моя приятел с вграден IR бластер, по това време реших да не купувам подобен телефон, а да направя свое собствено устройство, което трябва да е съвместимо със съществуващия ми телефон. И така, тук ще преобразуваме телефон с Android в IR дистанционно, използвайки Arduino за управление на различни устройства у дома.
Необходими компоненти:
- Arduino Uno
- IR LED
- TSOP-IR приемник (1838T)
- Bluetooth модул (HC05)
- Устройство с Android (телефон, таблет и др.)
Работно обяснение:
Като цяло използваме две дистанционни управления за управление на телевизия у дома, едно за телевизия и едно за Set-Top Box, така че тук в този проект насочвам тези две дистанционни устройства и създавам Android телефон, работещ като IR Blaster, така че телевизорът може да се управлява с телефона, без да докосвате някое от дистанционните.
Използването на платка Arduino Uno просто ми улесни да се справя с IR декодирането и кодирането. Най направен щит обичай просто добавя към удобство част от този проект. Щитът се състои от TSOP IR приемник (1838T), IR LED и Bluetooth модул (HC-05), вижте изображението по-долу:
Можете или да създадете персонализиран щит, или директно да свържете компонентите към Arduino, както е показано в „Схемата на веригата“ в долния раздел.
Преди да продължим напред, нека първо обсъдим „как работят IR дистанционните“. Повечето IR дистанционни работят около 38 KHz честоти (това е причината, поради която избрах 18 38 T). При по-нататъшното включване в тази тема човек ще разбере, че няма фиксирано представяне за нули и единици в тези IR методи за предаване на данни. Тези кодове използват различни техники за кодиране, които изучаваме в нашата инженерна програма (тъй като аз съм студент по електроника). Значението на 38 KHz е, че това е честотата, при която сигналът се колебае, когато е логично висока, т.е. това е носещата честота на сигнала. Погледнете снимката по-долу; това е пример за NEC протокол. Това ще направи вашата концепция по-ясна:
Ето как работи този IR Blaster; телефон с Android с направено по поръчка приложение за Android изпраща сигнала към веригата на Arduino през Bluetooth, по-нататък Arduino получава сигнала чрез TSOP-IR приемник (1838T) и го анализира. След това Arduino заповядва на IR индикатора да премигва в определен модел, съответстващ на бутона, натиснат на това Android Device App. Този модел на мигане се заснема от IR приемника на телевизора или приемника и той следва инструкциите съответно като промяна на канала или увеличаване на силата на звука.
Но преди това трябва да декодираме съществуващите дистанционни. Както споменахме по-рано, в този проект съм използвал две дистанционни управления, едното комуникира с телевизора, а другото е за приемника, свързан към телевизора.
Електрическа схема:
Декодиране на ИК сигнали за дистанционно управление с помощта на Arduino:
Платката Arduino тук работи на две фази, едната е когато я използвате за декодиране на IR кодове от дистанционно, а друга е когато я използвате като IR бластер устройство.
Нека поговорим за първата фаза. Сега, за да декодирам кодовете на IR бутоните, използвах заглавния файл IRremote на Ken Shirriff . Този заглавен файл има много предварително дефинирани примери / кодове, само за да ни улесни работата с IR кодове:
- Първо трябва да изтеглите и инсталирате IR отдалечената библиотека от тук
- Разархивирайте го и го поставете във вашата папка „Библиотеки“ на Arduino. След това преименувайте извлечената папка на IRremote.
- След това запишете предоставения по-долу код в Arduino, включете персонализирания щит, както е показано по-горе, и поставете дистанционно за декодиране пред TSOP IR приемника. Отворете серийния монитор, съответстващ на този Arduino, и натиснете произволен бутон от дистанционното. Ще видите информация, показана над терминала, която включва вида на кода, неговата стойност и количеството битове, свързани с него. Ето как изглежда:
#include
След като приключите с желаната част за декодиране, запишете всички стойности на декодиране и друга информация, като натиснете съответното име на бутона. Това ще служи като база данни за следващата фаза на Arduino. Горната програма е взета от папката „примери“ на библиотеката на IRremote, можете да разгледате още примери, за да научите повече за използването на IR дистанционното. Така че ние декодирахме IR дистанционния изход.
Сега запишете кода, даден в раздела Код в края, на същата дъска. Поздравления, приключихте с първата половина на този проект.
Изграждане на приложението за Android за IR Blaster:
Тук идва втората половина, създаването на приложението за Android. Просто предпочитам да използвам APP inventor-2 на MIT за създаване на такъв тип приложения. Ако сте любител в кодирането на Android, това ще спести вашето време и ще осигури добри резултати. Основните компоненти, използвани при създаването на това приложение, не са много, само няколко бутона и Bluetooth клиентски пакет. Докато кодирате приложението, осигурете съответния текст за изпращане за всеки бутон, натиснат на екрана, който ще поиска от Arduino да мига IR LED по същия начин, както би било направено от отделното дистанционно управление; уверете се също, че сте предоставили правилния адрес на вашия Bluetooth HC-05 модул. Ето как ще изглежда окончателното приложение във вашия смартфон с Android:
Ето стъпка по стъпка процес за изграждане на приложението:
ЕТАП 1:
Влезте в тази връзка: ai2.appinventor.mit.edu или опитайте и потърсете MIT appinventor-2 в Google. Влизането в AI2 изисква акаунт в Google, така че ако нямате, създайте такъв.
СТЪПКА 2:
След като влезете с вашия акаунт в Google, ще бъдете пренасочени към работеща уеб страница на AI2, която изглежда така:
Започнете нов проект, като щракнете върху раздела „Проекти“ в горната част и изберете „Стартиране на нов проект“. Когато приключите с частта за именуване и всичко, ще ви се покаже празен екран, в който можете да поставите бутони и текст, както е показано по-горе. Това е GUI екранът, в който вие решавате как да изглежда приложението на потребителя.
За да използвате пакет с бутони, изберете раздела „Бутон“ в лявата част на екрана в раздела „Потребителски интерфейс“. Просто плъзнете всеки пакет от лявото меню и го пуснете на работния екран. По същия начин, за да покажете всякакви текстови неща, използвайте пакета „Label“.
СТЪПКА 3:
След като подредите всичките си бутони и етикети, сега е време да направите код за това приложение. Но преди това трябва да изберем и Bluetooth пакет за комуникация с Arduino.
Ще забележите, че този пакет не се показва на екрана, а идва под „Невидими компоненти“. Това са компонентите, които нямат никакво значение в грима на GUI.
СТЪПКА 4:
Следва раздела за кодиране, в който ще дефинирате функцията за компонентите, които сте избрали и с които искате да работите.
В лявата част на екрана ще забележите всички онези пакети, които сте избрали в раздела на GUI. Горното изображение показва какви са всички компоненти в даден пакет, от който можете да се възползвате. Също така обърнете внимание, че адресът на Bluetooth модула трябва да бъде предоставен в текстов формат.
НАСТРОЙКА 5:
Когато почувствате, че приложението е готово за използване и няма грешки, кликнете върху раздела „Изграждане“, както е показано по-горе, и изберете втората опция. Това ще изтегли създаденото от вас приложение на компютъра във формат.apk. След това просто прехвърлете този.apk файл на всяко устройство с Android и кликнете върху него, за да го инсталирате.
Така че по този начин можете да управлявате всяко IR устройство с дистанционно управление с вашия смартфон, просто трябва да декодирате дистанционното на всички уреди, които искате да управлявате с вашия телефон и да замените декодирания HEX код на дистанционни бутони в кода на Arduino.