工業製造
産業用モノのインターネット | 工業材料 | 機器のメンテナンスと修理 | 産業プログラミング |
home  MfgRobots >> 工業製造 >  >> Manufacturing Technology >> 産業技術

スマートホームオートメーションシステム–回路とソースコード

Arduinoを使用したスマートホームオートメーションシステムプロジェクト

自動化(ホームオートメーションや産業用自動化など)は、人的支援が少なく、よりスマートな方法でタスクを完了するのに役立つため、今日の世界で重要になっています。住宅は、自動化デバイスの助けを借りて、最近よりスマートになり、開発されています。家電製品は、従来のスイッチではなく、リモコンのスイッチを使用しています。今日の世界では、ほとんどの人がスマートフォンにアクセスでき、その使用は私たちの生活に非常に人気があり、不可欠になっています。スマートフォンを使用して、ワンクリックまたはワンメッセージで家電製品を制御できます。コントローラーと通信デバイスの助けを借りて、家電製品をリモート制御することができます。このプロジェクトでは、スマートフォンでリモート制御されるHC-05Bluetoothモジュールを使用したスマートホームオートメーションプロジェクトの開発にArduinoUNOボードを使用します。自分で仕事をすることができない麻痺した人々にとっては本当に役立つ可能性があり、そのようなデバイスはこれらの人々にとって大きな助けになる可能性があります。

必要なコンポーネント

Arduino UNO

Arduinoは、エレクトロニクスプロジェクトの開発に使用されるオープンソースプラットフォームです。いつでも簡単にプログラム、消去、再プログラムできます。 Arduino UNO、Arduino Nano、Arduino Mega、Arduino lilypadなど、用途に応じて仕様が異なる多くのArduinoボードが市場に出回っています。このプロジェクトでは、ArduinoUNOを使用して家電製品を自動的に制御します。 16MHzのクロック速度で動作するATmega328マイクロコントローラICが搭載されています。これは、USART、I2C、およびSPI通信プロトコルで動作できる強力な機能です。このボードは通常、マイクロUSBケーブルを使用したソフトウェアArduinoIDEを使用してプログラムされます。 ATmega328には、事前にプログラムされたオンボードブートローダーが付属しており、外部ハードウェアの助けを借りずにコードを簡単にアップロードできます。エレクトロニクスプロジェクトや製品の製造に幅広い用途があります。 CおよびC++言語は、習得と使用が非常に簡単なボードのプログラミングに使用されます。 Arduino IDEを使用すると、プログラミングがはるかに簡単になります。コードを2つの部分、つまりvoid setup()とvoid loop()に分けます。関数voidsetup()は1回だけ実行され、主に何らかのプロセスを開始するために使用されますが、void loop()は、継続的に実行する必要があるコードの一部を構成します。

このモデルは、6つのアナログ入力ピンと14のデジタルGPIOピンで構成され、入出力として使用できます。そのうちの6つは、pinMode()、digitalWrite( )、digitalRead()およびanalogRead()関数。 6つのアナログ入力チャネルはピンA0からA5までで、10ビットの分解能を提供します。ボードは、5ボルトで動作するUSB​​ケーブルを使用するか、7〜20ボルトで動作するDCジャックから電力を供給できます。低電力デバイスを操作するために3.3ボルトを生成するオンボード電圧レギュレータがあります。 ATmega328はUSART、SPI、およびI2C通信プロトコルで動作するため、USART通信用に0(Rx)および1(Tx)ピン、I2CおよびSS(10)、MOSI(11)用にSDA(A4)およびSCL(A5)ピンがあります。 、SPI通信プロトコル用のMISO(12)およびSCK(13)ピン。これらの仕様により、ArduinoUnoボードはホームオートメーションプロジェクトに最適です。

HC-05Bluetoothモジュール

HC-05は、ワイヤレス通信に使用されるBluetoothモジュールです。これは主に、マイクロコントローラー、スマートフォン、コンピューター、センサーなどの間のシリアル双方向ワイヤレス通信を確立するために使用されます。このBluetoothモジュールの範囲は100メートル未満であり、大気条件にも依存します。 USART(Universal Synchronous Asynchronous Receiver Transmitter)プロトコルで動作し、他のデバイスと通信します。サポートされているボーレート9600、19200、38400、57600、115200、230400、460800で、マスターモードとスレーブモードの両方で動作します。デフォルトでは、スレーブモードで動作し、マスターモードはATコマンドを使用して構成できます。これは、マイクロコントローラーから任意のデバイスへ、およびデバイスからマイクロコントローラーへの双方向のデータ転送に使用できます。 HC-05 Bluetoothモジュールは、コマンドモードとデータモードで動作します。コマンドモードは、いくつかのATコマンドを使用してHC-05の構成設定にアクセスするために使用され、データモードは、データをシリアルに送信するために使用されます。コマンドモードにアクセスするには、「キー」ピンを接地し、ATコマンドを使用してその設定を変更できます。モジュールの名前、パスワード、ボーレートなどを変更するために使用できるATコマンドがあります。 ATコマンドは次のとおりです。

