Оглавление:

Понимание ИК-протокола пультов дистанционного управления кондиционера: 9 шагов (с изображениями)
Понимание ИК-протокола пультов дистанционного управления кондиционера: 9 шагов (с изображениями)

Видео: Понимание ИК-протокола пультов дистанционного управления кондиционера: 9 шагов (с изображениями)

Видео: Понимание ИК-протокола пультов дистанционного управления кондиционера: 9 шагов (с изображениями)
Видео: BroadLink RM4 mini - ИК контроллер для умного дома, замена пультов дистанционного управления 2024, Ноябрь
Anonim
Понимание ИК-протокола пультов дистанционного управления кондиционера
Понимание ИК-протокола пультов дистанционного управления кондиционера

Я уже довольно давно изучаю ИК-протоколы. Как отправлять и получать ИК-сигналы. На данный момент остается только ИК-протокол пультов переменного тока.

В отличие от традиционных пультов почти всех электронных устройств (например, телевизора), где одновременно отправляется информация только одной кнопки, в пультах переменного тока все параметры кодируются и отправляются одновременно. Следовательно, может быть немного сложно декодировать сигнал с микроконтроллера.

В этой инструкции я объясню, как мы можем легко декодировать ИК-протоколы любого пульта дистанционного управления переменного тока. Я буду использовать свою СПРЯТАННУЮ ИК-КЛАВИАТУРУ для чтения и декодирования ИК-сигналов, написав новую программу. но вы можете использовать практически любой микроконтроллер, с которым вы знакомы, если он поддерживает внешние прерывания в сочетании с ИК-демодулятором TSOP.

Шаг 1. Необходимые инструменты

Паяльная станция. (Например ЭТО)

Хотя вы можете использовать более дешевые утюги, тем не менее, если вы увлекаетесь электроникой, рекомендуется паяльная станция хорошего качества.

Pickit 2. (например, ЭТО)

Вы также можете использовать PICKIT 3, но тогда вам придется использовать отдельный преобразователь USB-to-UART для чтения вывода с микроконтроллера.

Осциллограф

Ну, у меня его нет. но если он у вас есть, это сделает вашу жизнь намного проще. Обязательно купите один, если можете себе его позволить.

Компьютер

Ну.. Ду

Шаг 2: Необходимые компоненты

  • PIC18F25J50 (например, ЗДЕСЬ)
  • ИК-приемник TSOP. (Например, ЗДЕСЬ)
  • Регулятор LM1117 3,3 В. (например, ЗДЕСЬ)
  • Конденсаторы 2х220нФ.
  • Резистор 470 Ом.
  • Резистор 10 кОм.

Это компоненты, необходимые для создания моего проекта HID IR-клавиатуры. Если у вас есть какая-либо другая плата для разработки ПО или Arduino, вам просто понадобится модуль ИК-декодера TSOP.

Пульт дистанционного управления переменного тока

Пульт, который нужно декодировать. Я буду использовать пульт Videocon AC. У этого пульта нет дисплея, но он работает аналогично другим пультам с дисплеями.

Шаг 3: Как это работает (ИК-протокол)

Как это работает (ИК-протокол)
Как это работает (ИК-протокол)

Прежде чем продолжить, давайте разберемся с основами.

ИК-пульты дистанционного управления используют ИК-светодиод для передачи сигнала от пульта дистанционного управления к приемнику путем быстрого включения и выключения светодиода. Но многие другие источники света также излучают ИК-свет. Итак, чтобы сделать наш сигнал особенным, используется сигнал ШИМ на определенной частоте.

Практически во всех ИК-пультах используются частоты 30 кГц, 33 кГц, 36 кГц, 38 кГц, 40 кГц и 56 кГц.

Однако наиболее распространенными являются 38 кГц и 40 кГц.

Модуль TSOP демодулирует сигнал несущей (например, 38 кГц) в более подходящую логику TTL GND и VCC.

Длительность логики ВЫСОКИЙ или НИЗКИЙ обозначает бит «1» или «0». Продолжительность зависит от каждого удаленного протокола (например, NEC).

Чтобы подробно разобраться в протоколе IR, вы можете обратиться к Этому документу.

Шаг 4: Пульт

Пульт
Пульт

Пульт, который я использую, принадлежит довольно старому кондиционеру, установленному в моей комнате. Таким образом, у него нет необычного дисплея, но он в значительной степени работает так же, как и любой пульт дистанционного управления с дисплеем.

