スマートフォンを使用するだけで、家の中のどこからでも家の電化製品を制御できると想像してみてください。このプロジェクトでは、ワイヤレスBluetoothテクノロジーを使用して、Androidフォンを介して家電製品を制御します。Bluetoothの範囲は10〜15メートルであるため、範囲内の任意の電子機器のオンとオフを切り替えることができます。また、BluetoothモジュールとArduinoを使用して、Androidフォンで制御されるおもちゃの車を開発しました。
ここでは、Androidフォンから送信されたデータをワイヤレスで受信するためにBluetoothモジュールを備えた8051マイクロコントローラーを使用しました。マイクロコントローラがそれに応じて家電製品をオン/オフできるようにします。
メインコンポーネント
- 8051マイクロコントローラー
- BluetoothモジュールHC05
- リレー
- ULN2003
- バルブ
- 保有者
- ワイヤー
- IC 7805
- Android携帯
- BluetoothコントローラーアプリAndroidアプリ
- 10ufコンデンサ
- 1000ufコンデンサ
- 10K抵抗
- 1k抵抗
- 電源
Bluetoothモジュール:
HC-05 Bluetoothモジュールは、BluetoothシリアルインターフェースモジュールとBluetoothアダプターの2つで構成されています。Bluetoothシリアルモジュールは、シリアルポートをBluetoothに変換するために使用されます。
Bluetoothモジュールの操作方法は?
Bluetoothモジュールの設定を変更する必要がないため、市場から購入した後、Bluetoothモジュールを直接使用できます。新しいBluetoothモジュールのデフォルトのボーレートは9600bpsです。rxとtxをコントローラーまたはシリアルコンバーターに接続し、モジュールに5ボルトのDC安定化電源を供給する必要があります。
Bluetoothモジュールには2つのモードがあり、1つはマスターモードで、もう1つはスレーブモードです。ユーザーは、いくつかのATコマンドを使用してどちらのモードも設定できます。ユーザーでもATコマンドでモジュールの設定ができます。以下にいくつかのコマンドの使用法を示します。
まず、BluetoothモジュールのENボタンを押すか、ENピンでHIGHレベルを指定して、38400bpsのボーレートでATモードに入る必要があります。注:すべてのコマンドは、\ r \ n(0x0dおよび0x0a)で終了するか、キーボードからENTERKEYで終了する必要があります。
その後、ATをモジュールに送信すると、モジュールはOKで応答します
AT→テストコマンド
AT + ROLE = 0→スレーブモード選択
AT + ROLE = 1→マスターモード選択
AT + NAME = xyz→Bluetooth名を設定
AT + PSWD = xyz→パスワードの設定
AT + UART =
例えば。AT + UART = 9600,0,0
加速度計のピンの説明:
- 状態→開く
- Rx→シリアル受信ピン
- Tx→シリアル送信ピン
- GND→アース
- Vcc→+ 5ボルトDC
- EN→ATモードに入る
作業説明:
このプロジェクトでは、このプロジェクトのプロセス全体を制御するために8051マイクロコントローラーを使用しました。また、Bluetoothモジュールは家電製品をワイヤレスで制御するために使用されます。ユーザーがAndroid携帯電話のBluetoothモバイルアプリのボタンに触れると、家電製品のオンとオフが切り替わります。このプロジェクトを実行するには、まずGooglePlayストアからBluetoothアプリをダウンロードする必要があります。Bluetoothを使用してデータを送信できる任意のBluetoothアプリを使用できます。使用できるアプリ名は次のとおりです。
- BluetoothSppプロ
- Bluetoothコントローラー
アプリをインストールした後、アプリを開いてBluetoothデバイスを検索し、HC-05Bluetoothデバイスを選択する必要があります。次に、キーを構成します。
このプロジェクトでは、Bluetoothコントローラーアプリを使用しました。
- Bluetoothコントローラーをダウンロードしてインストールします。
- モバイルBluetoothをオンにしました。
- Bluetoothコントローラーアプリを開きます
- プレススキャン
- 目的のBluetoothデバイス(BluetoothモジュールHC-05)を選択します。
- 画面上の設定ボタンを押してキーを設定します
キーを設定するには、「設定ボタン」を押して、下の図に従ってキーを設定する必要があります。
キーを設定したら、[OK]を押します。
上の写真では、最初の行がファン制御用、2番目の行が光制御用、最後の行がTV制御用の9つのボタンがあることがわかります。意味1列目のONボタンとOFFボタンはファンのON / OFFに使用され、2列目のボタンはLight用、3列目のボタンはTV用です。デモンストレーションの目的で、テレビとファンの代わりに異なる色の3つの電球を使用しました。
これで、Bluetoothコントローラーアプリのいずれかのボタンに触れると、AndroidフォンがBluetoothモジュールに値を送信します。この値を受信した後、Bluetoothモジュールは受信した値をマイクロコントローラーに送信し、マイクロコントローラーがそれを読み取って事前定義された値と比較します。一致が発生した場合、マイクロコントローラーは相対動作を実行します。ボタンを押すたびに同じ操作が行われます。
これで、ユーザーがBluetoothコントローラーアプリの[ファンオン]ボタンをタッチすると、マイクロコントローラーはBluetoothモジュールを介して「1」を受信し、コントローラーはリレードライバーとリレーを使用してファンを「オン」に切り替えます。また、ユーザーがBluetoothコントローラーアプリの[ファンオフ]ボタンをタッチすると、マイクロコントローラーはBluetoothモジュールを介して「2」を受信し、コントローラーはリレードライバーとリレーを使用してファンを「オフ」に切り替えます。
同様に、ライトオン、ライトオフ、TVオン、TVオフボタンがそれぞれタッチされた場合、3,4,5,6の番号がAndroidフォンによって送信されます。
ボタン |
データ |
操作 |
ファンオン |
1 |
ファンがオンになっています |
ファンオフ |
2 |
ファンがオフになりました |
ライトオン |
3 |
ライトがオンになりました |
ライトオフ |
4 |
ライトがオフになりました |
テレビオン |
5 |
テレビがオンになりました |
テレビオフ |
6 |
テレビがオフになりました |
回路図と説明
このプロジェクトの回路接続は非常に簡単です。BluetoothモジュールのRxピンとTxピンは、マイクロコントローラーのTxピンとRxピンに直接接続されています。3つの5ボルトリレーは、AC電源で動作する家電製品のオンとオフを切り替えるためのスイッチとして使用されます。また、リレーの駆動にはリレードライバULN2003を使用しています。ファン、ライト、テレビは、リレーとリレードライバーを介してP2.1、P2.2、P2.3で接続されています。この回路では、マイクロコントローラーのクロック信号を生成するために11.0592MHzの水晶発振器が使用されています。また、5ボルトの電圧レギュレータLM7805を使用して、回路全体に5ボルトを供給します。
プログラムの説明:
このプログラムでは、まずヘッダーファイルをインクルードし、入力、出力ピン、および変数を定義します。
#include
この後、遅延関数を作成しました。
void delay(int time){unsigned int i、j; for(i = 0; i
ここに、プログラムで使用したいくつかの関数があります。これでは、11.0592MHzの水晶周波数で9600bpsのボーレートを構成しました。
void Serialwrite(char byte){SBUF =バイト; while(!TI); TI = 0; } void Serialprintln(char * p){while(* p){Serialwrite(* p); p ++; } Serialwrite(0x0d); } void Serialbegin(){TMOD = 0x20; SCON = 0x50; TH1 = 0xfd; TR1 = 1; }
この後、メインプログラムでUARTを初期化し、データを受信するためにSBUFレジスタを監視しました。次に、データが照合され、事前定義された値と比較され、相対操作が実行されます。
void main(){P2 = 0x00; Serialbegin(); Serialprintln( "システムレディ…"); delay(50); while(1){while(!RI); Charin = SBUF; str = Charin; RI = 0; if(str == '1'){ファン= 1; Serialprintln( "ファンオン"); delay(50); } else if(str == '2'){ファン= 0; Serialprintln( "ファンオフ"); delay(50); }
これが、家のシステム全体を作成し、リレーを使用してすべてのACアプライアンスを8051マイクロコントローラーに接続する方法です。そして、このブルートゥース制御のホームオートメーションシステム は、スマートフォンから操作できます。