Bluetoothベースのホームオートメーション
コンポーネントと消耗品
> ![]() |
| × | 1 | |||
| × | 1 | ||||
| × | 1 | ||||
| × | 1 |
必要なツールとマシン
> ![]() |
|
アプリとオンラインサービス
> ![]() |
|
このプロジェクトについて
回路設計:
ArduinoとBluetoothに基づくホームオートメーションの回路設計は非常に単純であり、以下で説明します。 Bluetoothモジュールには4つのピンがあります:VCC、TX、RX、およびGND。 VCCとGNDはArduinoUNOから5Vとグランドに接続されています。 Bluetoothモジュールは3.3Vで動作し、5Vから3.3Vのレギュレーターを搭載しています。 BluetoothモジュールのTXピンとRXピンは、ArduinoのRXピンとTXピンに接続する必要があります。 BluetoothのRXをArduinoのTX(または実際には任意のマイクロコントローラー)に接続する場合、ピンは3.3Vしか許容できないため、注意する必要があります。ただし、TXまたはArduinoからの電圧は5Vになります。そのため、10Kと20Kの抵抗で構成される分圧器ネットワークを使用して、電圧を約3.3Vに下げます。
作業中:
電源を入れると、Bluetoothモジュールの接続LEDが点滅し始めます。スマートフォンで「Bluetoothコントローラー」アプリを起動し、Bluetoothモジュールに接続する必要があります。ペアリングが成功すると、LEDが安定します。次に、アプリで、負荷ごとに異なるキーを設定し、そのキーが押されたときに送信する必要がある対応する値を設定する必要があります。次の画像は、4つの負荷を制御するための一連のキーと、すべての負荷をオフにするための追加のキーを示しています。
アプリは以下のリンクからダウンロードできます:
https://drive.google.com/open?id=1nG3IVv4Sfq7oxc6i7c2kwBkIuNLsXeZx
コード
- コード
コード Arduino
#includeSoftwareSerial BT(0、1); // TX、arduinoのRXピンrespetivelyStringコマンド; void setup(){BT.begin(9600); Serial.begin(9600); pinMode(2、OUTPUT); pinMode(3、OUTPUT); pinMode(4、OUTPUT); pinMode(5、OUTPUT);} void loop(){while(BT.available()){//読み取りに使用できるバイトがあるかどうかを確認delay(10); //物事を安定させるために遅延が追加されましたcharc =BT.read(); //シリアル読み取りコマンドを実行します+ =c; //文字列を作成します。 } if(command.length()> 0){Serial.println(command); if(command =="light on")//このコマンドは、light1 {digitalWrite(2、HIGH);をオンにするための入力として提供されます。 } else if(command =="light off")//このコマンドは、light1をオフにするための入力として提供されます。他のコマンドも同様に機能します{digitalWrite(2、LOW); } else if(command =="lamp on"){digitalWrite(3、HIGH); } else if(command =="lamp off"){digitalWrite(3、LOW); } else if(command =="fan on"){digitalWrite(4、HIGH); } else if(command =="fan off"){digitalWrite(4、LOW); } else if(command =="open"){digitalWrite(4、HIGH); } else if(command =="lock"){digitalWrite(4、LOW); } else if(command =="all on")//このコマンドを使用すると、すべてのデバイスをオンに切り替えることができます{digitalWrite(2、HIGH); digitalWrite(3、HIGH); digitalWrite(4、HIGH); } else if(command =="off")//このコマンドを使用すると、すべてのデバイスをオフに切り替えることができます{digitalWrite(2、LOW); digitalWrite(3、LOW); digitalWrite(4、LOW); } command ="";}} //変数をリセットする
回路図

製造プロセス