PN532は、複数の通信モードと標準をサポートする汎用性の高いRFID/NFCリーダーモジュールであり、認証、非接触型支払い、IoTプロジェクトに最適です。このチュートリアルでは、RFID/NFCタグを読み取るために、PN532モジュールとArduinoをインターフェースすることをガイドします。
あなたが必要とするもの
- PN532 RFID/NFCモジュール
- Arduino委員会(例:UNO、MEGA、NANO)
- ブレッドボード
- ジャンパーワイヤ
- rfid/nfcタグ(例:mifareカード)
- Arduino IDEがインストールされたコンピューター
ステップ1:PN532モジュールの理解
PN532モジュールは、3つの通信モードをサポートしています。
- I2C (多くのモジュールのデフォルト):SDAラインとSCLラインを使用します。
- spi:MOSI、MISO、およびSCKラインを使用します。
- uart(シリアル):TXおよびRXピンを使用します。
このチュートリアルでは、を使用します I2Cモード、セットアップが簡単で広くサポートされているためです。
I2CモードのPN532ピンアウト
ピン | 関数 |
---|---|
VCC | 電源(3.3V/5V) |
GND | 地面 |
SDA | I2Cデータライン |
SCL | I2Cクロックライン |
ステップ2:PN532をArduinoに配線します
PN532モジュールをI2CモードでArduino UNOに接続する方法は次のとおりです。
PN532ピン | Arduino Pin |
---|---|
VCC | 5V |
GND | GND |
SDA | A4 |
SCL | A5 |
注記: モジュールにモード選択ジャンパーがある場合は、I2Cモードに設定します。
ステップ3:必要なライブラリをインストールします
PN532モジュールとの相互作用を簡素化するには、次のライブラリをインストールします。
- Adafruit PN532ライブラリ
- Adafruit Busio Library (PN532ライブラリの依存関係)
インストールする手順:
- Arduino IDEを開きます。
- 行きます スケッチ > ライブラリを含めます > ライブラリを管理します.
- 「Adafruit PN532」を検索し、クリックします インストール.
- 「Adafruit Busio」を検索してクリックします インストール.
ステップ4:コードをアップロードします
RFID/NFCタグからデータを読むためのスケッチの例は次のとおりです。
#include <Wire.h>
#include <Adafruit_PN532.h>
#define SDA_PIN A4
#define SCL_PIN A5
Adafruit_PN532 nfc(SDA_PIN, SCL_PIN);
void setup() {
Serial.begin(9600);
Serial.println("PN532 RFID/NFC Reader Test");
nfc.begin();
uint32_t versiondata = nfc.getFirmwareVersion();
if (!versiondata) {
Serial.println("Didn't find PN532 module. Check connections.");
while (1);
}
Serial.println("Found PN532 module.");
nfc.SAMConfig(); // Configure the module in normal mode
Serial.println("Waiting for an NFC card...");
}
void loop() {
uint8_t success;
uint8_t uid[] = { 0 }; // Buffer to store UID
uint8_t uidLength; // Length of the UID
// Check if an NFC card is present
success = nfc.readPassiveTargetID(PN532_MIFARE_ISO14443A, uid, &uidLength);
if (success) {
Serial.println("Found an NFC card!");
Serial.print("UID Length: ");
Serial.print(uidLength, DEC);
Serial.println(" bytes");
Serial.print("UID Value: ");
for (uint8_t i = 0; i < uidLength; i++) {
Serial.print(" 0x");
Serial.print(uid[i], HEX);
}
Serial.println("");
delay(1000); // Wait 1 second
}
}
ステップ5:セットアップをテストします
- USBを介してArduinoをコンピューターに接続します。
- Arduino IDEを開き、正しいものを選択します ボード そして ポート の下 ツール メニュー。
- クリックしてコードをArduinoにアップロードします アップロード.
- シリアルモニターを開きます(ツール > シリアルモニター)そして、ボーレートをに設定します
9600
. - PN532モジュールの近くにRFID/NFCタグを配置します。シリアルモニターには、タグのUID(一意の識別子)を表示する必要があります。
トラブルシューティング
- 検出されていないモジュール: 配線を再確認し、モードジャンパーがI2Cに設定されていることを確認します。
- タグは検出されません: タグが互換性があることを確認します(この例では、Mifareカードなど)。
- 不安定な測定値: 短いジャンパーワイヤを使用して、モジュールに安定した電力を確保します。
PN532モジュールのアプリケーション
- アクセス制御システム
- 非接触型支払いシステム
- スマートインベントリ管理
- 安全な認証を必要とするIoTデバイス
結論
PN532 RFID/NFCモジュールにArduinoをインターフェースし、RFID/NFCタグを読み取りました。この汎用性の高いモジュールは、プロジェクトで安全な認証とデータ交換のための無限の可能性を開きます。タグへの書き込みやピアツーピア通信などの追加機能を試して、より高度なアプリケーションを構築してください!