Raspberry Pi で赤外線リモコン3

Raspberry Pi の Raspbian Stretch で赤外線リモコンを作ろうとして失敗したことを書いた。

どうしてもうまくいかなかったので、Raspbian Stretch はあきらめて Raspbian Jessie で作ることにした。

結果としてはうまくいったが、やっていることは3年前にやった方法と同じだ。

[Raspberry Pi] 赤外線リモコン – with a Christian Wife
https://blog.withachristianwife.com/2017/03/12/raspberry-pi-infrared-remote/

改めてその方法をまとめ直してみる。

環境:Raspberry Pi Zero W、Raspbian Jessie

使用パーツ:
・赤外線リモコン受信モジュール(GP1UXC41QS)1つ
 http://sc.akizukidenshi.com/catalog/g/gI-06487/
・赤外線 LED(OSI5LA5113A)1つ
 http://akizukidenshi.com/catalog/g/gI-12612/
・トランジスタ(2SC1815Y)
 http://akizukidenshi.com/catalog/g/gI-04268/
・抵抗 1/4W 100R 1つ
・抵抗 1/4W 10KR 1つ
・ブレッドボード 1つ
・ジャンパーワイヤー メス-オス 5つ
・ジャンパーワイヤー オス-オス 2つ

(0)Raspbian Jessie をインストールする。

(1)配線は『ラズベリー・パイで遊ぼう 改訂第2版』(p217~)に従った。トランジスタを使って赤外線の信号を増幅している。

画像1

(2)WiringPi をインストールする。

$ sudo apt-get install wiringpi

すでにインストール済みと表示された。

(3)正しくインストールされたか確認する。

$ gpio -v
gpio version: 2.44
Copyright (c) 2012-2017 Gordon Henderson
This is free software with ABSOLUTELY NO WARRANTY.
For details type: gpio -warranty
Raspberry Pi Details:
Type: Pi Zero-W, Revision: 01, Memory: 512MB, Maker: Sony
* Device tree is enabled.
*--> Raspberry Pi Zero W Rev 1.1
* This Raspberry Pi supports user-level GPIO access.

(4)以下のサイトから赤外線信号受信プログラム scanir.c と赤外線送信プログラムの sendir.c をコピーさせてもらいファイルを作る。Raspberry Pi のルートディレクトリに置く。

赤外線信号送信・受信 | Feijoa.jp
https://feijoa.jp/article/?article_urn=laboratory/raspberrypi/infrared

以下のコマンドでコンパイルする。

$ sudo gcc scanir.c -o scanir -lwiringPi
$ sudo gcc sendir.c -lm -o sendir -lwiringPi

(5)赤外線情報を登録する。

今回はライトのオン/オフを登録する。

以下のコマンドを実行したあと、リモコンのオンを押す。

$ sudo ./scanir on.data 0

以下のコマンドを実行したあと、リモコンのオフを押す。

$ sudo ./scanir off.data 0

これで on.data と off.data というファイルが作成された。

(6)発信テストをする。

以下のコマンドでリモコンのオンを送信する。20 は 20 回送信するということ。

$ sudo ./sendir on.data 20 1

回数が少ないとうまく反応しないことがあり、私は 50 回ぐらい送信しないと確実にリモコンが動作しなかった。それと LED を向ける方向が結構シビアなので、何回も向きを調整しながら設置する必要がある。

以下のコマンドでリモコンのオフを送信する。

$ sudo ./sendir off.data 20 1

赤外線がちゃんと発信されているかどうかを確かめるには、デジカメを通して LED を見るとよい。

これでうまくいった。cron に登録するには以下のようにすればいい(毎朝6時にリモコンをオンにする場合)。

0 6 * * * sudo ./sendir on.data 20 1

参考:
[Raspberry Pi] 指定時刻に赤外線リモコンを発信する – with a Christian Wife
https://blog.withachristianwife.com/2017/03/13/set-timer-of-infrared-remote-on-rp/

この記事が気に入ったらサポートをしてみませんか?