Как управлять GPIO на Raspberry Pi с инфракрасного пульта дистанционного управления
Обычно дистанционное управление используется для управления ТВ-картой или XMBC, однако оно также обеспечивает хороший интерфейс для управления GPIO на Raspberry Pi.
Adafruit имеет Mini Remote и ИК-датчик, которые идеально подходят для этого:
В нашем примере используем пульт дистанционного управления для управления несколькими светодиодами, подключенными к некоторым выводам GPIO на Raspberry Pi.
Подключение ИК-датчика к Raspberry Pi
Подключить ИК-датчик к Raspberry Pi очень просто, поскольку на датчике есть только 3 контакта: GND (земля), 3В и Output (выход). Выход подключим к GPIO 18 Вы можете выбрать другой вывод, просто примите это к сведению, когда потребуется указать вывод при установке LIRC.
Мы присоединим три светодиода к GPIO 23, 24 и 25, а через опоры 270 Ом катоды каждого светодиода присоединим к земляному выводу GND GPIO, как показано на схеме.
установка LIRC
LIRC — пакет, который позволяет декодировать инфракрасные сигналы многих (но не всех) часто используемых пультов дистанционного управления. LIRC запускается как демон (служба), который будет декодировать ИК-сигналы, полученные от драйверов устройств и предоставлять информацию на разъеме. Далее мы написали программу для пользователя, чтобы он контролировал входные события на этом разъеме с помощью клиентской библиотеки LIRC. Кстати, если вам нужна качественная печать флаеров по низким ценам — смело переходите по ссылке ранее.
1 Нам нужно установить LIRC и клиентские библиотеки:
pi @ raspberrypi ~ $ sudo apt-get install lirc liblircclient-dev
2 Теперь надо добавить две строки ниже в / etc / modules. Это позволит запуск модулей при загрузке. Указанный ниже вывод 18 будет использоваться, чтобы принять выходной сигнал ИК-датчика.
lirc_dev
lirc_rpi gpio_in_pin = 18
3 Редактируем /etc/lirc/hardware.conf, чтобы он выглядел точно так, как показано ниже:
# /etc/lirc/hardware.conf
#
# Аргументы, которые будут использоваться при запуске lircd
LIRCD_ARGS = "- uinput"
# Не включайте lircmd даже если кажется, что конфигурационный файл хороший
# START_LIRCMD = false
# Не включайте irexec, даже если хороший конфигурационный файл, кажется, существует
# START_IREXEC = false
# Попробуйте загрузить соответствующие модули ядра
LOAD_MODULES = true
# Запуск «lircd —driver = help», чтобы получить список поддерживаемых драйверов
DRIVER = «default»
# Обычно / dev / lirc0 является корректной установкой для систем с использованием udev
DEVICE = "/ dev / lirc0"
MODULES = «lirc_rpi»
# Конфигурационные файлы для умолчанию для любого Вашего оборудования
LIRCD_CONF = ""
LIRCMD_CONF = ""
# /etc/lirc/hardware.conf