Мы можем изменить следующие настройки с помощью пульта дистанционного управления.

  • Включение / выключение питания
  • Включение / выключение спящего режима
  • Включение / выключение турбо-режима
  • Качели вкл / выкл
  • Скорость вентилятора (низкая, средняя, высокая)
  • Выбор режима (охлаждение, осушение, вентилятор)
  • Температура (от 16 до 30 градусов Цельсия)

Шаг 5: Захват образцов RAW

Захват образцов RAW
Захват образцов RAW
Захват образцов RAW
Захват образцов RAW

На изображении вы можете видеть образцы RAW, выдаваемые ИК-приемником TSOP. числа обозначают длительность пакета, а знак +/- обозначает ОТМЕТКУ и ПРОБЕЛ сигнала.

здесь 1 единица означает 12 мксек (микросекунды).

Итак, пакет из 80 означает 960 мкс и так далее.

Следующий фрагмент кода захватывает данные и выводит их на последовательный монитор pickit2. (IDE - это MikroC PRO для PIC)

По какой-то причине редактор Instructable испортил тег кода. Итак, я только что приложил снимок экрана с кодом, обратитесь ко второму изображению этого шага.

Я бы прикрепил всю папку проекта, но сейчас там беспорядок, и я еще не совсем готов к тому, чего я пытаюсь достичь.

Шаг 6. Наблюдение за образцами RAW и преобразование их в удобочитаемый формат

Наблюдение за образцами RAW и преобразование их в удобочитаемый формат
Наблюдение за образцами RAW и преобразование их в удобочитаемый формат
Наблюдение за образцами RAW и преобразование их в удобочитаемый формат
Наблюдение за образцами RAW и преобразование их в удобочитаемый формат
Наблюдение за образцами RAW и преобразование их в удобочитаемый формат
Наблюдение за образцами RAW и преобразование их в удобочитаемый формат

Если мы внимательно посмотрим на образцы RAW, мы легко увидим, что существует четыре диапазона длительности пакета.

~80

~45

~170

~250

Последние три значения всегда +250-250 +250. Следовательно, мы можем с уверенностью предположить, что это бит STOP пакетных данных. Теперь, используя следующий фрагмент кода, мы можем разделить эти четыре длительности пакета на '-', '. и «1».

Обратитесь к 3-му изображению этого шага для получения фрагмента кода.

Вы могли заметить, что я проигнорировал всплеск числа ~ 80 в коде. это потому, что каждое странное размещение кода не имеет значения. Распечатав массив _rawprocess на последовательном мониторе (как вы можете видеть на втором изображении этого шага), мы получаем очень четкую картину полученных данных. Теперь, нажимая разные кнопки на пульте дистанционного управления, мы можем наблюдать за изменением структуры данных, как описано в следующем шаге.

Шаг 7: Наблюдение за закономерностями путем сравнения нескольких необработанных образцов

Наблюдение за закономерностями путем сравнения нескольких необработанных образцов
Наблюдение за закономерностями путем сравнения нескольких необработанных образцов
Наблюдение за закономерностями путем сравнения нескольких необработанных образцов
Наблюдение за закономерностями путем сравнения нескольких необработанных образцов
Наблюдение за закономерностями путем сравнения нескольких необработанных образцов
Наблюдение за закономерностями путем сравнения нескольких необработанных образцов

Распечатывая только декодированные данные, мы можем получить более четкое представление о том, какие биты используются для отправки каких данных.

Для параметров МОЩНЫЙ СОН и ТУРБО используется только один бит. то есть либо '.' или «1».

SWING использует три соседних бита. который обозначается как «…» или «111».

Выбор вентилятора и режима также использует по 3 бита «1..» «.1». и '..1'

Температура использует четыре бита, которые отправляют значение, используя двоично-кодированные биты со смещением 16, что означает «…». отправляет значение 16 градусов Цельсия, а «111». отправляет 30 градусов по Цельсию.

Шаг 8: ВЫВОДИТЕ декодированные данные на последовательный монитор

ВЫВОДИТЕ декодированные данные на последовательный монитор
ВЫВОДИТЕ декодированные данные на последовательный монитор

Как вы можете видеть на изображении, я успешно декодировал все биты, отправленные удаленным AC.

С этого момента те, у кого есть опыт работы с протоколами ir, уже знают, как перекодировать сигнал и начать отправлять их в AC. Если вы хотите увидеть, как это можно сделать, дождитесь следующего моего руководства, которое я опубликую примерно через неделю.

Шаг 9: Готово

Спасибо за ваше время.

пожалуйста, оставьте комментарий, если вам понравился проект. или если вы могли заметить какую-либо ошибку.

Хорошего дня.

Рекомендуемые: