[Raspberry Pi] 赤外線を読み取る Detect infrared light

青いケーブルで赤外線受信モジュールをRaspberry Piに配線した。

赤外線モジュールを配線する

まず、赤外線受信モジュールをRaspberry Piにつなぎます。3本の端子があるはずです。: グラウンド、電源電圧、出力。秋月電子には2種類の赤外線受信モジュールが売っていました。1~2個100円です。電源電圧や、どの端子がどれに対応するかは、データシートを見て確認します。データシートは同封されていたり、webで検索して見つけられます。今回は、PL-IRM1261-C438 (PARA LIGHT)を使います。

LIRCのインストール

LIRCをインストールします

sudo apt-get install lirc

ハードウェア設定ファイルの編集

ここではvimを使って編集します。
sudo vim /etc/lirc/hardware

そして, 次のように編集します

# /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のどの端子に赤外線受信モジュールを接続したか書きます。ここでは、Kernel 3.18以降の手順を示します。カーネルのバージョンはuname -rで確認できます。

sudo vim /boot/config.txt

そして、繋いだピンに合わせて設定します。ここでは、GPIO17に受信モジュールの出力端子を繋いだ場合を示します。今回はGPIO18には何も繋いでいませんが、後ほど赤外線LEDの発光時に予定です。

dtoverlay=lirc-rpi,gpio_in_pin=17,gpio_out_pin=18

gpio-info.jpg

動作確認

lsmod | grep lirc

lirc_rpi
lirc_dev
rc_core

TK

ls -l /dev/lirc*

受信する

sudo /etc/init.d/lirc stop
sudo mode2 -d /dev/lirc0

次のような画面が表示され、pulseとspaceが並びます。




しかし、もし次のようなエラーが表示されたら,

$ sudo mode2 -d /dev/lirc0
mode2: could not open /dev/lirc0
mode2: default_init(): Device or resource busy

LIRCを一旦停止させ、再び起動させます。

sudo /etc/init.d/lirc stop
sudo /etc/init.d/lirc start

参考

[Raspberry Pi]赤外線リモコンを使う


コメント

人気の投稿