関連プロジェクト:LDRを使用した自動LED非常灯回路

HC-05からピンアウト:

EN/キーピン :このピンは、Bluetoothモジュールをコマンドモードに設定するために使用されます またはデータモード 。このピンをハイに設定するとコマンドモードにアクセスでき、ローに設定するとデータモードにアクセスできます。デフォルトでは、データモードでは低に設定されています。

HC-05のピン 説明
EN / key 高–コマンドモード、低–データモード
VCC 3.3 V〜5 V
GND 地面
TXD シリアルデータの送信
RXD シリアルデータを受信する
状態 モジュールが接続されているかどうかを示します

このプロジェクトでは、HC-05を使用してArduinoUnoとスマートフォン間のシリアルワイヤレス通信を確立します。これは、Hc-05をArduino Unoに接続し、スマートフォンにアプリケーションをインストールすることで実行できます。スマートフォンをHC-05に接続するために利用できるさまざまなアプリケーションがありますが。ただし、ここでは、PlayストアからダウンロードできるBluetoothターミナルHC-05を使用します。回路図に示されているように、HC-05をArduinoUNOに接続します。 HC-05のTXDピンはArduinoUnoのRXD(ピン1)に接続されます。HC-05のRXDピンはArduino UnoのRX(ピン0)に接続されます。 EN/キーがLOWに設定されています。スマートフォンのBluetoothをオンにして、Bluetoothデバイスを検索します。 「HC-05」という名前のBluetoothデバイスに接続します。デフォルトのパスワードは「0000」または「1234」です。

HC-05 Bluetoothモジュールには、接続ステータスを示す赤いLEDが組み込まれています。接続前は定期的に点滅し、接続後は点滅速度が遅くなります。

HC-05 Bluetoothモジュールのアプリケーション:

リレー

リレーは、1つまたは複数の大きな回路をオンまたはオフにするために、小さな電流で動作する電磁スイッチです。それは、小さな電流が流れると一時的な磁石に変換する電磁石コイルで構成されています。コアを備えたコイルに磁場を生成するために比較的小さな電流が使用され、これははるかに大きな電流を制御できるスイッチを操作するために使用されます。以前のリレーは、信号を増幅するために電信や電話交換機で使用されていました。コンピュータの発明後、リレーはブール演算と論理演算を実行するために使用されました。リレーには、回路での使用に応じてさまざまなサイズと種類があります。リレーの主な用途には、モーターコントロール、自動車用途、産業用途、ホームオートメーションなどがあります。

このプロジェクトでは、電磁リレーを使用して、チューブライト、電球、ファン、または家庭内のAC電源などの家電製品のオンとオフを切り替えます。 ArduinoUNOからのDC信号。リレーには6つのピンがあり、そのうち2つはVCCとグラウンドを使用してリレーに電力を供給します。 1つのピンは、マイクロコントローラーから「1」または「0」のいずれかの信号を取得するために使用されるデータピンです。その他の3ピンノーマルクローズ(NC)、コモン、ノーマルオープン(NO)は、AC電源アプライアンスの接続に使用されます。このリレーは、ノーマルオープンまたはノーマルクローズの2つの状態で動作します。

通常開:リレーがアクティブになると回路を閉じ、リレーが非アクティブになると回路を開きます。

通常閉:リレーがアクティブになると回路が開き、リレーが非アクティブになると回路が閉じます。

リレーのピン配置:
GND グラウンド データピン マイクロコントローラーからの「1」または「0」 通常閉回路の場合 共通 いいえ 通常開回路の場合
リレーのピン 説明
VCC 5V
NC
COM

リレーの用途:

関連プロジェクト:LDRを使用した自動街路灯制御システム

回路図

回路は、Arduino、Bluetooth、リレー、およびLEDを使用して設計されています。 BluetoothをArduinoにシリアル接続しました。リレーは家電製品を操作するために使用されます。 4つのアプライアンスに4つのリレーを使用しました。リレーの番号を変更して、それに応じてさまざまな家電製品を操作できます。ハードウェアに移動している間、LEDは電球に置き換えられます。

家電製品を制御するためのコマンドは、「Bluetooth端末HC-05アプリ」を介して送信されます スマートフォンからBluetoothに、Arduinoに接続します。次に、ArduinoはBluetoothにシリアルに送られるデータを読み取ります。したがって、アクションはBluetoothからArduinoに送信されるコマンドに従って実行されます。

Arduinoベースのホームオートメーションの動作

回路図に示されているように、ホームオートメーションプロジェクトへの接続を確立します。まず、回路図に示すように、電球をAC電源とリレーに接続します。次に、リレーにはArduinoUnoボードからDC電力が供給されます。リレーのデータピンは、ピン8、9、10、11でArduinoの出力ピンであるArduinoに接続されています。次に、図に示すようにHC-05モジュールをArduinoボードに接続し、Adruinoボードに電力を供給します。 Arduino IDEを使用して、プロジェクトの最後に指定されたコードをアップロードします。スマートフォンのBluetoothをオンにし、パスワードを入力してHC-05モジュールを接続します。デフォルトでは、パスワードは「0000」または「1234」です。スマートフォンをHC-05に正常に接続したら、「スマートフォンでBluetooth端末HC-05アプリ」を開きます。 」と表示され、HC-05に接続されているデバイスが表示されます。次に、データ「電球をオンにする」または「電球2をオフにする」を送信して、電球をオンまたはオフにします。これが、家の照明をリモートで制御する方法です。

