NFC Shield V2.0
この文書は AI によって翻訳されています。内容に不正確な点や改善すべき点がございましたら、文書下部のコメント欄または以下の Issue ページにてご報告ください。
https://github.com/Seeed-Studio/wiki-documents/issues
NFC(近距離無線通信)は広く使用されている技術です。NFCの主な用途には、ワイヤレスアクセス制御システム(例:鍵のないドアやロック)、モバイルデバイスによる支払い(例:電話アプリケーションを介して支払い情報を受け取る店舗レジ)などがあります。
NFC ShieldはトランシーバーモジュールPN532を搭載しており、13.56MHzでの無線通信を処理します。これにより、このシールドを使用して13.56MHzタグを読み書きしたり、シールドとスマートフォン間でポイントツーポイント(P2P)データ交換を実装することができます。
この新しいバージョンのシールドでは、独立したPCBアンテナエリアを設けており、メイン回路エンクロージャの外部にNFCインターフェースをより簡単に拡張できるようになっています。
アプリケーションアイデア
NFC Shield V2.0を使用して素晴らしいプロジェクトを作りたい場合、以下のプロジェクトを参考にしてください。
NFC Shield デモ
Paper Man: Androidとインタラクションする面白いオブジェクト
NFC Shield V2.0によるさらに素晴らしいプロジェクト
特徴
- ICSPヘッダーを使用したSPI。これにより、以下のArduino開発ボードでシールドが動作します:Uno、Mega、Leonardo
- 13.56MHzでのワイヤレスNFC通信
- SPIプロトコル - 4ピンのみを必要とするピン節約インターフェース
- 入力電圧:Arduinoの5Vピンからの5V
- 典型的な電流:100mA
- 最大有効範囲:5cm
- P2P通信をサポート
- ISO14443 Type AおよびType Bプロトコルをサポート
ハードウェア概要
NFCシールドのピンとその他の端子について以下に説明します。
NFCシールドインターフェース
- D10とD9はSPIチップセレクト(CS/SS)に使用されます。デフォルトではD10が接続されていますが、D9を接続するにはSSパッドをD9パッドにハンダ付けし、SSとD10の接続を削る必要があります。
- D2はシールドの割り込み要求(IRQ)ピン信号を受信するために使用できます。デフォルトでは割り込みは接続されていません。「D2/INT0」と「IRQ」パッドをハンダ付けする必要があります。
- シールドはArduinoのICSPヘッダーから直接SPIインターフェース(SPI MOSI、MISO、SCKピン)を取得します。これにより、以下のArduinoでシールドが動作します:Uno、Mega、Leonardo。
- ANT1端子はNFCアンテナ(シールドに付属)が接続される場所です。
- シールドはArduinoボードからの5Vで動作します。
NFCシールドに付属するアンテナは、ケーブルを介してシールドに接続される独立したPCBモジュールです。このアンテナは情報を受信および送信するためのエリアです。
NFCアンテナPCB接続
NFC Shield セットアップ
ハードウェアインストール
- NFCアンテナをシールドに接続します。
- NFCシールドをArduino開発ボードに積み重ね、USBケーブルを使用してボードをPCに接続します。
ソフトウェアライブラリのインストール
ステップ1. Seeed Arduino NFC Libraryをダウンロードします。
ステップ2. ライブラリのインストール方法を参照して、Arduino用のSeeed Arduino NFCライブラリをインストールします。
ステップ3. 「WriteTag」コードを以下のパスで開きます:File --> Examples --> WriteTag。
ステップ4. SPI通信を有効にするために以下のコードを修正します。
#if 0
#include <SPI.h>
#include <PN532/PN532_SPI/PN532_SPI.h>
PN532_SPI pn532spi(SPI, 10);
NfcAdapter nfc = NfcAdapter(pn532spi);
#else
#include <Wire.h>
#include <PN532/PN532_I2C/PN532_I2C.h>
PN532_I2C pn532_i2c(Wire);
NfcAdapter nfc = NfcAdapter(pn532_i2c);
#endif
void setup() {
SERIAL.begin(9600);
SERIAL.println("NDEF Writer");
nfc.begin();
}
Arduinoの利用可能なライブラリメニュー
NFC Shieldの例/アプリケーション
例:NFC WriteTag
この例では、NFCシールドを使用してNFCタグをスキャンし、その情報/データを表示する方法を示します。
Arduino IDEで以下のコードをコピー、貼り付け、アップロードしてボードに書き込みます。
コード
#include <NfcAdapter.h>
#include <PN532/PN532/PN532.h>
#if 0
#include <SPI.h>
#include <PN532/PN532_SPI/PN532_SPI.h>
PN532_SPI pn532spi(SPI, 10);
NfcAdapter nfc = NfcAdapter(pn532spi);
#else
#include <Wire.h>
#include <PN532/PN532_I2C/PN532_I2C.h>
PN532_I2C pn532_i2c(Wire);
NfcAdapter nfc = NfcAdapter(pn532_i2c);
#endif
void setup() {
SERIAL.begin(9600);
SERIAL.println("NDEF Writer");
nfc.begin();
}
void loop() {
SERIAL.println("\nPlace a formatted Mifare Classic or Ultralight NFC tag on the reader.");
if (nfc.tagPresent()) {
NdefMessage message = NdefMessage();
message.addUriRecord("http://arduino.cc");
bool success = nfc.write(message);
if (success) {
SERIAL.println("Success. Try reading this tag with your phone.");
} else {
SERIAL.println("Write failed.");
}
}
delay(5000);
}
コードをテストするには:
- Arduinoのシリアルモニタウィンドウを開きます。
- ボーレートを115200に設定します。
- NFCタグをNFCアンテナエリアにかざします。
- NFCシールドがタグをスキャンし、シリアルモニタウィンドウにNFCタグのUID、タグタイプ、およびメッセージ(利用可能な場合)が表示されるはずです。以下の図を参照してください。
FAQs
Q1: ケーブルの長さはどれくらいですか?また、より長いものが必要な場合はどれくらいまで可能ですか?
A1: NFCシールドに付属しているケーブルの長さは12cmです。より長いものが必要な場合は、IPX/U.FLコネクタを使用して15cm以内にしてください。
Q2: NFC Shield V2.0 (SKU: 113030001)に2つ以上のアンテナを追加することは可能ですか?
A2: NFC Shield V2はPN532チップをベースにしています。この設計では1つのアンテナのみをサポートしていることに注意してください。
NFC Shield v2.0 Eagleファイル回路図オンラインビューア
NFC Shield v2.1 Eagleファイル回路図オンラインビューア
リソース
- NFC Shield v2.0 回路図
- NFC Shield v2.0 Eagleファイル
- NFC Shield v2.1 回路図
- NFC Shield v2.1 Eagleファイル
- PN532 データシート
- NFC Shield FAQ
- Seeed Arduino NFCライブラリ
- PN532ライブラリ
プロジェクト
Paper Man NFC技術を通じてAndroidデバイスとコミュニケーションする興味深い方法。
NFCカードで操作するリモートカー あなたのコーディネーション能力に挑戦:NFCで操作する自分だけの車を作ろう
技術サポートと製品ディスカッション
弊社製品をお選びいただきありがとうございます!製品の使用体験がスムーズになるよう、さまざまなサポートを提供しています。異なる好みやニーズに対応するため、いくつかのコミュニケーションチャネルをご用意しています。