注釈

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

参加する理由は?

  • エキスパートサポート:コミュニティやチームの助けを借りて、販売後の問題や技術的な課題を解決します。

  • 学び&共有:ヒントやチュートリアルを交換してスキルを向上させましょう。

  • 独占的なプレビュー:新製品の発表や先行プレビューに早期アクセスしましょう。

  • 特別割引:最新製品の独占割引をお楽しみください。

  • 祭りのプロモーションとギフト:ギフトや祝日のプロモーションに参加しましょう。

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

6.5 - 無線周波数識別(RFID)

無線周波数識別(RFID)は、オブジェクト(またはタグ)と照会装置(またはリーダー)との間で無線通信を使用して、そのようなオブジェクトを自動的に追跡・識別するテクノロジーを指します。タグの伝送範囲はリーダーから数メートルに限られます。リーダーとタグの間には必ずしも直線的な視界が必要ではありません。

ほとんどのタグには、少なくとも一つの集積回路(IC)とアンテナが含まれています。 このマイクロチップは情報を格納し、リーダーとの無線周波数(RF)通信を管理しています。パッシブタグには独立したエネルギー源がなく、リーダーから提供される外部の電磁信号に依存して動作します。 アクティブタグには独立したエネルギー源、例えばバッテリーが含まれています。 したがって、これらは処理能力、伝送能力、および範囲が増加する可能性があります。

必要なコンポーネント

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

全体のキットを購入するのが便利です、リンクは以下の通りです:

名前

このキットに含まれるアイテム

購入リンク

ケプラーキット

450以上

Kepler Ultimate Kit

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

番号

コンポーネント紹介

数量

購入リンク

1

Pico Wを知る

1

購入

2

Micro USBケーブル

1

3

ブレッドボード

1

購入

4

ジャンパーワイヤー

数本

購入

5

MFRC522モジュール

1

購入

回路図

sch_rfid

配線

wiring_rfid

コード

注釈

  • ここでは MFRC522 ライブラリが使用されています。このライブラリは Library Manager からインストールできます。

    ../_images/lib_mfrc522.png

メイン機能は2つに分かれています:

  • 6.5_rfid_write でカード(またはキー)に情報を書き込む機能。

    実行後、シリアルモニタにメッセージを入力し、 # で終了します。次に、カード(またはキー)をMFRC522モジュールに近づけることで、メッセージがカードに書き込まれます。

  • 6.5_rfid_read でカード(またはキー)から情報を読み取る機能。

    実行後、カード(またはキー)に保存されたメッセージを読み取ることができます。

どのように動作するのか?

#include <MFRC522.h>

#define RST_PIN         9
#define SS_PIN          17

MFRC522 mfrc522(SS_PIN, RST_PIN);

まず、 MFRC522() クラスをインスタンス化します。

使いやすさのために、 MFRC522 ライブラリは以下の関数でさらにカプセル化されています。

  • void simple_mfrc522_init() : SPI通信を開始し、mfrc522モジュールを初期化します。

  • void simple_mfrc522_get_card() : カード(またはキー)が検出されるまでプログラムを一時停止し、カードのUIDとPICCタイプを表示します。

  • void simple_mfrc522_write(String text) : カード(またはキー)に文字列を書き込みます。

  • void simple_mfrc522_write(byte* buffer) : 通常はシリアルポートから来る情報をカード(またはキー)に書き込みます。

  • void simple_mfrc522_write(byte section, String text) : 特定のセクターに文字列を書き込みます。 section が0の場合、セクター1-2に書き込みます; section が1の場合、セクター3-4に書き込みます。

  • void simple_mfrc522_write(byte section, byte* buffer) : 通常はシリアルポートから来る情報を特定のセクターに書き込みます。 section が0の場合、セクター1-2に書き込みます; section が1の場合、セクター3-4に書き込みます。

  • String simple_mfrc522_read() : カード(またはキー)内の情報を読み取り、文字列を返します。

  • String simple_mfrc522_read(byte section) : 特定のセクター内の情報を読み取り、文字列を返します。 section が0の場合、セクター1-2を読み取ります; section が1の場合、セクター3-4を読み取ります。

6.5_rfid_write.ino の例では、一般的なシリアル入力方法として Serial.readBytesUntil() 関数が使用されています。