- Необходимые материалы:
- Методика работы:
- Предварительные условия:
- Работа пульта дистанционного управления переменного тока:
- Принципиальная схема и пояснения:
- Расшифровка удаленных сигналов переменного тока:
- Основная программа Arduino:
- Установка приложения для Android:
- Работа переменного тока, управляемого мобильным телефоном:
В сегодняшнем современном мире, куда бы мы ни пошли, нас окружает множество электронных устройств. Но, из всего, есть только одно устройство, которое лично у нас всегда есть в кармане. Да, это наши мобильные телефоны. Теперь мобильные телефоны превратились в нечто большее, чем просто устройство, используемое для связи, это наши камеры, они наши карты, они наши торговые карты, а что нет?
Имея эту возможность в наших руках, действительно скучно использовать пульты дистанционного управления для управления любыми электронными приложениями в нашем доме, такими как телевизор, кондиционер, домашний кинотеатр и т. Д. Всегда неприятно дотянуться до пульта дистанционного управления переменного тока из удобной и удобной кровати или диван. Следовательно, в этом проекте мы собираемся создать небольшую установку, с помощью которой вы можете управлять кондиционером через свой смартфон, используя Bluetooth и Arduino. Звучит интересно! Давайте построим один
Необходимые материалы:
- Ардуино Мега 2560
- TSOP (HS0038)
- ИК-светодиод
- Светодиод любого цвета и резистор 1 кОм (опционально)
- HC-06
- Макетная плата
- Подключение проводов
Методика работы:
Все пульты дистанционного управления в нашем доме, которые мы используем для управления телевизором, домашним кинотеатром, кондиционером и т. Д., Работают с помощью ИК-бластеров. ИК бластер не что иное, как ИК - светодиод, который может бластер сигнал посредством повторяющихся импульсов; этот сигнал будет считан приемником в электронном устройстве. Для каждой отдельной кнопки на пульте дистанционного управления будет выдан уникальный сигнал, который после считывания приемником используется для выполнения определенной заранее заданной задачи. Если мы сможем прочитать этот сигнал, исходящий от пульта дистанционного управления, мы сможем имитировать тот же сигнал с помощью ИК-светодиода, когда это потребуется для выполнения этой конкретной задачи. Ранее мы сделали схему IR Blaster для универсального ИК-пульта дистанционного управления и для автоматического контроля температуры переменного тока.
ЦОП является ИК - приемник, который может быть использован для декодирования сигнала, поступающего от дистанционного управления. Мы будем использовать этот TSOP для декодирования всей информации с нашего пульта дистанционного управления и сохранения ее на Arduino. Затем, используя эту информацию и ИК-светодиод, мы можем воссоздать ИК-сигналы от нашего Arduino, когда это необходимо.
Предварительные условия:
Для этого проекта Arduino Bluetooth Controlled AC Project убедитесь, что у вас есть Arduino Mega, а не какая-либо другая версия Arduino, поскольку размер кода велик. Установите IR Remote Library по этой ссылке для работы с TSOP и IR Blaster.
Работа пульта дистанционного управления переменного тока:
Прежде чем мы перейдем к проекту, уделите немного времени и обратите внимание на то, как работает ваш пульт дистанционного управления переменного тока. Пульты переменного тока работают немного по-другому, чем пульты дистанционного управления TV, DVD IR. На вашем пульте может быть всего 10-12 кнопок, но они могут отправлять множество различных типов сигналов. Это означает, что пульт дистанционного управления не отправляет каждый раз один и тот же код для одной и той же кнопки. Например, если вы уменьшите температуру с помощью кнопки «вниз» до 24 ° C (градус Цельсия), вы получите сигнал с набором данных, но когда вы снова нажмете его, чтобы установить 25 ° C, вы не получите того же данные, так как температура теперь 25, а не 24. Аналогичным образом код для 25 также будет различаться для разных скоростей вращения вентилятора, настроек сна и т. д. Так что давайте не возиться со всеми параметрами и просто сконцентрируем только значения температуры с постоянным значением для других настроек.
Другая проблема заключается в количестве данных, которые отправляются при каждом нажатии кнопки, обычные пульты дистанционного управления с отправкой либо 24 бит, либо 48 бит, но пульт дистанционного управления переменного тока может отправлять до 228 бит, поскольку каждый сигнал содержит много информации, такой как температура, скорость вентилятора, Время сна, стиль Swing и т. Д. Это причина, по которой нам нужна Arduino Mega для лучших вариантов хранения.
Принципиальная схема и пояснения:
К счастью, аппаратная настройка этого кондиционера с мобильным телефоном очень проста. Вы можете просто использовать макетную плату и выполнить соединения, как показано ниже.
Следующая таблица также может использоваться для проверки ваших подключений.
S.No: |
Компонент Pin |
Штырь Arduino |
1 |
TSOP - Vcc |
5В |
2 |
TSOP - Земля |
Gnd |
3 |
TSOP - сигнал |
8 |
4 |
ИК-светодиод - катод |
Gnd |
5 |
ИК-светодиод - анод |
9 |
6 |
HC-05 - Vcc |
5В |
7 |
HC05 - Земля |
Земля |
8 |
HC05 - Tx |
10 |
9 |
HC05 - Rx |
11 |
После того, как вы установили соединения, он должен выглядеть примерно так, как показано ниже. Я использовал макетную плату, чтобы привести в порядок вещи, но вы также можете напрямую подключить штекер к гнезду, чтобы подключить все компоненты
Расшифровка удаленных сигналов переменного тока:
Первым шагом к управлению вашим AC является использование TSOP1738 для декодирования ИК-кодов дистанционного управления AC. Выполните все подключения, как показано на принципиальной схеме, и убедитесь, что вы установили все упомянутые библиотеки. Теперь откройте программу-пример « IRrecvDumpV2 », которую можно найти в Файл -> Примеры -> IRremote -> IRrecvDumpV2 .
int recvPin = 8; IRrecv irrecv (recvPin);
Поскольку наш TSOP подключен к контакту 8, измените номер строки 9 на int recPin = 8, как показано выше. Затем загрузите программу на свой Arduino Mega и откройте Serial Monitor.
Направьте пульт дистанционного управления на TSOP и нажмите любую кнопку, для каждой кнопки, которую вы нажимаете, соответствующий сигнал будет считан TSOP1738, декодирован Arduino и отображен на последовательном мониторе. При каждом изменении температуры на вашем пульте дистанционного управления вы получаете разные данные. Сохраните эти данные, поскольку мы будем использовать их в нашей основной программе. Ваш серийный монитор будет выглядеть примерно так. Я также показал файл Word, в котором я сохранил скопированные данные.
На снимке экрана показан код для установки температуры 26 ° C для моего пульта дистанционного управления переменного тока. В зависимости от вашего пульта дистанционного управления вы получите другой набор кодов. Аналогичным образом скопируйте коды для всех различных уровней температуры. Вы можете проверить все ИК-коды пульта дистанционного управления кондиционером в коде Arduino, приведенном в конце этого руководства.
Основная программа Arduino:
Полная основная программа Arduino может быть в нижней части этой страницы, но вы не можете использовать ту же программу. Вам нужно изменить значения кода сигнала, которые мы только что получили из примера скетча. Откройте основную программу на вашей Arduino IDE и прокрутите вниз до этой области, показанной ниже, где вам нужно заменить значения массива значениями, полученными для вашего пульта дистанционного управления.
Обратите внимание, что я использовал 10 массивов, из которых два используются для включения и выключения переменного тока, а остальные 8 используются для установки другой температуры. Например, Temp23 используется для установки 23 * C на вашем AC, поэтому используйте соответствующий код в этом массиве. Как только это будет сделано, вам просто нужно загрузить код в Arduino.
Нам нужно импортировать две библиотеки для этого проекта. Одна из них - это библиотека IRremote, которую мы только что добавили в Arduino, а другая - встроенная последовательная библиотека программного обеспечения, которая помогает нам использовать модуль Bluetooth.
#включают
Затем мы инициализируем модуль Bluetooth на контактах 10 и 11, а затем используем объект irsend для доступа ко всем ИК-функциям библиотеки.
SoftwareSerial BT_module (10, 11); // RX, TX IRsend irsend;
Далее идут очень важные строки кода. Здесь присутствует информация для управления вашим кондиционером. Тот, что показан ниже, предназначен для моего пульта дистанционного управления переменного тока, вы должны были получить свой на предыдущем шаге.
Затем внутри функции настройки void мы инициализируем два последовательных канала связи. Один - Bluetooth со скоростью 9600 бод, другой - последовательный монитор со скоростью 57600 бод.
void setup () {BT_module.begin (9600); // BT работает на 9600 Serial.begin (57600); // Serial Monitor work son 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), khz); delay (2000); // Посылаем сигнал для установки Temperatue 23C}
Здесь, если получен код «2», мы должны установить температуру переменного тока на 23 ° C. Точно так же у нас есть коды от 0 до 9 для выполнения всех основных функций управления AC. Вы можете обратиться к полному коду Arduino в конце этой страницы.
Установка приложения для Android:
Последним этапом установки кондиционера, управляемого смартфоном, является установка приложения Android. Приложение Android для этого проекта было создано с использованием режима Android Processing. Обработка - отличный инструмент для создания файлов.EXE или APK для ваших встраиваемых проектов. Это платформа с открытым исходным кодом, такая же, как и Arduino, поэтому ее можно бесплатно загрузить и использовать.
Если вы не хотите вдаваться в подробности, вы можете просто загрузить APK-файл отсюда внутри zip-файла и установить его прямо на свой мобильный телефон. Откройте приложение, и вы увидите экран, показанный ниже, после чего вы сможете перейти к следующему шагу и наслаждаться работой с проектом. Но если вы хотите настроить программу приложения в соответствии с вашими потребностями, вы можете прочитать дальше.
Полный файл программа для обработки коды можно загрузить здесь. Этот Zip-архив будет содержать код и источник изображения, с которым работает приложение. После открытия кода вы можете настроить следующие строки, чтобы адаптировать их под свои нужды.
Как было сказано ранее, обработка похожа на Arduino. Таким образом, он также имеет функции void setup и void loop (здесь рисование). Внутри функции настройки 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 if (color_val == - 13589993) {byte data = {'0'}; bt.broadcast (данные);}
Строка «byte data = {'0'};» это очень важная линия. Здесь мы решаем, какой код нужно отправить в Arduino через Bluetooth. Здесь, если эта кнопка нажата, символ «0» отправляется из Bluetooth в Arduino. Точно так же мы можем отправлять разные символы для разных кнопок. Затем эти символы можно сравнить на стороне Arduino и предпринять соответствующие действия.
Продолжайте возиться с кодом, если у вас есть какие-либо сомнения, свяжитесь со мной через раздел комментариев, и я постараюсь помочь вам.
Работа переменного тока, управляемого мобильным телефоном:
Когда вы будете готовы со своим оборудованием, кодом Arduino и приложениями для Android, самое время насладиться результатом. Загрузите код Arduino на свое оборудование и поместите его лицом к сети переменного тока. Теперь откройте приложение Android на своем мобильном телефоне. Если все работает, как ожидалось, вы должны увидеть « Подключено к: имя_устройства (некоторый код) », как показано ниже.
Теперь просто нажмите любую кнопку в своем приложении Android, и оно должно вызвать соответствующее действие на AC, как если бы вы использовали пульт. Вы можете добавить столько кнопок, сколько захотите, изменив код, а также даже автоматизировать кондиционер в зависимости от температуры в помещении или присутствия. Ознакомьтесь с полным кодом Arduino и видео ниже.
Надеюсь, вам понравился проект и вы поняли его концепцию. Как всегда, если у вас возникли проблемы с выполнением этой работы, вы можете использовать форумы, чтобы задать свои вопросы и получить их ответы.
APK-файл для установки Android-приложения можно скачать здесь.