クーラーなど赤外線リモコンで操作する電化製品を、 スマホで操作するための装置です。温度測定機能も付いています。 外観は以下の通りです。
100 円ショップで購入した食品用タッパに実装しました。 赤外線送信用 LED と温度測定用 IC が外に出ています。 中身は以下のようになっています。
「Raspberry Pi」「Arduino」「電子回路」が入っており、 配線されています。
タッパに穴を開けたりするのに ボール盤かハンドドリルが必要です。 それが面倒な人は、以下のように、木の板に実装することもできます。 木ねじでとめています。
木の板に実装
以下の既製品を使っています。
電子回路は「ブレッドボード上に作る」か 「ユニバーサル基板上に作る」の 2 つの方法があります。 耐久性はユニバーサル基板上に作る方が勝りますが、 製作速度と難易度はブレッドボード上に作る方が勝ります。
木の板に実装する場合、ブレッドボードの方がお薦めです。 タッパに実装する場合はどちらでもよいです。
用意する道具
タッパに実装する場合、上記に加えて以下の道具が必要です。
購入する部品
回路図を以下に示します。温度計測機能が不要な場合、 温度測定用 IC である LM35 とその配線である赤線部分は不要です。
Raspberry Pi(以下、ラズパイと略すことがある)上で Web サーバ(と同等のもの)を動作させ、 スマホから Wifi 経由でアクセスします。
ラズパイと Arduino はシリアル通信(USBケーブル経由)で 双方向の通信を行います。Arduino への電源供給もこの USB ケーブル で行います。
「ラズパイの Gnd と Arduino の Gnd を結ぶ線」は 「ラズパイと Arduino が USB ケーブルで結ばれていない状態でも Gnd の 電位を合わせるため」にあります。この回路においては不要ですが、 将来拡張したときに、Gnd レベルの不一致により、 予期せぬ場所に電流が流れるのを防止します。
ラズパイはスマホからの司令に従って、 Arduino に「送信するリモコン信号」を送ります。 Arduino はそれに従って赤外線 LED を on/off し、 エアコンなどを制御します。
回路部品の定数は以下のように決めました。
赤色 LED と 470Ωの抵抗はエラー発生時の インジケータなので、省略可能です。 赤色 LED の順方向電圧は約 2 V です。 赤色 LED を流れる電流は ( 5V - 2V ) ÷ 470 Ω ≒ 6 mA です。 3 mA 以上で十分明るいので、560 Ω, 680Ω などでも良いでしょう。
赤外線 LED は、今回私が使った TLN115A は最大 100 mA まで 流せます。赤外線 LED の順方向電圧は 100 mA のとき約 1.4 V です。 「トランジスタが on のとき、コレクタ−エミッタ間電圧は 0 V」 と仮定すると、
( 5 V - 1.4 V ) ÷ 100 mA = 36 Ω
となります。近い値として 33 Ω を選びました。
実際に組んだものを測定すると、 電源電圧は 4.6 V、コレクタ−エミッタ間飽和電圧は 0.1 V 程度 でした。このとき、30 Ωでコレクタ電流が 100 mA となりました。 より多くの電流を流したいとき、30 Ωにすると良いでしょう。
トランジスタは 2SC1815 を使いました。 2SC1815 のデータシートを見ると、 コレクタ電流が 30 mA を超えると電流増幅率 β が 大幅に落ちます。Ic = 100 mA, Vce = 1 V のとき β = 80 となっています。
飽和状態(理想的には Vce = 0V) となるとき、 さらに β が落ちることが予想されます。 1 個の 2SC1815Y を測定したところ、on のとき、 Vce = 0.25 V, Ic = 92 mA, Ib = 3.7 mA となりました (オシロの画面を目で読んだ電圧から求めた値なので 大体の値です)。 このとき β = 25 です。 トランジスタが飽和するベース電流を流すため、ベースに接続する 抵抗は 1 kΩ に設定しました。
「ベース電流が流れるとき、ベース 〜 エミッタ間電圧は 0.7 V」 と仮定すると、ベース電流は
( 5 V - 0.7 V ) ÷ 1 kΩ = 4.3 mA
と見積もれます。β = 25 と低めに仮定すると、 4.3 mA × 25 = 107 mA > 100 mA なので、 飽和状態となります。
470 uF のコンデンサは、電源電圧の 安定化のためにあります。この 470 uF という 値は十分すぎるほど大きな値です。 220 uF や 100 uF でもよいでしょう。 省略しても恐らく問題ないと思いますが、 安心のために入れてあります。