OrangePi-ZEROを使ってみる

赤外線受信ポートを使う

ZEROにはLiteなどの様に赤外線受信モジュールは実装されていませんが、受信用のポートだけは13ピンヘッダーに準備されています。
そこで、これを使った赤外線受信を紹介します。

Armbian 5.35以降ではlircはデフォルトではインストールされていません。
lircを追加でインストールして、こちらの 手順でサービスを有効にする必要が有ります。
Armbian 5.30では以下の様に最初からlircサービスが有効になっています。

まず、ドライバーのロード状態を確認します。


最初にこれを見たときは、見たこともないドライバーがたくさんロードされているので正直焦りました。
先頭にirの文字が付くドライバーは全て赤外線関連のドライバーです。
これらのドライバーがロードされる理由は、以下の理由です。
@なぜか「/etc/lirc/lircd.conf」が最初から作られている
Alircサービスが起動している


最近のArmbianは全てlircサービスが最初から有効になっていますので、Aはわかりますが、
@の理由はさっぱりわかりません。
そもそも、どのようなリモコンかさえ分かりません。
回避方法としては以下の2つが有ります。
@「/etc/lirc/lircd.conf」を別の名前にリネームする
Alircサービスを止める

lircサービスの自動起動は以下のコマンドで無効にすることができます。


サービスを止めて再起動すると、いつもの見慣れたドライバーに戻ります。


lircサービスの自動起動は以下のコマンドで有効にすることができます。


ここまでわかるのにずいぶん時間がかかりました。
サービスの自動再起動を有効にして、一旦リブートします。

13ピンヘッダーのピン配置はこちらに紹介されて います。
今回、赤外線受信ではこれらのピンの内、1番、2番、13番を使いました。

使用した赤外線受信モジュールは私のお気に入りのTL1838で、 赤外線モジュールとピンの結線は以下の通りです。
本当はこちらで 紹介されているようにRCフィルター回路(RCローパスフィルタ)を実装した方がいいのでしょうが、面倒(^^♪なので...
赤外線モジュール ピンヘッダー
Vcc 1番(3.3V)(※)
Gnd 2番(GND)
Data 13番(CIR-RX)

(※)
この赤外線受光モジュールは2.7V〜5.5Vで動きますが、受光モジュールの出力レベルは(基本的に)
Vccと同じレベルが出力されます。
5V駆動の場合はDataピンの出力レベル(GPIOの入力レベル)が5Vになるので、抵抗で分圧して3.3V駆動にしています。
なお、赤外線受信モジュールの中には動作電圧が4.5V〜5.5Vでしか動かない物がありますので
使う前にデータシートを確認する必要があります。
実測しましたが、TL1838の場合、5V駆動で5V、3.3V駆動で3.9Vが出ていますので、
3.3Vで駆動した時も、少しレベルを落とした方がいいかもしれません。

こちらでOrangePi-PCのオ ンボード赤外線受信の使い方を紹介していますが、
リモコンの学習方法はOrangePi-PCと全く同じです。
できあがったconfigファイルもOrangePi-PCと全く同じ内容です。

OrangePi-PCのconfigファイル



OrangePi-ZEROのconfigファイル


同じリモコンを使うなら、そのままファイルをコピーできます。
configファイルを所定のディレクトリーにコピーし、再起動するとリモコンを認識することができました。


赤外線受信が必要な人のために、一応こ のような製品もありますが、
製品本体より送料の方が高いってのはなんだかなぁ...
OPI-ZERO用のユニバーサルHAT(26Pin仕様)、売り出さないかなぁ〜
誰も作ってくれないので作ってしまいました

<蛇足>
ZEROにはV1.1とV1.4の2種類のPCBリビジョンが有ります。
見分け方はこ ちらで紹介されています。
私の持っているZEROは1.1ですが、1.4はCPU温度が高温(70度以上)になるみたいです。
そのうち買って試してみます。
</蛇足>

次回はZEROでのGPIO操作を紹介します。