ホームオートメーションは、私たちのほとんどにとって常に刺激的なプロジェクトです。別の部屋のスイッチに手を伸ばさずに、どの部屋の椅子やベッドの快適さからAC負荷を切り替えるのもクールですね!!、ESP8266モジュールのおかげで、このアイデアは電子機器に関する微妙な知識で簡単に実装できます。
このプロジェクトでは、アクティブなインターネット接続を備えた電話またはコンピューターを使用して、スイッチをリモートで切り替えることができるジャンクションボックスの作成方法を学びましょう。このプロジェクトは、定格電流が5Aまたは約800ワット以下の2つのAC負荷を切り替えることができます。概念を理解したら、高度なESPモジュールを使用して負荷の数またはACを拡張し、高定格のリレーを使用して負荷の電力定格を上げることもできます。
このチュートリアルは、ArduinoIDEでESP8266モジュールを使用した経験があることを前提としています。ESP8266 WiFiトランシーバー入門(パート1)およびESP8266入門(パート3)にアクセスしない場合は、先に進む前に、ArduinoIDEを使用したESP8266のプログラミングとメモリのフラッシュのチュートリアルをご覧ください。
必要なハードウェア:
このプロジェクトに必要なハードウェアは以下のとおりです。
- ESP8266
- FTDIモジュール(プログラミング用)
- 3V 5A電磁リレー(2Nos)
- AC-DCコンバータモジュール(5V / 700mA以上)
- BC547(2Nos)
- LM317レギュレーター
- 220オームと360オームの抵抗
- 0.1および10ufコンデンサ
- IN007ダイオード(2Nos)
- 接続箱
- 接続用ワイヤー
回路図の説明:
このプロジェクトの完全な回路図を以下に示します。
回路図は、出力が5Vおよび700mAになるAC-DCコンバータモジュールで構成されています。ESP8266モジュールは3.3Vで動作するため、5Vを3.3Vに変換する必要があります。したがって、LM317可変電圧レギュレータICは、ESPモジュールの3.3Vを調整するために使用されます。電磁リレーを使用したAC負荷を切り替えるには、このリレーの通電に3Vが必要であり、リレーのコモン(C)ピンとノーマルオープン(NO)ピンを流れる最大5Aに耐えることができます。リレーを駆動するために、ESPモジュールのGPIOピンによって切り替えられるBC547NPNトランジスタを使用しました。
ESP8266モジュールにはGPIOピンが組み込まれているため、プロジェクトはかなり単純になりました。ただし、ESPモジュールのGPIOピンを使用する場合は注意が必要です。以下で説明します。
ESP8266 GPIOピンを使用するためのヒント:
- ESP8266-01モジュールには、それぞれGPIO0ピンとGPIO2ピンの2つのGPIOピンがあります。
- GPIOピンの最大ソース電流は12mAです。
- GPIOピンの最大シンク電流は20mAです。
- この低電流のため、ピンから直接リレーのような適切な負荷を駆動することはできません。ドライバ回路は必須です。
- ESPモジュールの電源がオンになっているときは、GPIOピンに負荷が接続されていないはずです。それ以外の場合、モジュールはリセットループに陥ります。
- 推奨電流よりも多くの電流を流すと、ESP8266モジュールのGPIOピンが炒められるので注意してください。
ESP8266モジュールの上記の欠点を克服するために、BC547を使用してリレーを駆動し、エミッタとBC547トランジスタのグランド間のスイッチを使用しました。この接続は、ESPモジュールの電源がオンになっているときに開いている必要があります。その後、閉じてそのままにしておくことができます。
ハードウェア:
回路図を理解したら、回路をパフォーマンスボードにはんだ付けするだけです。ただし、ボードがジャンクションボックスにも収まるようにしてください。
このプロジェクトで使用されるAC-DCコンバータは、700mAの連続電流と800mAのピーク電流で5Vを出力します。簡単に入手できるので、似たようなものをオンラインで簡単に購入できます。独自のコンバーターを設計したり、バッテリーを使用したりすると、プロジェクトの効率が低下します。このモジュールを購入したら、入力端子にワイヤをはんだ付けするだけで、回路の残りの部分を使用する準備が整います。
すべてがはんだ付けされると、次のようになります。
お気づきのように、私は3つの2ピン端子ボックスを使用しました。そのうちの1つはAC-DCコンバータモジュールから+ Vを供給するために使用され、他の2つはAC負荷をリレーに接続するために使用されます。
次に、ジャンクションボックスのターミナルをパフォーマンスボードに接続しましょう。
私のジャンクションボックスには3つの端子(プラグポイント)があることがわかります。そのうちの1つ(右端)はAC-Dcコンバータモジュールに電力を供給するために使用され、他の2つはAC負荷を接続するために使用されます。ご覧のとおり、ニュートラルワイヤ(黒いワイヤ)は3つのプラグポイントすべてに接続されています。ただし、フェーズワイヤは(黄色のワイヤ)は空いたままです。2つのプラグポイント(2本の赤い線)の相端も空いたままです。これらの3本のフリーワイヤはすべて、以下に示すように、パフォーマンスボードに追加したリレー端子に接続する必要があります。
私のパフォーマンスボードはジャンクションボックスに完全にフィットします。あなたもフィットすることを確認してください。接続が確立されたら、プログラムをESPモジュールにアップロードし、パフォーマンスボードにマウントして、ジャンクションボックスをねじ込みます。
ESP8266プログラム:
ESP8266モジュールは、ArduinoIDEを使用してプログラムされています。前に述べたように、Arduino IDEを使用してESPをプログラムする方法を知りたい場合は、リンクのチュートリアルにアクセスしてください。完全なプログラムは、このチュートリアルの最後にあります。プログラムの概念は自明ですが、いくつかの重要な行について以下で説明します。
const char * ssid = "BPASホーム"; //ここにWifiSSIDを入力しますconstchar * password = "cracksun"; //ここにパスワードを入力します
ESPモジュールは、プロジェクトのステーションおよびアクセスポイントとして機能します。したがって、ステーションとして機能する場合は、ルーターに接続する必要があります。上記のコード行は、ルーターのSSIDとパスワードを入力するために使用されます。ルーターに合わせて変更してください。
mainPage + = "
スマートジャンクションボックス
CircuitDigestによる
スイッチ1
"; mainPage + ="スイッチ2
";フィードバック="スイッチ1とスイッチ2の両方がオフになっています
";モジュールのIPアドレスに接続すると、HTMLで実行されるWebページが表示されます。このHTMLコードは、上記のようにArduinoプログラムの横で定義する必要があります。これには、事前にHTMLを知っている必要はありません。HTMLタグを読んで出力と比較するだけで、各タグが何を表しているかがわかります。
このHTMLコードをコピーしてtxtファイルに貼り付け、デバッグ目的でHTMLファイルとして実行することもできます。
while(WiFi.status()!= WL_CONNECTED){delay(500); Serial.print( "。"); } Serial.println( ""); Serial.print( "接続済み"); Serial.println(ssid); Serial.print( "IPアドレス:"); Serial.println(WiFi.localIP());
また、ESPモジュールのデバッグにシリアルモニターオプションを使用しており、プログラムが現在動作しているステータスを把握しています。シリアルモニターは「。」を出力します。ESPがルーターとの接続を確立するまで。接続が確立されると、WebサーバーのIPアドレスが表示されます。そのためのコードは、上記のとおりです。
server.on( "/ switch1On"、(){feedback = "
スイッチ1がオンになりました
"; currentPage = mainPage + Feedback; server.send(200、" text / html "、currentPage); currentPage =" "; digitalWrite(GPIO_0、HIGH); delay(1000);});IPアドレスがわかれば、ブラウザでそのIPを使用してHTMLコードにアクセスできます。これで、各ボタンが押されると、要求がクライアントとしてESPモジュールに送信されます。このクライアント要求に基づいて、モジュールは応答します。たとえば、クライアントが「/ switchOn」を要求した場合、モジュールはHTMLコードを更新してクライアントに送信し、GPIOピンをHIGHにします。同じためのコードは上に示されています。同様に、アクションごとにserver.on()が定義されます。
出力:
ハードウェアとプログラムの準備ができたら、このチュートリアルに示すように、プログラムをESP8266モジュールにアップロードします。次に、Arduino IDEのシリアルモニターをクリックすると、SSIDとパスワードが一致すると次のように表示されます。
シリアルモニターに表示されているIPアドレスをメモします。私の場合、IPアドレスは「http://192.168.2.103」です。ESPWebページにアクセスするには、ブラウザーでこのIPを使用する必要があります。
次に、ESPモジュールをリレーボードに配置してジャンクションボックスを閉じて電源を入れ、GPIOピンを負荷に短絡します。ブラウザにIPアドレスを入力したときにすべてが正常に機能した場合は、次の画面が表示されます。
ここで、必要なスイッチをオン/オフするだけで、実際のハードウェアに反映されます。つまり、プラグポイントに接続するだけでお気に入りのAC負荷を切り替えることはできません。プロジェクトが気に入って機能することを願っています。コメントセクションを使用しない場合は、喜んでお手伝いします。
このDIYスマートジャンクションボックスプロジェクトの完全な動作は、以下のビデオに示されています。