RFID(Radio Frequency Identification)は、安価でアクセス可能なテクノロジーです。アクセス制御、セキュリティ、資産追跡、人の追跡など、多くのアプリケーションで使用できます。ホテル、オフィス、およびRFIDリーダーの近くにカードを配置するだけでよい他の多くの場所でRFIDドアロックシステムを見てきました。少しの間、ドアが開きます。多くのRFIDベースのプロジェクトでRFIDリーダーとタグを使用しました。
以前の投稿では、単純なRFIDドアロックを作成しましたが、今回は本物のソレノイドドアロックを使用し、RFIDとArduinoで制御します。ここでは、ホール効果センサーと磁石を使用してドアの動きを検出しています。ホール効果センサーはドアフレームに配置され、磁石はドア自体に配置されます。ホール効果センサーと磁石が接近している場合、ホール効果センサーはロー状態になり、ドアは閉じたままになります。センサーとマグネットが閉じていない場合は、ドアが開いてホールセンサーがハイになります。状態。このホール効果メカニズムを使用して、ドアを自動的にロックおよびロック解除します。ホールセンサーとその動作の詳細については、リンクをたどってください。
必要なコンポーネント
- Arduino Uno
- RFID-RC522モジュール
- 12vソレノイドロック
- リレーモジュール
- ホール効果センサー
- 10kΩ抵抗
- ブザー
ソレノイドロック
ソレノイドロックは、電子機械式ロック機構で機能します。このタイプのロックには、傾斜カットのスラッグと適切な取り付けブラケットがあります。電力が供給されると、DCはスラグを内部に移動させ、ドアをロック解除位置に保つ磁場を生成します。スラッグは、電源が切れるまでその位置を保持します。電源が切断されると、スラッグは外側に移動してドアをロックします。ロック状態では電力を使用しません。ソレノイドロックを駆動するには、12V @ 500mAを供給できる電源が必要です。
回路図
Arduinoを使用したソレノイドドアロックの回路図を以下に示します。
ArduinoとRFID間の接続を以下の表に示します。ブザーのプラスピンはArduinoのデジタルピン4に接続され、GNDピンはArduinoのグランドピンに接続されます。ホール効果センサーのVCCピンとOUTピンの間に10Kの抵抗が使用されています。ソレノイドロックは、リレーモジュールを介してArduinoに接続されています。
RFIDピン | ArduinoUnoピン |
SDA | デジタル10 |
SCK | デジタル13 |
MOSI | デジタル11 |
味噌 | デジタル12 |
IRQ | 接続されていません |
GND | GND |
RST | デジタル9 |
3.3V | 3.3V |
ホール効果センサーピン | ArduinoUnoピン |
5V | 5V |
GND | GND |
アウト | 3 |
回路図に従ってパフォーマンスボード上のすべてのコンポーネントをはんだ付けすると、次の画像のようになります。
コードの説明
このArduinoソレノイドロックの完全なコードは、ドキュメントの最後に記載されています。ここでは、理解を深めるために、このコードを段階的に説明しています。
必要なすべてのライブラリを含めてコードを開始します。ここでは、2つのライブラリのみが必要です。1つはArduinoとRFID間のSPI通信用で、もう1つはRFIDモジュール用です。両方のライブラリは、以下のリンクからダウンロードできます。
- SPI.h
- MFRC522.h
次に、ブザー、ソレノイドロック、RFIDモジュールのピンを定義します
intブザー= 4; const int LockPin = 2; #define SS_PIN 10 #define RST_PIN 9
次に、ロックピンとブザーピンを出力として定義し、ホール効果センサーピンを入力として定義して、SPI通信を開始します。
pinMode(LockPin、OUTPUT); pinMode(ブザー、出力); pinMode(hall_sensor、INPUT); SPI.begin(); // SPIバスを開始しますmfrc522.PCD_Init(); // MFRC522を開始します
ボイドループ 内でホールセンサーの値を読み取り、低くなったらドアを閉めます。
状態= digitalRead(hall_sensor); Serial.print(state); delay(3000); if(state == LOW){digitalWrite(LockPin、LOW); Serial.print( "ドアが閉じています"); digitalWrite(ブザー、HIGH); delay(2000); digitalWrite(Buzzer、LOW);}
ボイドループ機能の内部では、新しいRFIDカードが存在するかどうかをチェックし、新しいカードが存在する場合は、カードのUIDをチェックします。有効なカードの場合、ロックが開きます。それ以外の場合は、「 許可されていません 」と出力され ます。 '完全な作業は、最後に提供されるビデオに示されています。
if(!mfrc522.PICC_IsNewCardPresent()){return; } //カードの1つを選択if(!mfrc522.PICC_ReadCardSerial()){return; } //シリアルモニターにUIDを表示するStringcontent = "";バイト文字; for(byte i = 0; i <mfrc522.uid.size; i ++){content.concat(String(mfrc522.uid.uidByte <0x10? "0": "")); content.concat(String(mfrc522.uid.uidByte、HEX)); } Serial.println(); Serial.print( "メッセージ:"); content.toUpperCase(); if(content.substring(1)== "60 4E 07 1E")//ここでアクセスを許可するカードのUIDを変更します{digitalWrite(LockPin、HIGH); Serial.print( "Door Unlocked"); digitalWrite(ブザー、HIGH); delay(2000); digitalWrite(ブザー、LOW); } else {Serial.println( "あなたは許可されていません"); digitalWrite(ブザー、HIGH); delay(2000); digitalWrite(ブザー、低); }}
RFIDソレノイドロックのテスト
コードとハードウェアの準備ができたら、ソレノイドドアロックプロジェクトのテストを開始できます。ここでは、ドアに簡単に取り付けることができるように、パフォーマンスボード上のすべてのコンポーネントをはんだ付けしました。
それで、それをテストするために、それがドアの動きを検出できるように、ドアフレームにパフォーマンスボードを取り付け、ドアに磁石を取り付けます。下の写真は、磁石とホールセンサーがドアにどのように固定されているかを示しています。
次に、承認されたRFIDカードをスキャンして、ドアロックを開きます。ソレノイドドアロックは、ホール効果センサーの出力が高くなるまで開いたままになります。これで、閉じている間にドアが再びホールセンサーに近づくと、磁場(ドアに取り付けられた磁石によって生成される)によってホール効果センサーのステータスが低に変わり、ロックが再び閉じられます。
ホール効果センサーを使用する代わりに、遅延を導入して、定義された時間ドアを開いたままにすることができます。
完全なコードと作業ビデオを以下に示します。また、さまざまな技術を使用して他のタイプのドアロックを確認してください。