- Необхідні матеріали:
- Методика роботи:
- Передумови:
- Робота пульта дистанційного керування змінного струму:
- Електрична схема та пояснення:
- Розшифровка віддалених сигналів змінного струму:
- Основна програма Arduino:
- Встановлення програми Android:
- Робота мобільного телефону під контролем змінного струму:
У сучасному світі, куди б ми не пішли, навколо нас багато електронних пристроїв. Але, з усього, є лише один пристрій, який ми особисто постійно маємо в кишенях. Так, це наші мобільні телефони. Зараз мобільні телефони стали більше, ніж пристроєм, що використовується для спілкування, це наші камери, це наші карти, це наші покупки, а що ні?
З цією можливістю в наших руках, це справді нудна ідея використовувати пульти дистанційного керування для управління будь-якими електронними програмами в нашому домі, такими як телевізор, змінна система, домашній кінотеатр тощо. Завжди неприємно тягнутися до пульта дистанційного керування від зручного комфорту нашого ліжка або диван. Отже, у цьому проекті ми збираємося створити невелику установку, за допомогою якої ви зможете керувати кондиціонером через свій смарт-телефон за допомогою Bluetooth та Arduino. Звучить цікаво правильно! Побудуємо одну
Необхідні матеріали:
- Arduino Mega 2560
- TSOP (HS0038)
- ІЧ світлодіодні
- Будь-який кольоровий світлодіод і резистор 1K (додатково)
- HC-06
- Макет
- Підключення проводів
Методика роботи:
Усі пульти дистанційного керування в нашому домі, якими ми керуємо телевізором, домашнім кінотеатром, змінним струмом тощо, працюють за допомогою ІЧ-бластерів. ІК бластер не що інше, як ІК - світлодіод, який може бластер сигнал за допомогою повторюваних імпульсів; цей сигнал буде зчитуватися приймачем електронного приладу. Для кожної різної кнопки на пульті буде вибухнути унікальний сигнал, який після зчитування приймачем використовується для виконання певного заздалегідь визначеного завдання. Якщо ми можемо зчитувати цей сигнал, що надходить з пульта дистанційного керування, ми можемо імітувати той самий сигнал, використовуючи ІЧ-індикатор, коли коли-небудь буде потрібно для виконання цього конкретного завдання. Раніше ми створили схему ІЧ-бластера для універсального пульта дистанційного керування та для автоматичного регулювання температури змінного струму.
ЦОП є ІК - приймач, який може бути використаний для декодування сигналу, що надходить від дистанційного керування. Ми будемо використовувати цей TSOP для декодування всієї інформації з нашого пульта дистанційного керування та збереження її на Arduino. Потім, використовуючи цю інформацію та інфрачервоний світлодіод, ми можемо відтворювати ІЧ-сигнали від нашого Arduino, коли це потрібно.
Передумови:
Для цього Arduino Bluetooth Controlled AC Project переконайтеся, що у вас є Arduino Mega, а не будь-яка інша версія Arduino, оскільки розмір коду великий. Встановіть віддалену бібліотеку ІЧ за цим посиланням для роботи з TSOP та IR Blaster.
Робота пульта дистанційного керування змінного струму:
Перш ніж ми приступимо до проекту, витратьте трохи часу і зауважте, як працює ваш пульт дистанційного керування змінного струму. Пульти дистанційного керування змінного струму працюють дещо по-іншому в порівнянні з пультами дистанційного керування телевізором та DVD. На пульті дистанційного керування може бути лише 10-12 кнопок, але вони зможуть надсилати багато різних типів сигналів. Це означає, що пульт не надсилає один і той же код кожного разу для однієї і тієї ж кнопки. Наприклад, коли ви знижуєте температуру за допомогою кнопки вниз, щоб зробити її 24 ° C (градус Цельсія), ви отримаєте сигнал із набором даних, але при повторному натисканні, щоб встановити 25 ° C, ви не отримаєте те саме дані, оскільки температура зараз становить 25, а не 24. Подібним чином код для 25 також буде змінюватися залежно від різної швидкості обертання вентилятора, налаштувань сну і т. д. Тож давайте не будемо возитися з усіма параметрами, а просто концентруємо лише значення температури з постійним значенням для інших налаштувань.
Інша проблема полягає в обсязі даних, які надсилаються при кожному натисканні кнопки, звичайні пульти дистанційного керування з відправкою або 24 біта, або 48 біт, але пульт дистанційного керування змінного струму може надсилати до 228 біт, оскільки кожен сигнал містить багато інформації, як Темп, Швидкість вентилятора, Час сну, стиль гойдалки тощо. Саме тому нам потрібен Arduino Mega для кращих варіантів зберігання.
Електрична схема та пояснення:
На щастя, апаратне налаштування цього кондиціонера, керованого мобільним телефоном, дуже просте. Ви можете просто використати макетну плату і встановити з'єднання, як показано нижче.
Наступну таблицю також можна використовувати для перевірки ваших з’єднань.
S.No: |
Компонентний штифт |
Pin Arduino |
1 |
TSOP - Vcc |
5 В |
2 |
TSOP - Gnd |
Gnd |
3 |
TSOP - Сигнал |
8 |
4 |
ІЧ світлодіод - катод |
Gnd |
5 |
ІЧ світлодіод - анод |
9 |
6 |
HC-05 - Vcc |
5 В |
7 |
HC05 - Gnd |
Земля |
8 |
HC05 - Tx |
10 |
9 |
HC05 - Rx |
11 |
Після завершення з'єднання це має виглядати приблизно так, як показано нижче. Я використовував Макетну дошку для прибирання речей, але Ви також можете підключити чоловічі до жіночих проводів безпосередньо, щоб підключити всі компоненти
Розшифровка віддалених сигналів змінного струму:
Першим кроком для керування своїм змінним струмом є використання TSOP1738 для декодування ІК-кодів пульта дистанційного керування змінного струму. Встановіть усі підключення, як показано на схемі, та переконайтесь, що ви встановили всі згадані бібліотеки. Тепер відкрийте приклад програми “ IRrecvDumpV2 ”, яку можна знайти у меню Файл -> Приклади -> IRremote -> IRrecvDumpV2 .
int recvPin = 8; IRrecv unrecv (recvPin);
Оскільки наш TSOP підключений до виводу 8, змініть номер рядка 9 на int recPin = 8, як показано вище. Потім завантажте програму на Arduino Mega і відкрийте послідовний монітор.
Наведіть пульт дистанційного керування на TSOP і натисніть будь-яку кнопку, для кожної кнопки, яку ви натискаєте, відповідний сигнал буде зчитуватися TSOP1738, декодуватися Arduino і відображатися на послідовному моніторі. Для кожної зміни температури на пульті дистанційного керування ви отримуватимете різні дані. Збережіть ці дані, оскільки ми будемо використовувати їх у нашій головній програмі. Ваш послідовний монітор буде виглядати приблизно так, я також показав файл Word, в якому я зберігав скопійовані дані.
На знімку екрана відображається код для встановлення температури 26 ° C для мого пульта дистанційного керування змінного струму. На основі вашого пульта ви отримаєте інший набір кодів. Подібним чином скопіюйте коди для різного рівня температури. Ви можете перевірити всі ІЧ-коди пульта дистанційного керування кондиціонера в Коді Arduino, наведеному в кінці цього посібника.
Основна програма Arduino:
Повна основна програма Arduino може бути в нижній частині цієї сторінки, але ви не можете використовувати ту ж програму. Ви повинні змінити значення коду сигналу, які ми щойно отримали з прикладу ескізу. Відкрийте основну програму на своїй Arduino IDE і прокрутіть вниз до цієї області, показаної нижче, де вам доведеться замінити значення масиву на значення, отримані для вашого пульта дистанційного керування.
Зверніть увагу, що я використав 10 масивів, з яких два ми використовували УВІМКНЕННЯ та ВИМКНЕННЯ змінного струму, а решта 8 використовується для встановлення різної температури. Наприклад, Temp23 використовується для встановлення 23 * C на вашому змінного струму, тому використовуйте відповідний код у цьому масиві. Після цього вам просто потрібно завантажити код на ваш Arduino.
Для цього проекту нам потрібно імпортувати дві бібліотеки. Один - це бібліотека IRremote, яку ми щойно додали до Arduino, а інша - це вбудована послідовна бібліотека програмного забезпечення, яка допомагає нам у використанні модуля Bluetooth.
#включати
Далі ми ініціалізуємо модуль Bluetooth на контактах 10 і 11, а потім використовуємо об’єкт, який називається irsend, для доступу до всіх ІЧ-функцій бібліотеки.
SoftwareSerial BT_module (10, 11); // RX, TX IRsend irsend;
Далі йдуть дуже важливі рядки коду. Тут присутня інформація для управління вашим змінним струмом. Наведений нижче призначений для мого пульта дистанційного керування змінного струму, ви мали отримати свій на попередньому кроці.
Далі всередині функції налаштування порожнечі ми ініціалізуємо два послідовні зв’язки. Один - 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, який ми встановимо на наступному кроці. Після отримання інформації нам просто потрібно викликати відповідний ІЧ-код, як показано нижче
якщо (BluetoothData == '2') {irsend.sendRaw (Temp23, sizeof (Temp23) / sizeof (Temp23), кГц); delay (2000); // Надіслати сигнал для встановлення Температури 23C}
Тут, якщо отримано код «2», ми повинні встановити температуру змінного струму на 23 ° C. Так само ми маємо код від 0 до 9 для виконання всіх основних функцій управління змінного струму. Ви можете звернутися до повного коду arduino в кінці цієї сторінки.
Встановлення програми Android:
Заключним кроком кондиціонера, керованого смартфоном, є встановлення програми Android. Додаток Android для цього проекту було створено з використанням режиму обробки Android. Обробка - чудовий інструмент для створення файлів.EXE або APK для вбудованих проектів. Це платформа з відкритим кодом, подібна до Arduino, і, отже, абсолютно безкоштовна для завантаження.
Якщо ви не хочете глибоко вникати в це, ви можете просто завантажити файл APK звідси всередині zip-файлу та встановити його безпосередньо на свій мобільний телефон. Відкрийте програму, і ви отримаєте екран, як показано нижче, після чого ви можете перейти до наступного кроку і насолоджуватися роботою з проектом. Але якщо ви хочете налаштувати програму програми, щоб вона відповідала вашим потребам, тоді ви можете прочитати далі.
Повний файл програма для обробки коди можна завантажити тут. Цей Zip матиме код та джерело зображень, за допомогою яких працює програма. Після відкриття коду ви можете налаштувати наступні рядки, щоб адаптувати його до своїх потреб.
Як було сказано раніше, обробка подібна до Arduino. Отже, він також має функції налаштування порожнечі та циклу порожнечі (тут малюємо). Усередині функції налаштування порожнечі ми вкажемо 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); текст ("25С", ширина / 2-ширина / 4, висота / 2); // кнопка 5 if (color_val == - 13589993) {байтові дані = {'0'}; bt.broadcast (дані);}
Рядок “byte data = {'0'};” це дуже важлива лінія. Тут ми вирішуємо, який код потрібно надіслати Arduino через Bluetooth. Тут, якщо натиснути цю кнопку, символ “0” надсилається з Bluetooth на Arduino. Подібним чином ми можемо надіслати різний символ для різних кнопок. Потім ці символи можна порівняти на стороні Arduino і вжити відповідних дій.
Вперед і возитись навколо коду, якщо у вас є якісь сумніви, зв’яжіться зі мною через розділ коментарів і постараюся зробити все можливе, щоб допомогти вам.
Робота мобільного телефону під контролем змінного струму:
Коли ви будете готові до свого обладнання, програм Arduino Code та додатків для Android, пора насолоджуватися результатами. Завантажте код Arduino на своє обладнання та розмістіть його напроти свого змінного струму. Тепер відкрийте додаток android на своєму мобільному телефоні, якщо все працює належним чином, ви побачите « Підключено до: ім'я_ пристрою (деякий код) », як показано нижче
Тепер просто натисніть будь-яку кнопку на вашому додатку для Android, і це повинно викликати відповідну дію на змінного струму, ніби ви використовуєте пульт дистанційного керування. Ви можете додати скільки завгодно кнопок, змінивши код, а також навіть автоматизувати змінне струм на основі вашої кімнатної температури або присутності. Перевірте повний код Arduino та відео нижче.
Сподіваюся, вам сподобався проект і ви зрозуміли концепцію його розвитку. Як завжди, якщо у вас виникають проблеми з виконанням цієї роботи, ви можете використовувати форуми, щоб розміщувати свої запитання та вирішувати їх.
Файл.apk для встановлення програми Android можна завантажити звідси.