ArduinoRFIDロックチュートリアル
コンポーネントと消耗品
> |
| × | 1 | |||
| × | 1 |
アプリとオンラインサービス
> |
|
このプロジェクトについて
<図> <図>
親愛なる友人は別のチュートリアルへようこそ。これはeduc8s.tvのNickです。今日は、このRFIDリーダーをArduinoで使用して、簡単なロックシステムを構築する方法を学びます。
初めて、ArduinoでRFIDタグを使用する予定です。リーダーの近くに配置した各RFIDタグの一意のID(UID)を読み取り、このOLEDディスプレイに表示する簡単なプロジェクトを作成しました。タグのUIDが、Arduinoのメモリに保存されている事前定義された値と等しい場合、ディスプレイに「ロック解除されました」というメッセージが表示されます。カードの一意のIDが事前定義された値と等しくない場合、ロック解除メッセージは表示されません。かっこいいですね
カバーすることがたくさんあるので、始めましょう!
ステップ1:すべての部品を入手する <図>
このプロジェクトを構築するために必要な部品は次のとおりです。
- ArduinoUno▶https://store.arduino.cc/arduino-uno-rev3
- RFIDリーダー▶http://educ8s.tv/part/RFID
- OLEDディスプレイ▶http://educ8s.tv/part/OLED096
- 小さなブレッドボード▶http://educ8s.tv/part/SmallBreadboard
- 一部のワイヤー▶http://educ8s.tv/part/Wires
オプションパーツ:
- Powerbank▶http://educ8s.tv/part/Powerbank
プロジェクトの総費用は約15ドルです。
ステップ2:RC522RFIDリーダー
<図> <図> <図> <図>各RFIDタグには、内部に小さなチップがあります。このRFIDカードの下に懐中電灯を置くと、小さなチップとそれを囲むコイルが見えます。このチップには、電力を得るためのバッテリーがありません。この大きなコイルを使用して、リーダー、このデバイスからワイヤレスで電力を受け取ります。リーダーはこのようなRFIDカードを最大20mmの距離から読み取ることができます!
同じチップがキーチェーンRFIDタグにも存在します。
各RFIDタグには、それを識別する一意の番号があります。これがOLEDディスプレイに表示されるUIDです。このUIDを除いて、各タグはデータを保存できます。このタイプのカードでは、最大1Kのデータを保存できます。印象的ですね。今日はこの機能を使用しませんが、将来のチュートリアルで使用します。今日、私たちが関心を持っているのは、そのUIDによって特定のカードを識別することだけです。 RFIDリーダーとこれら2枚のRFIDカードのコストは約4ドルです。
ステップ3:OLEDディスプレイ
<図>これは、Arduinoで使用するのに非常に優れたディスプレイです。これはOLEDディスプレイであり、消費電力が少ないことを意味します。このディスプレイの消費電力は約10〜20 mAで、点灯しているピクセル数によって異なります。
ディスプレイの解像度は128×64ピクセルで、サイズは小さいです。表示には2つのバリエーションがあります。 1つはモノクロで、もう1つは私が使用しているようなもので、黄色と青の2色を表示できます。画面の上部は黄色のみ、下部は青色のみを表示できます。
このOLEDディスプレイは非常に明るく、優れたライブラリサポートを備えています。 Adafruitは、このディスプレイ用の非常に優れたライブラリを開発しました。それに加えて、ディスプレイはI2Cインターフェースを使用しているため、Arduinoとの接続は非常に簡単です。 VccとGNDを除いて2本のワイヤを接続するだけで済みます。 Arduinoを初めて使用し、プロジェクトで使用するための安価で使いやすいディスプレイが必要な場合は、ディスプレイから始めてください。 Arduinoプロジェクトにディスプレイを追加する最も簡単な方法です。このチュートリアルに添付したこのディスプレイの使用方法に関する詳細なチュートリアルを用意しました。
ステップ4:すべてのパーツを接続する
<図> <図> <図> <図>ArduinoUnoボードとの接続は非常に簡単です。まず、リーダーとディスプレイの両方の電源を接続しましょう。
注意してください。RFIDリーダーはArduinoUnoの3.3V出力に接続する必要があります。接続しないと破壊されます。 ディスプレイは3.3Vでも動作するため、両方のモジュールのVccをブレッドボードのプラスレールに接続します。このレールは、ArduinoUnoの3.3V出力に接続されます。次に、両方のGNDをブレッドボードのGNDレールに接続します。次に、ブレッドボードのGNDレールをArduinoGNDに接続します。
OLEDディスプレイ-Arduino
Vcc▶3.3V
GND▶GND
SCL▶アナログピン5
SDA▶アナログピン
RFIDリーダー-Arduino
RST▶デジタルピン9
IRQ▶未接続
MISO▶デジタルピン12
MOSI▶デジタルピン11
SCK▶デジタルピン13
SDA▶デジタルピン10
RFIDリーダーモジュールは、Arduinoと通信するためにSPIインターフェースを使用します。そこで、ArduinoUNOのハードウェアSPIピンを使用します。 RSTピンはデジタルピン9に接続されます。IRQピンは未接続のままです。 MISOピンはデジタルピン12に接続されます。MOSIピンはデジタルピン11に接続されます。SCKピンはデジタルピン13に接続され、最後にSDAピンはデジタルピン10に接続されます。 RFIDリーダーが接続されています。次に、I2Cインターフェイスを使用してOLEDディスプレイをArduinoに接続する必要があります。したがって、ディスプレイのSCLピンはアナログピン5に、ディスプレイのSDAピンはアナログピン4に接続されます。プロジェクトの電源を入れ、RFIDカードをリーダーの近くに配置すると、プロジェクトが正常に機能していることがわかります。それでは、プロジェクトのコードを見てみましょう。
ステップ5:プロジェクトのコード <図>
プロジェクトコードをコンパイルするには、いくつかのライブラリを含める必要があります。まず、MFRC522RFIDライブラリが必要です。これをインストールするには、[スケッチ]-> [ライブラリを含める]-> [ライブラリの管理]に移動します。 MFRC522を検索してインストールします。ディスプレイには、AdafruitSSD1306ライブラリとAdafruitGFXライブラリも必要です。同じ手順で両方のライブラリをインストールします。 AdafruitSSD1306ライブラリには小さな変更が必要です。 Arduino-> Librariesフォルダーに移動し、Adafruit SSD1306フォルダーを開いて、Adafruit_SSD1306.hライブラリーを編集します。コメント行70とコメント解除行69。ディスプレイの解像度は128x64で、ここで定義しています。これで、コードを簡単に確認する準備が整いました。
最初に、Arduinoに認識させたいRFIDタグの値を宣言します。整数の配列です。
int code [] ={69,141,8,136}; //これは保存されたUIDです
次に、RFIDリーダーとディスプレイを初期化します。
rfid.PCD_Init(); display.begin(SSD1306_SWITCHCAPVCC、0x3C);
この後、ループ関数では、100ミリ秒ごとにリーダーのタグをチェックします。
リーダーにタグがある場合は、そのUIDを読み取り、ディスプレイに印刷します。次に、読み取ったタグのUIDを、コード変数に格納されている値と比較します。値が同じ場合はUNLOCKメッセージを表示し、そうでない場合はこのメッセージを表示しません。
if(match){Serial.println( "\ nこのカードを知っています!"); printUnlockMessage(); } else {Serial.println( "\ n不明なカード"); }
もちろん、プロジェクトがより多くのRFIDタグを認識するために、複数のUID値を格納するためにこのコードを変更できます。
これは単なる例です。いつものように、このチュートリアルに添付されているプロジェクトのコードを見つけることができます。
RFID.ino
ステップ6:最終的な考えと改善 <図>
ご覧のとおり、非常に低コストでプロジェクトにRFIDリーダーを追加できます。このようなリーダーを使用してセキュリティシステムを簡単に構築したり、より楽しいプロジェクトを構築したりできます。
私の主な目的は、このRFIDリーダーと多くのRFIDタグを使用して、子供向けのインタラクティブなゲームを作成することです。将来のビデオでは、RFIDタグからのデータの書き込みと読み取りも試みます。この時点で、このRFIDカードリーダーについてのご意見をお聞かせください。いずれかのプロジェクトで使用する予定はありますか?下記のコメントセクションにコメントやアイデアを投稿してください、ありがとうございます!
コード
- RFID.ino
- コードスニペット#3
RFID.ino Arduino
プレビューなし(ダウンロードのみ)。
コードスニペット#3 プレーンテキスト
if(match){Serial.println( "\ nこのカードを知っています!"); printUnlockMessage(); } else {Serial.println( "\ n不明なカード"); }
製造プロセス
- RC522を備えたArduinoRFIDロック-MIFAREプロトコル13.56Mhz
- Arduino指紋センサーチュートリアル
- Arduinoチュートリアル:ミニピアノ
- RFIDを使ったDIYのアイデア
- RFID +リレー+ RFIDドアロックコード=RFID PCスイッチ!
- ArduinoへのHIDProxRFID
- ArduinoイーサネットRFIDカードリーダー
- RFIDを使用したWindowsPCのロック/ロック解除
- Arduinoをマルチスレッド化する方法(プロトスレッドチュートリアル)
- ArduinoとMPU6050加速度計とジャイロスコープのチュートリアル
- Arduinoチュートリアル01:はじめに