世界中で使用されているセキュリティシステムには多くの種類があり、デジタルコードロックはその1つです。Arduino、Raspberry Pi、8051などを使用したシンプルな16x2 LCDで多くのデジタルロックをすでにカバーしました。ここでは、TFTLCDとArduinoMegaを使用してスマートフォン制御のデジタルロックを構築します。このロックは、通常のBluetoothの範囲である10メートルの範囲内で、Androidフォンを使用してBluetooth経由でワイヤレスで制御できます。ユーザーはAndroidフォンから事前定義されたパスワードを入力する必要があります。パスワードが正しい場合はTFTLCDに「正しいパスワード」メッセージが表示され、パスワードが間違っている場合はLCDに「間違ったパスワード」メッセージが表示されます。
このロックを使用すると、ドアロックに到達する前でも、歩きながらドアロックを開くことができます。これはあなたの時間を節約し、あなたは鍵を携帯する必要がなく、あなたの電話で簡単に鍵を開けることができます。
必要なコンポーネント:
- Arduino MEGA
- HC05Bluetoothモジュール
- USBケーブル
- 接続線
- ブザー
- SPFD5408コントローラーを備えた2.4インチTFTLCDシールド
- Android携帯電話
- Bluetoothターミナルアプリ
- ブレッドボード
回路図と説明:
このスマートフォン制御デジタルロックの回路は単純です。BluetoothモジュールHC05とTFTLCDシールドをArduinoに接続するだけです。TFT LCDシールドはArduinoに簡単に取り付けることができます。ピンの配置を一致させ、ArduinoのGNDピンとVccピンをLCDのGNDピンとVccピンに取り付ける必要があります。また、TFTタッチスクリーンLCD用のライブラリをインストールする必要があります。TFTLCDとArduinoのインターフェイスについて詳しくは、こちらをご覧ください。
HC05はArduinoVccとGNDピンから給電され、HC05のTXはArduinoのRX1に接続され、HC05のRXはArduinoのTX1に接続されます。ブザーの1つのピンはArduinoのGNDに接続され、もう1つのピンはArduinoのピン22に接続されます。
Arduino用のBluetoothターミナルアプリの構成:
このデジタルロックをAndroidスマートフォンで操作するには、まずBluetoothターミナルという名前のAndroidモバイルアプリをインストールする必要があります。BluetoothターミナルアプリはArduinoと互換性があります。このアプリはGooglePlayストアからダウンロードでき、以下の手順で簡単に構成できます。
1.まずGooglePlayストアからダウンロードし、Android携帯電話にインストールします。
2.「Bluetooth制御のデジタルロックシステム回路」の電源を入れます。
3.アプリを開き、オプション「安全に接続」に移動します。
4.ペアリングするHC05デバイスが見つかります。
5.他のBluetoothデバイスの接続に使用するように、Androidフォンに接続するための1234パスキーを渡します。
作業の説明:
このArduinoベースのセキュリティシステムでは、BluetoothモジュールHC05、Arduinoメガボード、2.4インチTFTLCDシールドの3つの主要コンポーネントを使用しました。
ここでは、4桁のパスワードがBluetoothターミナルアプリを使用してAndroidスマートフォンからユーザーによって入力され、Bluetooth経由でArduinoに送信されます。 Arduinoは、BluetoothモジュールHC05を使用してAndroid Phoneから送信されたデータを受信し、SPFD5408 TFTLCDに表示します。 Arduinoは、ユーザーが入力したパスワードを事前定義されたパスワード(1234)と比較し、それに応じてメッセージを表示します。パスワードが一致しない場合は「WRONGPASSWORD」というメッセージが表示され、パスワードが一致する場合は「CORRECTPASSWORD」というメッセージが表示されます。ブザーは、入力したパスワードが間違っているとビープ音を鳴らすアラーム表示にも使用されます。また、最後に表示されているビデオをチェックして、その動作を理解してください。
Arduinoコードを変更することで、パスワードを任意に変更することもできます。これについては、以下の「プログラミング」セクションで説明しています。
プログラミングの説明:
このBluetooth制御デジタルロックをプログラムするために、TFTLCDにデータを表示するためのいくつかのライブラリを使用しました。すべてのライブラリは1つのrarファイルに含まれており、このリンクからダウンロードできます。「クローンまたはダウンロード」および「ZIPのダウンロード」ファイルをクリックして、Arduinoライブラリフォルダーに追加します。このライブラリは、TFTLCDが正しく機能するために必要です。
#include
LCD入出力の初期化、およびBluetoothモジュールのシリアル通信は void setup() ループで実行されます。Arduinoのピン番号22はブザーに接続されており、ブザーのもう1つのピンはArduinoMegaのアースに接続されています。BluetoothモジュールはArduinoMegaのSerial1ポートとインターフェースし、ArduinoMegaの5V電源から電力を供給されます。
fillScreen() 関数は、LCDをクリアするために使用されます。
void setup(){//セットアップコードをここに配置して、1回実行します:Serial.begin(9600); Serial1.begin(9600); tft.reset(); tft.begin(0x9341); tft.setRotation(0); tft.fillScreen(WHITE); tft.setCursor(40、50); tft.setTextSize(2); tft.setTextColor(BLACK); tft.println( "ENTER * PASSWORD"); delay(5000); tft.fillScreen(WHITE); pinMode(22、OUTPUT); }
ボイドループ() 関数、 setTextSize(4)は、 テキストのサイズ設定 SETTEXTCOLOR(は、colorNameの) テキストの色を設定します。 ARRは、 私たちが事前に定義4桁のパスワードを格納した配列であり、 入力は 、我々はAndroid携帯からの利用者が入力したパスワードを格納した配列です。入力したパスワードが保存されているパスワードと同じ場合、LCDに「正しいパスワード」メッセージが表示されます。同じでない場合、つまり1234の場合、LCDに「間違ったパスワード」メッセージが表示され、ブザーに接続されているピンがハイになり、ブザーが鳴ります。
void loop(){tft.setTextSize(4); tft.setTextColor(CYAN); //メインコードをここに配置して繰り返し実行します:if(Serial1.available()> 0){flag = 1; char c = Serial1.read(); if(flag == 1){input = c;…………………。
さらに、 arr 配列を変更して、「1234」の代わりに選択したパスワードを変更することもできます。番号を変更することもできます。 arr と 入力 配列の長さを変更することによるパスワードの文字数。
char arr = {'1'、 '2'、 '3'、 '4'}; 文字入力;
変更されたパスワードの長さに応じて、 void loop() 関数のif条件を変更する必要があります。
if(arr == input && arr == input && arr == input && arr == input)
さらに 、このプロジェクトでは、電子ドアロック(オンラインで簡単に入手可能)とのインターフェースをとることができます 。ロックに電流が流れていないとき(開回路)にドアをロックしたままにする電磁石があり、電流が流れるとロックが解除されてドアを開けることができます。それに応じてコードを変更するだけで、電話でドアロックを開く準備が整います。この共有プロジェクトレビューを確認してください:電子ドアロックの詳細については、ArduinoRFIDドアロック。