- Необходими материали:
- Методика на работа:
- Предварителни условия:
- Работа на дистанционно управление с променлив ток:
- Електрическа схема и обяснение:
- Декодиране на вашите дистанционни сигнали за променлив ток:
- Основна програма Arduino:
- Инсталиране на приложение за Android:
- Работа с контролиран от мобилен телефон променлив ток:
В съвременния свят, където и да отидем, около нас има много електронни устройства. Но от всички има само едно устройство, което ние лично имаме през джобовете си през цялото време. Да, това са нашите мобилни телефони. Сега мобилните телефони се превърнаха в нещо повече от устройство, използвано за комуникация, те са нашите камери, те са нашите карти, те са нашите карти за пазаруване и какво ли още не?
С тази възможност в нашите ръце, наистина е скучна идея да се използват дистанционни управления за управление на всякакви електронни приложения в дома ни като телевизор, променлив ток, домашно кино и др. Винаги е разочароващо да посегнете към дистанционното на променлив ток от удобния комфорт на нашето легло или диван. Следователно в този проект ще изградим малка настройка, с помощта на която можете да управлявате климатика чрез вашия смарт телефон чрез Bluetooth и Arduino. Звучи интересно нали! Да построим такъв
Необходими материали:
- Arduino Mega 2560
- TSOP (HS0038)
- IR Led
- Всеки цветен светодиод и 1K резистор (по избор)
- HC-06
- Макет
- Свързване на проводници
Методика на работа:
Всички дистанционни управления в дома ни, които използваме за управление на телевизия, домашно кино, променлив ток и т.н., работят с помощта на IR Blasters. Един IR бластер е нищо друго освен IR LED, които могат да бластер сигнал от повтарящи пулсиращ; този сигнал ще бъде разчетен от приемника в електрониката. За всеки различен бутон на дистанционното ще се пропусне уникален сигнал, който след прочитане от приемника се използва за изпълнение на определена предварително дефинирана задача. Ако успеем да прочетем този сигнал, излизащ от дистанционното, тогава можем да имитираме същия сигнал, използвайки IR светодиод, когато някога е необходимо за изпълнението на тази конкретна задача. Преди това направихме IR Blaster схема за универсално IR дистанционно управление и за автоматичен контрол на променлива температура.
А TSOP е IR приемник, който може да се използва за декодиране на сигнала, който идва от дистанционни управления. Ще използваме този TSOP, за да декодираме цялата информация от нашето Remote и да я съхраним в Arduino. След това, като използваме тази информация и IR Led, можем да създадем отново IR сигналите от нашия Arduino, когато е необходимо.
Предварителни условия:
За този Arduino Bluetooth Control AC проект се уверете, че имате Arduino Mega, а не която и да е друга версия на Arduino, тъй като размерът на кода е голям. Инсталирайте IR Remote Library, като използвате тази връзка, за да работите с TSOP и IR Blaster.
Работа на дистанционно управление с променлив ток:
Преди да пристъпим към проекта, отделете малко време и забележете как работи вашето дистанционно управление с променлив ток. AC дистанционните работят по малко по-различен начин в сравнение с телевизионните, DVD IR дистанционните. Възможно е на вашето дистанционно управление да има само 10-12 бутона, но те ще могат да изпращат много различни видове сигнали. Това означава, че дистанционното не изпраща един и същ код всеки път за един и същ бутон. Например, когато намалите температурата с помощта на бутона надолу, за да я направите 24 ° C (градуса по Целзий), ще получите сигнал с набор от данни, но когато го натиснете отново, за да зададете 25 ° C, няма да получите същото данни, тъй като температурата вече е 25, а не 24. По същия начин кодът за 25 също ще варира за различните скорости на вентилатора, настройките за сън и т.н. Така че нека не се занимаваме с всички опции и просто концентрираме само температурните стойности с постоянна стойност за други настройки.
Друг проблем е количеството данни, които се изпращат за всяко натискане на бутон, нормални дистанционни с изпращане или 24 бита, или 48 бита, но дистанционното управление с променлив ток може да изпрати до 228 бита, тъй като всеки сигнал съдържа много информация като Temp, Fan Speed, Време за заспиване, стил на люлка и т.н. Това е причината, поради която се нуждаем от Arduino Mega за по-добри възможности за съхранение.
Електрическа схема и обяснение:
За щастие хардуерната настройка на този контролиран от мобилен телефон климатик е много лесна. Можете просто да използвате макет и да направите връзките, както е показано по-долу.
Следващата таблица също може да се използва за проверка на връзките ви.
S.No: |
Компонентен щифт |
Arduino Pin |
1 |
TSOP - Vcc |
5V |
2 |
TSOP - Gnd |
Gnd |
3 |
TSOP - Сигнал |
8 |
4 |
IR Led - Катод |
Gnd |
5 |
IR Led - анод |
9 |
6 |
HC-05 - Vcc |
5V |
7 |
HC05 - Gnd |
Земя |
8 |
HC05 - Tx |
10 |
9 |
HC05 - Rx |
11. |
След като свържете връзките, това трябва да изглежда по следния начин, показано по-долу. Използвах Breadboard, за да подреждам нещата, но можете и директно от мъжки към женски проводници, за да свържете всички компоненти
Декодиране на вашите дистанционни сигнали за променлив ток:
Първата стъпка за управление на вашия AC е да използвате TSOP1738 за декодиране на IR кодове за дистанционно управление. Направете всички връзки, както е показано на електрическата схема и се уверете, че сте инсталирали всички споменати библиотеки. Сега отворете примерната програма “ IRrecvDumpV2 ”, която можете да намерите във Файл -> Примери -> IRremote -> IRrecvDumpV2 .
int recvPin = 8; IRrecv unrecv (recvPin);
Тъй като нашият TSOP е свързан към пин 8, сменете номер 9 на int recPin = 8, както е показано по-горе. След това качете програмата на вашия Arduino Mega и отворете серийния монитор.
Насочете дистанционното си към TSOP и натиснете произволен бутон, за всеки бутон, който натиснете, съответният сигнал ще бъде прочетен от TSOP1738, декодиран от Arduino и показан в серийния монитор. За всяка промяна в температурата на дистанционното ще получите различни данни. Запазете тези данни, защото ще ги използваме в нашата основна програма. Вашият сериен монитор ще изглежда по подобен начин, аз също показах файла на Word, в който съм запазил копираните данни.
Снимката на екрана показва кода за настройка на температурата на 26 ° C за моето дистанционно управление с променлив ток. Въз основа на вашето дистанционно управление ще получите различен набор от кодове. По същия начин копирайте кодовете за всички различни нива на температурата. Можете да проверите всички IR кодове за дистанционно управление на климатика в кода на Arduino, даден в края на този урок.
Основна програма Arduino:
Най- пълен основната програма Ардуино може да бъде в долната част на тази страница, но не можете да използвате една и съща програма. Трябва да промените стойностите на сигналния код, които току-що получихме от примерната скица. Отворете основната програма на вашия Arduino IDE и превъртете надолу до тази област, показана по-долу, където трябва да замените стойностите на масива със стойностите, които сте получили за вашето дистанционно управление.
Имайте предвид, че съм използвал 10 масива, от които двама нас са използвали ВКЛЮЧВАНЕ и ИЗКЛЮЧВАНЕ на променлив ток, докато останалите 8 се използват за задаване на различна температура. Например Temp23 се използва за задаване на 23 * C на вашия AC, така че използвайте съответния код в този масив. След като приключите, просто трябва да качите кода на вашия Arduino.
Трябва да импортираме две библиотеки за този проект. Едната е библиотеката IRremote , която току-що добавихме към Arduino, а другата е вградената софтуерна серийна библиотека, която ни помага при използването на Bluetooth модула.
#include
След това инициализираме Bluetooth модула на щифтове 10 и 11 и след това използваме обект, наречен irsend, за достъп до всички IR характеристики на библиотеката.
SoftwareSerial BT_module (10, 11); // RX, TX IRизпрати irsend;
Следва много важните редове код. Това е мястото, където присъства информацията за контрол на вашия AC. Показаният по-долу е за моето дистанционно управление с променлив ток, трябваше да си вземете своя в предишната стъпка.
Следваща вътре в невалидни настройка функция, ние се инициализира два серийни комуникации. Единият е Bluetooth със скорост 9600 бода, а другият е сериен монитор със скорост 57600 бода.
void setup () {BT_module.begin (9600); // BT работи на 9600 Serial.begin (57600); // Сериен монитор, работен син 57600}
Вътре в нашия празен цикъл (безкраен цикъл) проверяваме дали има нещо, получено от Bluetooth модула. Ако нещо се получи, ние съхраняваме тази информация в променливата BluetoothData .
while (BT_module.available ()) // Ако данните идват {BluetoothData = BT_module.read (); // прочетете го и го запазете Serial.println (BluetoothData); // отпечатваме го на сериен с цел тестване}
Информацията, получена от Bluetooth, ще се основава на бутона, натиснат на нашето приложение за Android, който ще инсталираме в следващата ни стъпка. След като информацията бъде получена, ние просто трябва да задействаме съответния IR код, както е показано по-долу
ако (BluetoothData == '2') {irsend.sendRaw (Temp23, sizeof (Temp23) / sizeof (Temp23), khz); delay (2000); // Изпращане на сигнал за задаване на Температура 23C}
Тук, ако се получи кодът „2“, трябва да настроим температурата на AC до 23 ° C. По същия начин имаме код от 0 до 9, за да изпълняваме всички основни контролни функции на AC. Можете да се обърнете към пълния код на arduino в края на тази страница.
Инсталиране на приложение за Android:
Последната стъпка на контролирания със смарт телефон климатик е инсталирането на приложението Android. Приложението за Android за този проект е създадено с помощта на Processing Android Mode. Обработката е отличен инструмент за създаване на.EXE файлове или APK файлове за вградени проекти. Това е платформа с отворен код точно като Arduino и следователно напълно безплатна за изтегляне за използване.
Ако не искате да навлизате твърде много в него, можете просто да изтеглите APK файла оттук в zip файла и да го инсталирате директно на мобилния си телефон. Отворете приложението и ще получите екран, както е показано по-долу, след което можете да преминете към следващата стъпка и да се насладите на работата с проекта. Но ако искате да промените програмата на приложението, за да го съобразите с вашите нужди, можете да прочетете по-нататък.
В пълна програма файла за обработка код може да бъде изтеглен от тук. Този Zip ще съдържа кода и източника на изображение, с които работи приложението. След като отворите кода, можете да промените следните редове, за да го адаптирате според вашите нужди.
Както беше казано по-рано, обработката е подобна на Arduino. Така че той също има функции за настройка на void и цикъл за void (тук нарисувайте). Във функцията за настройка на празнотата ще инструктираме Bluetooth на телефона да се свърже с Bluetooth на Arduino. Моето име на устройството тук е „HC-05“, така че моят ред код ще бъде
bt.start (); // започнете да слушате BT връзки bt.getPairedDeviceNames (); bt.connectToDeviceByName ("HC-05"); // Свържете се с нашия bluetooth модул HC-06
След това във функциите load_buttons () можете да нарисувате колкото искате бутони. Нарисувал съм 10 бутона, както е показано на приложението. Последвано от това имаме функцията read_buttons (), която се използва за откриване на кой бутон докосвате. Всеки бутон има определен цвят, така че когато потребителят докосне екрана, ние проверяваме кой цвят е докоснал и определяме кой бутон е докоснал. Примерен код за създаване на бутон и избор на него въз основа на цвета е показан по-долу
запълване (255,145,3); правоъгълник (ширина / 2-ширина / 4, височина / 2, ширина / 4, височина / 12); запълване (255); текст ("25C", ширина / 2-ширина / 4, височина / 2); // бутон 5 ако (color_val == - 13589993) {байт данни = {'0'}; bt.broadcast (данни);}
Редът „байт данни = {'0'};“ е много важна линия. Тук решаваме кой код трябва да бъде изпратен на Arduino чрез Bluetooth. Тук, ако този бутон бъде натиснат, символът „0“ се изпраща от Bluetooth към Arduino. По същия начин можем да изпратим различен знак за различни бутони. След това тези символи могат да се сравняват от страна на Arduino и да се предприемат съответни действия.
Продължете и бъркайте около кода, ако имате някакви съмнения, свържете се с мен чрез раздела за коментари и ще се постарая да ви помогна.
Работа с контролиран от мобилен телефон променлив ток:
След като сте готови с вашия хардуер, Arduino Code и приложения за Android, е време да се насладите на изхода. Качете кода на Arduino на вашия хардуер и го поставете срещу AC. Сега отворете андроид приложението на мобилния си телефон, ако всичко работи както се очаква, трябва да видите „ Свързано с: име на устройство (някакъв код) “, както е показано по-долу
Сега просто натиснете който и да е бутон на вашето приложение за Android и то трябва да предизвика съответно действие върху променливотоковия ток, сякаш използвате дистанционно управление. Можете да добавите колкото желаете бутони, като промените кода, а също така дори да автоматизирате променливоточния си въздух въз основа на вашата стайна температура или присъствие. Проверете пълния код на Arduino и видеото по-долу.
Надявам се, че проектът ви е харесал и сте разбрали концепцията зад него. Както винаги, ако имате някакъв проблем при извършването на тази работа, можете да използвате форумите, за да публикувате въпроси и да ги разрешите.
APK файл за инсталиране на приложение за Android можете да изтеглите от тук.