systemypomiarowe.pl

Великий план змонтованої плати P161002 з мікросхемами Microchip у SMD-корпусах Візуалізація плати з мікроконтролером STM32, роз'ємом картки SD і модулем GPS Тривимірна візуалізація плати з реле, зумером і роз'ємами Фрагмент принципової схеми з вимірювальним підсилювачем INA326 та АЦП MCP3304 Тривимірна візуалізація щільно змонтованої плати модуля зв'язку Передня панель пристрою з підписаними кнопками, регуляторами гучності та динаміком Технічне креслення передньої панелі з розташуванням кнопок і регуляторів Змонтована плата з мікроконтролером PIC18F2550, роз'ємом USB і підлаштовними резисторами Вихідний код інтерфейсу TouchGFX для STM32 у редакторі Visual Studio Code Топологія друкованої плати з шарами та розташуванням компонентів
❮
❯
Головна Пропозиція

Raspberry Pi – дистанційне керування IR (LIRC)

LIRC – це бібліотека для обслуговування дистанційного керування в інфрачервоному діапазоні. Щоб перевірити цю бібліотеку, до виводу GPIO Raspberry слід під'єднати приймач інфрачервоного сигналу. Для тестів я використав спроєктовану мною плату P130502 "frontpanel". Далі цю бібліотеку встановлюємо командою:

sudo apt-get install lirc

Після правильного встановлення та налаштування пакета lirc разом із залежностями слід змінити файл /etc/modules, додавши такі рядки:

lirc_dev

lirc_rpi gpio_in_pin=18 gpio_out_pin=8

Зверніть увагу, що для редагування цього файлу редактор слід запустити з правами root, наприклад:

sudo nano /etc/modules

Файл /etc/lirc/hardware.conf має виглядати так:

########################################################
# /etc/lirc/hardware.conf
#
# Arguments which will be used when launching lircd
LIRCD_ARGS="--uinput"

# Don't start lircmd even if there seems to be a good config file
# START_LIRCMD=false

# Don't start irexec, even if a good config file seems to exist.
# START_IREXEC=false

# Try to load appropriate kernel modules
LOAD_MODULES=true

# Run "lircd --driver=help" for a list of supported drivers.
DRIVER="default"
# usually /dev/lirc0 is the correct setting for systems using udev
DEVICE="/dev/lirc0"
MODULES="lirc_rpi"

# Default configuration files for your hardware if any
LIRCD_CONF=""
LIRCMD_CONF=""
########################################################

Після перезапуску Raspberry Pi можемо запустити службу командами:

sudo /etc/init.d/lirc stop

sudo /etc/init.d/lirc start

Щоб перевірити, чи наша служба запустилася правильно, виконуємо команду:

dmesg | grep lirc

Відповідь має бути подібна до наведеної нижче:

[ 15.036008] lirc_dev: IR Remote Control driver registered, major 248
[ 15.137018] lirc_rpi: module is from the staging directory, the quality is unknown, you have been warned.
[ 15.147286] lirc_rpi lirc_rpi.0: lirc_dev: driver lirc_rpi registered at minor = 0
[ 15.150384] lirc_rpi: driver registered!
[ 16.106830] lirc_rpi: auto-detected active low receiver on GPIO pin 18

Тепер можемо перевірити приймання даних з будь-якого пульта. У терміналі вводимо команду, що зупиняє службу:

sudo /etc/init.d/lirc stop

Запускаємо програму:

mode2 -d /dev/lirc0

Натискаємо будь-яку кнопку на пульті дистанційного керування. У вікні термінала маємо побачити щось подібне:

space 16777215
pulse 925
space 848
pulse 1809
space 837
pulse 903
space 867
pulse 928
space 848
pulse 918
space 844
pulse 926
space 843
pulse 899
space 1749

Наступний елемент конфігурації – файл lircd.conf. Я змінив назву файлу lircd.conf на іншу, наприклад lircd.old, а назву файлу з командами системи RC5, описаного як Philips-29PT5507, змінив на lircd.conf. Після запуску служби lirc та виконання команди:

irw

можемо спостерігати в терміналі декодовані команди:

0000000000001003 00 3 Philips-29PT5507
0000000000001003 01 3 Philips-29PT5507
0000000000001003 00 3 Philips-29PT5507
0000000000001003 01 3 Philips-29PT5507
000000000000100c 00 power Philips-29PT5507
000000000000100c 00 power Philips-29PT5507
0000000000001020 00 prog_up Philips-29PT5507
0000000000001020 01 prog_up Philips-29PT5507
0000000000001021 00 prog_down Philips-29PT5507
0000000000001024 00 unknown_5 Philips-29PT5507
0000000000001024 01 unknown_5 Philips-29PT5507
0000000000001011 00 vol_down Philips-29PT5507
0000000000001010 00 vol_up Philips-29PT5507

Це свідчить про правильну роботу приймача інфрачервоного сигналу та декодування команд.


Приймач інфрачервоного сигналу буває також елементом готового пристрою – ми застосували його в контролері із сервером HTTP, що підтримує стандарт RC5. Подібні контролери ми проєктуємо на замовлення.



Copyright ©2026 systemypomiarowe.pl.