- 必要なコンポーネント
- ソレノイドロック
- HC-05Bluetoothモジュール
- Bluetooth制御ソレノイドロックの回路図
- 指紋データに基づいてソレノイドロックを制御するArduinoプログラム
- 指紋データを読み取り、Bluetooth経由でArduinoに送信するためのAndroidアプリ
- 生体認証ベースのロック用の3Dプリントケーシング
- Arduinoベースの指紋制御ロックのテスト
現在、全世界がCOVID 19に感染しており、社会的距離を置き、マスクを着用し、キャッシュレス取引を使用し、細菌の拡散を防ぐために何かに触れないようにすることで、誰もがこの深刻な病気にかかるのを防ぐために可能な限り予防策を講じています。技術の出現により、通常のロックは過去のものになり、新しい生体認証ベースのロックとRFIDベースのロックがますます主流になりつつあります。指紋ベースのロックと出席記録管理デバイスは、ほとんどのオフィスや大学でも使用されていますが、このパンデミックのために最近は使用することはお勧めできません。そのため、ソレノイドロックと制御を使用してドアロックを構築します。Bluetooth経由でAndroidアプリを使用しています指紋センサーに触れる必要がなく、自分の電話を使用してロックを制御するだけです。それでは、始めましょう。
必要なコンポーネント
- 1×ArduinoNano
- 1×HC-05Bluetoothモジュール
- 1×ソレノイドロック
- 1×圧電ブザー
- 1×赤色LED5mm
- 1×緑色LED5mm
- 1×IRF540NNチャネルMOSFET
- 1×BC547NPNトランジスタ
- 抵抗:1×550Ω、1×2k0Ω、1×220Ω
- 1×7805電圧レギュレータ
- 1×DCジャックコネクタペア
- パフォーマンスボード
ソレノイドロック
従来のドアロックでは、ラッチを引いたり押したりするためのキーがあり、手動で操作する必要がありますが、ソレノイドロックでは、ソレノイドコイルに電圧を印加してラッチを制御することで、ラッチを自動的に操作できます。ロックに存在します。
ソレノイドロックには低電圧ソレノイドコイルがあり、適切な電圧が印加されるとラッチをドアに引き戻し、電圧が除去されるまで開いたままになります。そのため、押しボタン、リレー、マイクロコントローラーなどを使用して電圧を制御することで操作を制御できます。ソレノイドドアロックは主に遠隔地で使用され、人の手間をかけずに操作を自動化します。
HC-05Bluetoothモジュール
HC-05は、プロジェクトへのワイヤレス接続を提供するために使用され、他のマイクロコントローラーや携帯電話やラップトップと通信できるようにします。自分で簡単に作成できるシンプルなAndroidアプリケーションを使用して、送受信するデータを簡単に制御できます。これには2つのモードがあります。1つはBluetoothデバイスとの間でデータを転送するために使用されるデータモードで、もう1つはATコマンドモードです。これは、Bluetoothモジュールの構成に使用されます。USART通信を使用して9600ボーレートで通信するため、USART通信をサポートする任意のマイクロコントローラーに接続でき、ボードで使用可能なシリアルポートに簡単に接続できます。5V電源でデバイスに電力を供給し、TXピンをマイクロコントローラーのRXピンに接続し、RXピンをマイクロコントローラーのTXピンに接続する必要があることに注意してください。自動化アプリケーションやデータロギングやロボット工学のワイヤレスアプリケーションで使用できます。
Bluetooth制御ソレノイドロックの回路図
MOSFETを介してソレノイドロックをArduinoとインターフェースおよび制御する方法を示す完全な回路図を以下に示します。
回路図に示されているように、接続はかなり簡単です。5V電源でデバイスに電力を供給してHC-05 Bluetoothモジュールをnanoに接続し、TXピンをマイクロコントローラーのRXピンに接続し、RXピンをマイクロコントローラのTXピン。 Arduino nanoの電源ステータスを表示するための赤いLEDと、ドアのロックが解除されているかどうかを示すための緑のLEDを追加する必要があります。また、ブザーを接続する必要があります。わかりやすくするために、接続図も以下に示します。
ソレノイドロックを制御するには、NPNトランジスタとNチャネルMOSFETで構成される制御回路を使用する必要があります。 NanoのD9ピンを550オームの抵抗を介してトランジスタのベースピンに接続し、トランジスタに流れる電流を制御することにより、NPNトランジスタを制御します。 D9ピンをHighにすると、トランジスタがオンになり、MOSFETのゲートピンがグランドに引き下げられ、MOSFETがオフになり、ソレノイドロックがオフになります。D9ピンがLOWになると、NPNトランジスタがオフになります。これは、MOSFETのGATEが2kOhmのプルアップ抵抗を介して12Vにプルアップされ、MOSFETがオンになり、ソレノイドロックに電力が供給されることを意味します。このようにして、5V ArduinoNanoを使用してソレノイドロックを制御できます。 Nanoからの5VピンでIRF540NMOSFETを直接制御することはできません。これは、ロジックレベルのMOSFETではないためです。ナノ粒子からの5Vで完全にオンまたはオフになるため、BC547NPNトランジスタを使用してMOSFETを制御します。
回路全体をパフォーマンスボードにはんだ付けしてコンパクトにしました。アイデアは、ロックの3D印刷されたケーシングを設計して、簡単に設置して使用できるようにすることです。
指紋データに基づいてソレノイドロックを制御するArduinoプログラム
公式のArduinoIDEにコードを記述します。IDEをお持ちでない場合は、公式のArduinoWebサイトからダウンロードする必要があります。コードで使用する変数を宣言してコードを開始し、ブザーやLEDなどの周辺機器を制御し、トランジスタを制御してソレノイドロックを制御します。
int value1; #define led 12 #define bjt 9 #define buzzer 7
Arduinoのセットアップ部分に来て、最初に9600ボーレートでArduinoのシリアル通信を初期化します。Arduinoのハードウェアピンをシリアル通信に使用しているため、プロジェクトでソフトウェアシリアルを使用する必要はありません。次に、出力または入力として使用しているピンを宣言し、それらに初期条件を与える必要があります。
Serial.begin(9600); pinMode(bjt、OUTPUT); pinMode(led、OUTPUT); pinMode(ブザー、出力); digitalWrite(bjt、HIGH); digitalWrite(led、LOW);
コードのループ機能で、HC-05 Bluetoothモジュールからシリアルに送信されるデータを読み取り、それらがlockまたはunlockコマンドに対応しているかどうかを確認します。プログラムロジックでは、指紋が正しく認識されている場合、Bluetoothモジュールは値「1」を送信し、指紋が認識されていない場合、Bluetoothモジュールは値「0」を送信します。 Nanoが読み取った値が「1」の場合、ドアのロックが解除され、ブザーが1秒間鳴り、ドアのロックが解除されたまま7秒間続きます。その後、ドアは再びロックされます。読み取った値が「0」の場合、指紋が認識されないため、ブザーが1秒間に3回アラームを鳴らして、セキュリティを警告します。
Serial.println( "Reading"); while(Serial.available()== 0); value1 = Serial.read(); Serial.println(value1); if(value1 == 1){Serial.println( "Unlocking"); digitalWrite(bjt、LOW); digitalWrite(ブザー、HIGH); digitalWrite(led、HIGH); delay(1000); digitalWrite(ブザー、LOW); delay(6000); digitalWrite(bjt、HIGH); digitalWrite(led、LOW); } if(value1 == 0){digitalWrite(bjt、HIGH); digitalWrite(ブザー、HIGH); Serial.println( "Locking"); delay(1000); digitalWrite(ブザー、LOW); delay(1000); digitalWrite(ブザー、HIGH); delay(1000); digitalWrite(ブザー、LOW); delay(1000); digitalWrite(ブザー、HIGH); delay(1000); digitalWrite(ブザー、LOW); }
指紋データを読み取り、Bluetooth経由でArduinoに送信するためのAndroidアプリ
このプロジェクトのアプリは、Kodularアプリの発明者を使用して設計されました。Kodularを使用したアプリの作成は非常に簡単です。プロジェクトのフローチャートに従ってブロックを組み合わせてアプリを作成できます。
Kodularでアプリを作成するには、Kodular.ioに移動してアカウントを作成します(アカウントがない場合)。アカウントにログインして、[アプリの作成 ]オプションをクリックします。
その後、[プロジェクト]画面が表示されます。[プロジェクト の 作成 ]ボタンをクリックして、プロジェクトを作成します。
アプリに名前を付けて、[完了]をクリックします。プロジェクトが作成され 、プロジェクトのデザイナーページに移動します。次に、[デザイナー]ページで、コンポーネントパレットから次の4つのコンポーネントを追加して、アプリのレイアウトを作成します: Bluetoothクライアント、指紋、リストピッカー、 および 画像ボタン。 リストピッカーとボタンは「 ユーザーインターフェイス」にあり 、指紋とBluetoothは「 センサー 」と「 接続 」から選択できます。
各ブロックのプロパティを変更することで、画面のプロパティを変更できます。
その後、「 ブロック 」画面に移動して、ブロックを使用してアプリをビルドします。
次に、下にスクロールして、「 List_Picker1」 をクリックし、画像に示すように最初のコードブロックをドラッグアンドドロップします。
次のステップでは、 「Control」 ブロックをクリックしてから、最初のコードブロックをビューア画面にドラッグアンドドロップします。
その後、「 Bluetooth_client1」 ブロックに移動し、「 Bluetooth_client.connect」 コードブロックを選択します。
次に、「 List_Picker」 ブロックに 移動 し、次の画像に示すように「 Selectioncodeブロック」 を 選択します 。
次のステップで、もう一度「 List_Picker」 ブロックに移動し、「 List_Picker」 を選択します 。 次の画像に示すように、コードブロックに テキストを送信し ます。
その後、 「テキスト」 ブロックに移動し、最初のコードブロックを選択します。
これで、最初のコードブロックが終了します。Androidスマートフォンの指紋センサーを呼び出して指紋を認証するには、さらに3つのコードブロックを作成する必要があります。完全なコードブロックを次の図に示します。この画像を使用して、残りのコードブロックを結合します。
すべてのブロックが接続さ れたら、ラップトップで .apkファイル をエクスポートする か、QRコードを使用してapkを電話に直接エクスポートできます。 このアプリの .aia および .apk ファイルは以下のリンクからダウンロードできます。
- Arduinoを介してソレノイドロックを制御するAndroidアプリケーションをダウンロードします
生体認証ベースのロック用の3Dプリントケーシング
前述のように、パフォーマンスボードとソレノイドロックをすっきりとした小さなケーシングに組み立てるための3Dモデルを作成しました。スライスソフトウェアに配置されたモデルを以下に示します。
同じサイズのパフォーマンスボードとソレノイドロックを使用している場合は、以下のSTLファイルを使用して同じケーシングを印刷することもできます。以前に構築した他の3D印刷プロジェクトをチェックすることもできます。
ソレノイドロックケーシングのSTLファイル
Arduinoベースの指紋制御ロックのテスト
まず、ロックを制御するために、 .apkファイル を携帯電話にダウンロードしてインストールする必要があります。また、Arduino Nanoに完全なコードをアップロードする必要がありますが、コードをアップロードする前に、NanoからTXピンとRXピンを必ず削除してください。アップロードが完了したら、ロックをインストールし、携帯電話のBluetoothをオンにして、使用しているBluetoothデバイスとペアリングし、アプリを開きます。次に、アプリのBluetoothアイコンをタップしてBluetoothデバイスに接続すると、アプリのBluetoothアイコンがロックアイコンに変わります。次に、指紋アイコンをタップして、携帯電話の指紋スキャナーを使用して指紋を確認する必要があります。値はArduinoNanoに送信されます。
このプロジェクトは、電話機に接続されたBluetoothモジュールで実行できることの基本的なデモンストレーションにすぎません。動作するロボット全体、出席記録、アプリ制御のホームオートメーションデバイスなどを構築でき、リストはあなたの想像力にまで及びます。また、ディスプレイをインターフェースして、敷地内に入る人の名前を表示したり、セキュリティのためにカメラを追加して人の写真をクリックしたりすることもできます。自分でこれを試して、いくつかの変更を加えてください。どこかで行き詰まった場合は、コメントセクションでお知らせください。サポートさせていただきます。もう一度ありがとう、そして素晴らしい一日を。