.. note:: こんにちは、SunFounderのRaspberry Pi & Arduino & ESP32愛好家コミュニティへようこそ!Facebook上でRaspberry Pi、Arduino、ESP32についてもっと深く掘り下げ、他の愛好家と交流しましょう。 **参加する理由は?** - **エキスパートサポート**:コミュニティやチームの助けを借りて、販売後の問題や技術的な課題を解決します。 - **学び&共有**:ヒントやチュートリアルを交換してスキルを向上させましょう。 - **独占的なプレビュー**:新製品の発表や先行プレビューに早期アクセスしましょう。 - **特別割引**:最新製品の独占割引をお楽しみください。 - **祭りのプロモーションとギフト**:ギフトや祝日のプロモーションに参加しましょう。 👉 私たちと一緒に探索し、創造する準備はできていますか?[|link_sf_facebook|]をクリックして今すぐ参加しましょう! .. _2.2.10_c: 2.2.10 MFRC522 RFIDモジュール ================================ はじめに --------------- RFID(無線周波数識別)は、オブジェクト(またはタグ)と問い合わせデバイス(またはリーダー)の間の無線通信を使用して、そのようなオブジェクトを自動的に追跡・識別する技術を指します。 この技術の最も一般的な用途には、小売業の供給チェーン、軍事の供給チェーン、自動支払方法、荷物追跡および管理、ドキュメント追跡、薬品管理などがあります。 このプロジェクトでは、RFIDを読み取りおよび書き込みに使用します。 必要な部品 ------------------------------ このプロジェクトでは、以下のコンポーネントが必要です。 .. image:: ../img/list_2.2.7.png 一式を購入するのは間違いなく便利です、以下がリンクです: .. list-table:: :widths: 20 20 20 :header-rows: 1 * - 名前 - このキットのアイテム - リンク * - Raphael Kit - 337 - |link_Raphael_kit| 以下のリンクからそれぞれ購入することもできます。 .. list-table:: :widths: 30 20 :header-rows: 1 * - コンポーネントの紹介 - 購入リンク * - :ref:`cpn_gpio_board` - |link_gpio_board_buy| * - :ref:`cpn_breadboard` - |link_breadboard_buy| * - :ref:`cpn_wires` - |link_wires_buy| * - :ref:`cpn_mfrc522` - |link_mfrc522_rfid_buy| 回路図 ----------------- .. image:: ../img/image331.png 実験手順 ----------------------- **ステップ1:** 回路を作成します。 .. image:: ../img/image232.png **ステップ2:** SPIを設定します(詳しくは :ref:`spi_configuration` を参照してください。すでにSPIを設定している場合は、この手順をスキップしてください。) **ステップ3:** コードのフォルダに移動します。 .. raw:: html .. code-block:: cd ~/raphael-kit/c/2.2.10/ **ステップ4:** コードをコンパイルします。 .. raw:: html .. code-block:: make read make write **ステップ5:** ``./write`` を実行後、相手の名前などの情報を入力し、MRC522モジュールにタグやカードを置いて書き込みが完了するのを待ちます。 .. raw:: html .. code-block:: sudo ./write **ステップ6:** ``./read`` を実行して、書き込んだタグまたはカードの情報を読み取ります。 .. raw:: html .. code-block:: sudo ./read .. note:: 実行後に動作しない、またはエラープロンプト「wiringPi.h: No such file or directory」が表示される場合は、 :ref:`install_wiringpi` を参照してください。 **コード説明** .. code-block:: c InitRc522(); この関数は、RFID RC522モジュールを初期化するためのものです。 .. code-block:: c uint8_t read_card_data(); この関数はカードのデータを読み取るためのもので、読み取りが成功すると"1"を返します。 .. code-block:: c uint8_t write_card_data(uint8_t *data); この関数はカードのデータを書き込むためのもので、書き込みが成功すると"1"を返します。 ``*data`` はカードに書き込む情報です。 現象の画像 ------------------ .. image:: ../img/image233.jpeg