OrangePi-PCを使ってみる

赤外線LEDを使った赤外線送信


こちらの ページでlircを使わない赤外線受信、赤外線送信のやり方が紹介されています。
そこで、OrangePi-PCで動くかどうか試してみました。

まずはscanirを試してみます。
なお、上記のページでは受光モジュールにPL-IRM2161-XD1を使い、5V駆動となっていますが、受光モジュールの駆動電圧は注意が必要 です。
上記のページで使われているPL-IRM2161-XD1は 2.4V〜5Vで駆動可能ですが、受光モジュールの出力レベルは(基本的に)
Vccと同じレベルが出力されます。
5V駆動の場合はGPIOの入力レベルが5Vになるので、OrangePiやRaspberryPiでは3.3V給電にする必要が有ります。

OrangePi-PCにはオンボードに赤外線受信モジュールが実装されていますが、今回はGPIO経由で受信データを読みたいので、
外付けの赤外線受信モジュールが必要になります。
今回、赤外線受光モジュールにはTL1838を使い、Vccは3.3V駆動、DataピンはPA6(Pin#7 WiringPiのピン番号=7)を使いました。
また、こちらに 紹介されているCRフィルター回路を加えるとより安定します。




TVのリモコンの電源ボタンを読み込ませてみました。
$ sudo ./scanir tv_on.ir
write file: tv_on.ir
scaning pin: 7 (wiringpi)
max keep time: 40(ms)
Infrared LED scanning start.
Pressed Ctrl+C, this program will exit.

Scanning has been done.
$ ls -l tv_on.ir
-rw-r--r-- 1 root root 476 Jun 26 07:56 tv_on.ir

scanirではこのようなファイルができます。
mode2コマンドの結果とよく似ています。


こちらが同じリモコンを発射した時のmode2コマンドの結果です。
やはりpulseとspaceの時間を記録するようです。




次にsendirを試してみます。
赤外線LEDの制御はPC2(Pin#23 WiringPiのピン番号=14)を使いました。


TVのリモコンの電源ボタンを発射してみます。
$ sudo ./sendir tv_on.ir 1 14
read file: tv_on.ir
output pin: 14 (wiringpi)
unit: 26ms duty:9-17
send infrared signal.
send data.

done

TVのリモコンをチャンネル1ボタンを読み込ませてみました。
$ sudo ./scanir tv_ch1.ir
write file: tv_ch1.ir
scaning pin: 7 (wiringpi)
max keep time: 40(ms)
Infrared LED scanning start.
Pressed Ctrl+C, this program will exit.

Scanning has been done.

$ ls -l tv_ch1.ir
-rw-r--r-- 1 root root 476 Jun 26 08:01 tv_ch1.ir

TVのリモコンのチャンネル1ボタンを発射してみます。
$ sudo ./sendir tv_ch1.ir 1 14
read file: tv_ch1.ir
output pin: 14 (wiringpi)
unit: 26ms duty:9-17
send infrared signal.
send data.

done

全て正常に動きました。
(外付けの)赤外線受信モジュールと赤外線LEDを使って、OrangePi-PCでも赤外線を送信できることが分かりました。

次回はpythonで使えるi2cライブラリの smbusライブラリを紹介します。