Raspberry Pi 3をスマートリモコン化


外出時でもエアコンを操作するためにRaspi3をスマートリモコン化することにしました。
以下のサイトを参考にしてミニブレッドボード上に赤外線送受信装置を実装しました。


格安スマートリモコンの作り方

赤外線LEDドライブ回路の決定版

自分の環境と微妙に部品の配置が異なるため、以下は自分用のメモとして書き残しておきます。



































ブレッドボード周り

使用したパーツ

全て秋月電子で購入

赤外線リモコン受信モジュールOSRB38C9AA
5mm赤外線LED 940nm OSI5LA5113A グレー
PchパワーMOSFET(55V11A) IRFU9024NPBF
カーボン抵抗(炭素皮膜抵抗) 1/2W 4.7kΩ (100本入)
カーボン抵抗(炭素皮膜抵抗) 1W27Ω (100本入)
ミニブレッドボード BB-601
MOSFET 2N7000
LED光拡散キャップ(5mm) 白
ブレッドボード・ジャンパーワイヤ(オス-メス) 15cm(黒) (10本入)


もともと持っていたもの

Raspberry Pi 3
電源
MicroSDカード


部品の配置

ブレッドボードに各部品を配置してRaspberry Pi 3のGPIOとジャンパワイヤで接続。
接続する際はRaspberry Pi は電源を落としておきます。

ラズパイのケースファンで3.3Vとgroundを1つずつ既に使用していたので参考先と接続が多少異なっています。ご了承ください。








































わかりづらい・・・
回路は全くの初心者なので、というか下手したらそのへんの小学生より知らないのでちんぷんかんぷんでやりました。

合っているんだろうか・・動いてるから合っているとは思うけど。。


接続が終わったらRaspberry Pi の電源を投入します。
間違っていると壊れるらしいので気をつけてください。


Raspberry Pi 3の設定

赤外線使用の前準備

僕の環境の場合は、
赤外線入力センサーのGPIO:18番
赤外線出力LEDのGPIO:17番となっています。参考サイトと同じです。

以下のコマンドを実行。前準備のようなものみたいです。
$ sudo systemctl enable pigpiod.service
$ sudo systemctl start pigpiod
$ echo 'm 17 w w 17 0 m 18 r pud 18 u' > /dev/pigpio
$ crontab -e
以下を追記
@reboot until echo 'm 17 w w 17 0 m 18 r pud 18 u' > /dev/pigpio; do sleep 1s; done


赤外線の送受信を行うためのスクリプトをダウンロードします。
$ mkdir ~/air-con
$ curl http://abyz.me.uk/rpi/pigpio/code/irrp_py.zip | zcat > irrp.py


リモコンの信号を学習

赤外線リモコンの信号を学習させます。今回はエアコンを制御したいのでとりあえずエアコンのOnを学習させます。

$ python3 irrp.py -r -g18 -f codes aircon:on --no-confirm --post 130
Recording
Press key for 'aircon:on'
ここでリモコンのONを受信モジュールに送る
Okay

codesというファイルにエアコンONの信号が書き出されていると思います。

続いて同じようにOFFの学習も行います。
$ python3 irrp.py -r -g18 -f codes aircon:off --no-confirm --post 130
Recording
Press key for 'aircon:on'
Okay


学習した信号の送信

以下のコマンドで学習した信号を送信します。
先ほど記録したcodesファイルから信号を読み込み赤外線LEDから送信します。
$ python irrp.py -p -g17 -f codes aircon:on

うまくエアコンが動作すれば完成です。
試しにOFFも実行
$ python irrp.py -p -g17 -f codes aircon:off


うまく動いてくれました。
次回はこの仕組みを応用してslackからエアコンのON-OFFができるようにしたいと思います。

0 件のコメント :