投稿日:2018年08月14日

【Raspberry Pi3】terminalで自宅家電をコントロールしてみた。

前回はラズパイにプログラムを実装してLEDを制御しました。

今回は少しだけ難易度をあげて

「ラズパイで家電をコントロールする」

製作のフローとして

  1. ①家庭用家電のリモコンの赤外線信号を分析する為の受信回路を製作
  2. ②分析した信号をラズパイから送信する為の送信回路の製作
  3. ③信号をラズパイに学習させ, terminal上で制御できるようにする

 

 

 

 

<今回使用した素子>

  1. (1)赤外線リモコン受信モジュール OSRB38C9AA[1個]
  2. (2)5mm 赤外線LED OSI5LA5113A[1個]
  3. (3)MOSFET 2N7000[1個]
  4. (4)MOSFET IRFU9024NPBF[1個]
  5. (5)抵抗 4.7kΩ [1個]
  6. (6)抵抗 27Ω [1個]
  7. (7)ジャンパ・ワイヤー(オス-メス)[4本]
  8. (8)5mm LED光拡散キャップ[1個]

 

 

 

 

 

 

 

<信号送信用の回路>

 

 

 

 

 

↑の回路は以下のサイトを参考にしました。

ここでブレッドボード上にこれらを設置。

 

 

 

 

 

 

 

 

左側が送信回路ですね。(右側に受信回路)

*LEDは電流が流れているかを目視で確認する為この段階では赤外線LEDは設置していません。

 

 

 

 

<受信用回路>

 

 

 

 

この受信モジュールは

左:OUTPUT→GPIO18

中:GRAND→GND

右:Vcc→5.5[V]

にワイヤーを使って設置しました。

 

 

 

 

 

 

 

<ラズパイでの環境構築>

pigpioのインストール&初期設定

GPIOの設定

Linux初心者の私はここで保存&終了がわからなくて少しハマりました。

commnad+X

Y

を押すと保存&編集モード終了をすることができます。

受送信プログラムダウンロード

githubからpigpioの製作者が作成した IR Record and Playbackをダウンロードします。

コマンドでももちろんできますがダウンロードできるけどなぜか中身が空という現象が発生したので直接ダウンロードしたのちVCMを使ってドラッグ&ドロップで転送しました。(ちなみに場所はどこでも大丈夫です。)

TVリモコンの赤外線を学習

学習終了後,コマンドを実行した階層にサンプリングした赤外線データが格納されたファイルが作成されます。

以上設定は終了。

最後に実行コマンドを紹介します。

TVのスイッチON/OFF

ちゃんとにコマンドを実行するたびにON/OFFが切り替わると思います。

 

 

 

 

 

 

<感想>

たぶん作ること自体は簡単だと思います。

(私はちょいちょいハマりましたが)

この調子でエアコンのリモコンも同様にして赤外線情報を取得し,実行したのですが以下のようなエラーがでました。

Traceback (most recent call last):
File “irrp.py”, line 481, in <module>
pi.wave_chain(wave)
File “/usr/lib/python3/dist-packages/pigpio.py”, line 2475, in wave_chain
self.sl, _PI_CMD_WVCHA, 0, 0, len(data), [data]))
File “/usr/lib/python3/dist-packages/pigpio.py”, line 970, in _u2i
raise error(error_text(v))
pigpio.error: ‘chain is too long’

赤外線情報が入ったファイルを見てみるとTVよりもデータ量が圧倒的に多かったのでこれが原因かもしれません。

次回以降もうちょっと粘って見ます。

最後まで読んで頂き
ありがとうございました。
SNS等でのシェアが頂ければ幸いです。