多くの場合、自宅やオフィスの部屋(おそらく秘密のデクスターズラボ)を確保して、許可なく部屋にアクセスできないようにし、重要なアクセサリや資産の盗難や紛失から保護する必要があります。今日存在するセキュリティシステムには非常に多くの種類がありますが、認証のために、それらはすべて指紋、網膜スキャナー、虹彩スキャナー、顔ID、舌スキャナー、RFIDリーダー、パスワード、ピン、パターンなどで中継されます。すべてのソリューションから低コストのものは、パスワードまたはピンベースのシステムを使用することです。そのため、このプロジェクトでは、既存のドアに取り付けてデジタルパスワードで保護できるArduinoキーパッドドアロックを作成しました。以前、以下にリストされている他の興味深いドアロックも構築しました。
- ArduinoRFIDドアロック
- Arduinoソレノイドドアロック
- RaspberryPiデジタルコードロック
- 555タイマー電子ドアロック
パスワードドアロックプロジェクトを構築する前に、まず必要なコンポーネントを収集してから、ステップバイステップの構築プロセスに従う必要があります。
コンポーネントのリスト
- Atmega328pマイクロコントローラーを使用したArduinoUno / Pro / Miniまたはカスタムボード
- 16 x 2 LCD(液晶ディスプレイ)
- Arduino用の4x3または4x4マトリックスキーパッド
- サーボモーター
- 3Dプリントドアロッカー/カスタマイズドアロッカー
- 1アンペア5ボルトモバイル充電器の電源用の追加コンポーネント
- 4 '' / 6 ''プラスチックボックス、ジャンパーワイヤー、ナットボルト、プラスチックケーシングなど。
Arduinoキーパッドドアロックの回路図
Arduinoベースのデジタルキーパッドドアロックプロジェクトの完全な回路図を以下に示します。
まず、このプロジェクトの頭脳であるArduinoUNOボードから始めます。 ArduinoボードはLCDとサーボモーターに接続されています。サーボモーターは、ドアのラッチを押す(ロックする)または引く(ロックを解除する)ために使用されます。 Arduinoによるメッセージを表示するには16x 2 LCDが必要です。16x2は、16列数と2行数があることを意味します。 16x2 LCDディスプレイモジュールを初めて使用する場合は、このArduinoLCDインターフェイスチュートリアルで詳細を確認できます。
ここでは、カスタマイズされたドアロッカーを作成するために5v TowerproSG90サーボモーターを使用しています。これは基本レベルのサーボモーターであり、駆動回路や外部モジュールがなくてもArduinoで正常に動作します。また、このサーボモーターのコストは非常に安いので、簡単に購入することができます。このArduinoサーボモーター制御チュートリアルをチェックして、サーボモーターとその動作の詳細を確認することもできます。サーボモーターをArduinoデジタルピンD9と5ボルト電源に接続します。このサーボモーターには、合計3つの入力ライン(GND、+ 5V、およびSIGNAL LINE)があります。
このプロジェクトでは、4 x 4マトリックスキーパッドを使用しました(ただし、このグラフィック表現を作成するためのフリッツでは4 x 4キーパッド部分は使用できません)が、4 x3マトリックスキーパッドもコーディングで正常に機能するので心配しないでください。パスワード入力用のキーパッドが必要で、カスタマイズしたドアロッカーを手動でロックします。これは、16個のキー(ソフトスイッチ)で構成され、行(R1、R2、R3、R4)の4つのキーと、列(C1、C2、C3、C4)の4つのキーで構成され、キーを押すと、対応する行間の接続が確立されます。および列。次の表は、Arduinoをキーパッドに接続する方法を示しています。
キーパッド | Arduino |
ピン1(行1) | デジタルピン1 |
ピン2(行2) | デジタルピン2 |
ピン3(行3) | デジタルピン3 |
ピン4(行4) | デジタルピン4 |
ピン5(列5) | デジタルピン5 |
ピン6(列6) | デジタルピン6 |
ピン7(列7) | デジタルピン7 |
デジタルキーパッドドアロックのArduinoコード
完全なArduinoドアロックコードは、このページの下部にあります。コードを直接アップロードすることもできますが、コードがどのように機能するかを理解するには、以下の段落を読むことをお勧めします。また、コードを正常にコンパイルするには、次のキーパッドライブラリがArduinoIDEに追加されていることを確認することが重要です。これを行うには、以下のリンクを開いてZIPファイルをダウンロードします。次に、Arduino IDEで、[スケッチ]-> [ライブラリを含める]-> [Add.ZIPライブラリ]に移動し、ダウンロードしたファイルを参照します。
- Arduinoキーパッドライブラリ
すべてのヘッダーファイルとライブラリファイルを挿入した後、LCDのすべてのピンを割り当て、パスワードの長さを定義し、サーボの初期位置を0に設定します。その後、「char」データタイプを使用して、それを保持できる数を宣言します。 null文字。
//#include
このコード(char Master = "123456";)を使用して、Char Masterの下で、ドアロックのパスワードを宣言し、キーボードの行と列の数を割り当て、keyMapsを宣言して、行と接続します。列。ボイド設定で、サーボ信号ピンD9を初期化し、サーボステータスを閉じて、プロジェクト/デバイス/会社の名前を、デバイスの起動時のLCD時間に3秒遅れて印刷します。
void setup(){myservo.attach(9); ServoClose(); lcd.begin(16、2); lcd.print( "Arduinoドア"); lcd.setCursor(0、1); lcd.print( "-プロジェクトを見る-"); delay(3000); lcd.clear(); }
ループ関数の下では、単純なif-else条件があります。ステータス(自動的にロックされます)に応じて、3秒の遅延で「ドアが閉じています」と印刷し、サーボが閉じる位置に回転します。ドアデータは1としてカウントされます。それ以外の場合、ドアロッカーは開いたままで、データカウントは0、サーボオープンは位置に回転します。度から180度、閉じると180から0になります。サーボオープンとサーボクローズの機能を以下に示します。
void ServoOpen(){for(pos = 180; pos> = 0; pos- = 5){// 0度から180度に// 1度刻みでmyservo.write(pos); //サーボに変数 'pos' delay(15);の位置に移動するように指示します。 //サーボが位置に到達するまで15ms待機します}} void ServoClose(){for(pos = 0; pos <= 180; pos + = 5){// 180度から0度になりますmyservo.write(pos); //サーボに変数 'pos' delay(15);の位置に移動するように指示します。 //サーボが位置に到達するまで15ms待機します}}
サーボ位置に到達するまで15秒遅れてサーボ位置を書き込みます。ボイドオープン機能の下で、LCDに「パスワードを入力」と印刷します。条件は、入力されたパスワードがカスタムキーと同じである必要があることを指定します。この本文のデータはカウントされ、charをデータ配列に格納し、インクリメントされて入力されたパスワードがLCDに印刷されます。データ長(キーの数)と入力パスワードは、データマスター(事前定義されたキーが存在する場合)と一致します。次に、アクションLCDクリア、サーボドライブとして、LCDに「ドアが開いています」と印刷し、データカウンターを0にリセットします。
入力キーがデータマスターと一致しない場合、LCDのアクションとしてLCDのクリアプリント「間違ったパスワード」は1秒の遅延で通知し、データカウンターを1に設定してロック位置に留まり、このプロセスをループで続行します。
if(data_count == Password_Lenght-1)//配列インデックスが予想される文字数と等しい場合、データをマスターと比較します{if(!strcmp(Data、Master))//等しい(strcmp(Data、Master) == 0){lcd.clear(); ServoOpen(); lcd.print( "ドアが開いています"); ドア= 0; } else {lcd.clear(); lcd.print( "間違ったパスワード"); delay(1000); ドア= 1; } clearData(); }
ArduinoキーパッドDoorLockの組み立てとテスト
次に、すべてを4インチ/ 6インチのプラスチックの箱に入れ、モバイル充電器で電力を供給し、ケーシングを使用してすべてをうまく並べます。理想的には3D印刷を使用してロックを組み立てることができましたが、ファイルを設計した後、3D印刷は非常にコストがかかることがわかったので、最初にサーボを固定してから、通常のスライドロッカーを金属板を使用してサーボに接続し、カバーを付けましたガラス繊維で仕上げますが、正常に機能していますが、安全性は低くなります。
より高いセキュリティが必要な場合は、このサーボで内部的に機能する3Dドアロックモデルを印刷する必要があります。以下のリンクから必要なSTLファイルをダウンロードし、3Dプリンターにアクセスできる場合はそれらを3D印刷できます。
3Dプリント用のSTLファイルをダウンロードする
下の写真には、デザインファイルも示されています。
プロジェクトの開始時に、初めて電源を入れた瞬間に、プロジェクト名を付ける必要があります(会社名も表示できます)。これにより、商用デバイスのようにスマートで排他的に見えます(で見ることができます)。下の写真)。
遅延の3秒、すぐにドアをロックし、直接下記の写真のようにドアロックのステータスの表示を確認してください。
「#」キーを押して手動でドアをロックすると、最初にドアが1秒間閉じていることが表示され、次にパスワードの入力が表示されます。一方、正しいパスワードを入力してドアのロックを解除すると、ドアが開いていることが示されます。
ドアがロック解除状態のままである場合は、次のように表示されます-コーディングに従って手動でドアをロックしている限り、ドアは開いています。コードを提供しました。必要に応じてコード表示パラメーターを変更することで、設定をカスタマイズできます。このページの下部にリンクされているビデオを使用して、完全な作業を確認することもできます。