Skip to content

Latest commit

 

History

History
145 lines (89 loc) · 5.86 KB

08_basic_mfrc522.rst

File metadata and controls

145 lines (89 loc) · 5.86 KB

Note

こんにちは、SunFounderのRaspberry Pi & Arduino & ESP32愛好家コミュニティへようこそ!Facebook上でRaspberry Pi、Arduino、ESP32についてもっと深く掘り下げ、他の愛好家と交流しましょう。

参加する理由は?

  • エキスパートサポート:コミュニティやチームの助けを借りて、販売後の問題や技術的な課題を解決します。
  • 学び&共有:ヒントやチュートリアルを交換してスキルを向上させましょう。
  • 独占的なプレビュー:新製品の発表や先行プレビューに早期アクセスしましょう。
  • 特別割引:最新製品の独占割引をお楽しみください。
  • 祭りのプロモーションとギフト:ギフトや祝日のプロモーションに参加しましょう。

👉 私たちと一緒に探索し、創造する準備はできていますか?[|link_sf_facebook|]をクリックして今すぐ参加しましょう!

RFID-RC522モジュール

概要

このレッスンでは、RFIDモジュールの使用方法を学びます。RFIDはRadio Frequency Identificationの略で、その原理はリーダーとラベル間の非接触データ通信によってターゲットを識別することにあります。RFIDの応用範囲は広く、動物チップ、イモビライザー、アクセスコントロール、駐車場管理、生産チェーンの自動化、資材管理などが含まれます。

必要なコンポーネント

このプロジェクトでは、以下のコンポーネントが必要です。

全体のキットを購入すると便利です。以下がリンクです:

名称 このキットのアイテム数 リンク
Elite Explorer Kit 300+ |link_Elite_Explorer_kit|

以下のリンクから個別に購入することもできます。

コンポーネント紹介 購入リンク
:ref:`uno_r4_wifi` -
:ref:`cpn_wires` |link_wires_buy|
:ref:`cpn_mfrc522` |link_mfrc522_rfid_buy|

配線図

この例では、RFIDをブレッドボードに挿入します。RFIDの3.3Vを3.3Vに、GNDをGNDに、RSTをピン2に、SDAをピン6に、SCKをピン5に、MOSIをピン4に、MISOをピン3に、IRQをピン7に接続します。

img/08-rfid_bb.png

回路図

img/08_mfrc522_schematic.png

コード

Note

  • elite-explorer-kit-main\basic_project\08-mfrc522 のパスの下にあるファイル 08-mfrc522.ino を直接開くことができます。
  • ここでは RFID1 ライブラリが使用されています。このライブラリは elite-explorer-kit-main/library/ ディレクトリにありますが、こちら :download:`RFID1.zip </_static/RFID1.zip>` からダウンロードすることもできます。インストール方法については :ref:`manual_install_lib` を参照してください。

unoボードにコードをアップロードすると、RFIDカード(秘密の鍵)をRFIDリーダーに近づけることができます。モジュールはカード情報を読み取り、シリアルモニターに表示します。

コード解析

このモジュールの機能は rfid1.h というライブラリに含まれています。

#include <rfid1.h>

ライブラリの関数:

RFID1 rfid;

Arduinoに接続された特定のRFIDモジュールを表すrfid1クラスの新しいインスタンスを作成します。

void begin(IRQ_PIN,SCK_PIN,MOSI_PIN,MISO_PIN,SDA_PIN,RST_PIN)

ピンの設定です。

  • IRQ_PIN,SCK_PIN,MOSI_PIN,MISO_PIN: SPI通信に使用されるピン。
  • SDA_PIN: 同期データアダプター。
  • RST_PIN: リセットに使用されるピン。
void init()

RFIDを初期化します。

uchar request(uchar reqMode, uchar *TagType);

カードを検索し、カードタイプを読み取ります。この関数はRFIDの現在の読み取り状態を返し、成功した場合はMI_OKを返します。

  • reqMode: 検索方法。PICC_REQIDLは0x26コマンドビットを定義しています(アンテナエリア内のスリープモードでないカードを検索します)。
  • *TagType: カードタイプを格納するために使用され、4バイトの値が可能です(例: 0x0400)。
char * readCardType(uchar *TagType)

この関数は *tagType の4桁の16進数を特定のカードタイプにデコードし、文字列を返します。0x0400を渡した場合は「MFOne-S50」が返されます。

uchar anticoll(uchar *serNum);

衝突を防ぎ、カードのシリアル番号を読み取ります。この関数はRFIDの現在の読み取り状態を返し、成功した場合はMI_OKを返します。

  • *serNum: カードシリアル番号を格納するために使用され、4バイトのカードシリアル番号を返します。5番目のバイトは再チェックバイトです(例: 私の磁気カードIDは5AE4C955)。