Оглавление:

Универсальный ИК-пульт дистанционного управления AIY: 5 шагов
Универсальный ИК-пульт дистанционного управления AIY: 5 шагов

Видео: Универсальный ИК-пульт дистанционного управления AIY: 5 шагов

Видео: Универсальный ИК-пульт дистанционного управления AIY: 5 шагов
Видео: Trinary Time Capsule 2024, Ноябрь
Anonim
Универсальный ИК-пульт дистанционного управления AIY
Универсальный ИК-пульт дистанционного управления AIY

Эта инструкция описывает, как сделать универсальный инфракрасный пульт дистанционного управления AIY. Его можно использовать для управления любым телевизором, звуковой панелью, дигибоксом, DVD или Bluray плеером с помощью голоса.

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

В проекте AIY для записи и передачи ИК-сигнала используется программа LIRC.

Шаг 1: Сделайте печатную плату

Сделать печатную плату
Сделать печатную плату
Сделать печатную плату
Сделать печатную плату

Список деталей:

Два инфракрасных светодиодных излучателя диаметром 5 мм с длиной волны 940 нм

Один инфракрасный приемник TSOP38238

Один транзистор 2n3904

Один резистор 10 Ом

Один вероборд

Четыре одинарных разъема (необязательно - я разрезал шестиконтактный разъем на отдельные разъемы)

Кабели для подключения к шапке AIY.

Убедитесь, что у ИК-светодиодов длинная ножка находится в первом ряду, а короткая - во втором. Второй светодиод с длинной ногой во втором ряду и короткой ногой в третьем.

Транзистор должен иметь базу на третьем, коллектор на четвертом и эмиттер на пятом. Убедитесь, что плоская сторона резистора обращена к разъему.

Резистор находится между пятой и восьмой строками.

Используйте короткий кусок проволоки, чтобы соединить ряды один с рядом седьмой.

Подключите ИК-приемник к седьмому, восьмому и девятому ряду.

Добавьте соединители в ряды один, четыре, восемь и девять.

Разъемы бывают:

Ряд один - + 5в мощность

Четвертый ряд - сигнал передатчика

Восьмой ряд - Земля

Ряд девять - сигнал приемника

Шаг 2: Подключитесь к AIY Hat

Подключитесь к AIY Hat
Подключитесь к AIY Hat
Подключитесь к AIY Hat
Подключитесь к AIY Hat

Я припаял штыри разъема к своему AIY, чтобы упростить подключение.

Я использовал выводы Servo 0 (GPIO 26) и Servo 5 (GPIO 24) для сигнала. Я также использовал + 5В от горизонтального контакта над контактами сервопривода. Я взял заземление от GND рядом с Servo 0, но вы можете использовать любое заземление, какое захотите.

Используя соответствующие кабели, я подключил шапку AIY к плате следующим образом:

+ 5В в первую строку

Серво 0 (GPIO 26) для четвертого ряда

GND к строке 8

Сервопривод 5 (GPIO 24) для девятого ряда.

Шаг 3. Установите LIRC

Предполагая, что вы уже настроили и протестировали AIY:

Нам нужно установить LIRC. Следуйте этим ценным инструкциям мирзы Ирвана Османа:

www.instructables.com/id/Install-Linux-Infrared-Remote-Control-LIRC-Package

ИЛИ альтернативную инструкцию можно найти здесь Алексом Бэйном:

alexba.in/blog/2013/01/06/setting-up-lirc-on-the-raspberrypi/

ПРИМЕЧАНИЕ: для моей настройки мне нужно было убедиться, что файл /boot/config.txt имеет следующее:

dtoverlay = lirc-rpi, gpio_in_pin = 24, gpio_out_pin = 26

Шаг 4. Получите или создайте файлы LIRC для своих устройств

На следующем шаге создается файл lircd.conf, содержащий сведения о пульте дистанционного управления для устройств, которые вы хотите использовать.

Есть два способа создать этот файл:

1. Если вам повезет, вы можете найти существующий файл на страницах LIRC для своего устройства.

2. Если вы не можете его найти, вам нужно будет записать файл с помощью ИК-приемника и пульта дистанционного управления.

Для шага 1 перейдите на домашнюю страницу LIRC и просмотрите список поддерживаемых устройств:

www.lirc.org/

Если вы можете найти файл для устройства, вам необходимо перенести информацию из файла в файл lircd.conf / etc / lirc

Поскольку мой AIY не содержит заголовков, я использую WINScP для внесения изменений в lirc.conf.

Необходимая информация начинается с "начать удаленный" и заканчивается "удаленным концом".

ПРИМЕЧАНИЕ. Если вы хотите управлять более чем одним устройством, просто добавьте дополнительный удаленный код в тот же файл после существующего «конечного удаленного». Убедитесь, что у каждого пульта есть уникальное имя. Я использую mytv для своего телевидения и sky для моего дигибокса Sky и т. Д.

Если вы не можете найти код своего устройства, вам необходимо его записать.

Следуйте этим инструкциям, чтобы узнать, как записывать каждый пульт дистанционного управления с помощью LIRC:

www.instructables.com/id/Record-Infrared-Codes-of-Any-Remote-Control-Unit-f/

После того, как вы записали первый пульт дистанционного управления, повторяйте процесс, пока не будут записаны все пульты дистанционного управления. Затем вы можете обновить файл lirc.conf всеми записанными кодами. Мне нужно было сделать это для моей звуковой панели.

Шаг 5: используйте AIY для управления вашими устройствами

Для управления ИК-передатчиком с AIY внесите необходимые изменения в файл "assistant_library_with_local_commands_demo.py"

Вы можете запустить "assistant_library_with_local_commands_demo.py" из терминала Start Dev, чтобы проверить, работает ли ваш код.

У меня AIY запускается автоматически при загрузке, следуя инструкциям здесь:

aiyprojects.withgoogle.com/voice/#makers-guide-3-4--run-your-app-automatically

Имейте в виду, что если вы хотите изменить свой код, вам нужно остановить работу AIY, а затем запустить его снова, используя эти:

sudo service my_assistant stop

sudo service my_assistant start

Прилагаемый код содержит мою текущую рабочую программу.

(Обратите внимание, что этот код также содержит дополнительные функции, такие как интернет-радио).

Код использует различные варианты отправки LIRC send_start и send_stop для передачи необходимого ИК-сигнала. Я обнаружил, что необходимо ввести паузу между запуском и остановкой сигнала, и это может варьироваться в зависимости от устройства (моему телевизору Panasonic требуется более длинный сигнал, чем у Sky Box). Так например:

subprocess.call ('irsend SEND_START mytv KEY_POWER', оболочка = True)

time.sleep (0,5)

subprocess.call ('irsend SEND_STOP mytv KEY_POWER', оболочка = True)

Чтобы посылать комбинации сигналов, например, телеканал Sky TV, я создал список, который обозначал фразу к коду канала. Обратите внимание, что иногда AIY не всегда слышит правильное слово, поэтому я также включил варианты фразы (например, bbc 1 и bbc one, или слово «гид», а также «dave», поскольку AIY всегда возвращал это, когда я сказал «Дэйв» - это должно быть мой акцент!). Затем я использовал процедуру, которая выбирала трехзначный код из списка и передавала каждое число (см. Модуль ## Процедура смены канала неба ##)

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

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

Удачного дистанционного управления AIY IR!

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