プロジェクトコード

#include

intbulb1 =8;
intbulb2 =9;
intbulb3 =10;
intbulb4 =11;

SoftwareSerial bt(0,1); / *(Rx、Tx)* /

文字列str;

void setup(){
bt.begin(9600);
Serial.begin(9600);

pinMode(bulb1、OUTPUT);
pinMode(bulb2、OUTPUT);
pinMode(bulb3、OUTPUT);
pinMode(bulb4、OUTPUT);

}

void loop(){

if(bt.available())
{
str =bt.read();
Serial.println(str);
// bullb1
if(str ==” bulb1 on”)
{
digitalWrite(bulb1、HIGH);
Serial.println(“ BUlB 1 is ON”);
}
else if (str ==” bulb1 off”)
{
digitalWrite(bulb1、LOW);
Serial.println(“ BUlB 1 is OFF”);
}
else
{
digitalWrite(bulb1、LOW);
}
// bullb2
if(str ==” bulb2 on”)
{
digitalWrite(bulb2、HIGH);
Serial.println( "BUlB 2 is ON");
}
else if(str =="bulb2 off")
{
digitalWrite(bulb2、LOW);
Serial.println( "BUlB 2 is OFF");
}
else
{
digitalWrite(bulb2、 LOW);
}
//// bullb3
if(str ==” bullb3 on”)
{
digitalWrite(bulb3、HIGH);
Serial.println( "BUlB 3 is ON");
}
else if(str =="bulb3 off")
{
digitalWrite(bulb3、LOW);
Serial.println( "BUlB 3 is OFF");
}
else
{
digitalWrite(bulb3、LOW);
}
//bulb4
if(str==”bulb4 on”)
{
digitalWrite (bulb4、HIGH);
Serial.println( "BUlB 4 is ON");
}
else if(str =="bulb4 off")
{
digitalWrite(bulb4、LOW);
Serial.println( "BUlB 4 is OFF");
}
else
{
digitalWrite(bulb4、LOW);
}

}
}

プログラミングコードの説明

プロジェクトに必要なライブラリを含めます。SoftwareSerial.hライブラリは、BluetoothモジュールHC-05とのシリアル通信用にインポートされます。

#include

4つのリレーのそれぞれのデータピンに接続される、8、9、10、および11のArduinoの出力ピンの変数の宣言。変数文字列「str」は、HC-05Bluetoothモジュールを使用してスマートフォンから取得したデータを格納します。

intbulb1 =8;

intbulb2 =9;

intbulb3 =10;

intbulb4 =11;

String str;

pinMode(bulb1、OUTPUT);

pinMode(bulb2、OUTPUT);

pinMode(bulb3、OUTPUT);

pinMode(bulb4、OUTPUT);

Bluetoothシリアル通信とシリアルモニターは9600ボーレートで開始されます。

bt.begin(9600);

Serial.begin(9600);

BluetoothモジュールHC-05を使用してスマートフォンから取得したデータが「bulb1on」の場合、リレーのデータピンをHIGHに設定して電球1をオンにします。データが「bulb1off」の場合、リレーのデータピンをLOWに設定して電球をオフにします。電球1のデータが受信されない場合は、電球1をLOWに設定します。電球2、電球3、電球4についても同じことが行われます。

if(str ==” bulb1 on”)

{

digitalWrite(bulb1、HIGH);

Serial.println( "BUlB 1 is ON");

}

else if(str ==” bulb1 off”)

{

digitalWrite(bulb1、LOW);

Serial.println( "BUlB 1 is OFF");

}

else

{

digitalWrite(bulb1、LOW);

}

したがって、Arduino UNO、Bluetooth、およびリレーを使用して、自宅の任意の家電製品を制御できます。また、このプロジェクトの構築に必要なコンポーネントの技術情報も提供しています。回路図は、家庭で使用されるAC電球に置き換えられるLEDで構成されています。

関連プロジェクト:


産業技術

  1. ホームオートメーションのアプリケーション
  2. スマートホームおよびビルディングオートメーション接続ソリューションを紹介するSiliconLabs
  3. スマートホームロックとアクセス制御のためのインテリジェントな回路保護とセンシング設計
  4. ホームオフィスへの5つのハードル輸送—そしてそれらを克服する方法
  5. Arduino警報システム:SERENA
  6. 1Sheeldを使用したスマートホームオートメーションおよびセキュリティシステム
  7. Python3とArduinoコミュニケーション
  8. ArduinoとGoogleスプレッドシートに基づく出席システム
  9. Octopod:Smart IoT Home / Industry Automation Project
  10. WARAN-ホームオートメーション
  11. Bluetoothベースのホームオートメーション