当前位置: 首页 > article >正文

Arduino大师练成手册 -- 控制 PN532 NFC 模块

要在 Arduino 上控制 PN532 NFC 模块,你可以按照以下步骤进行:

硬件连接

VCC:连接到 Arduino 的 3.3V 引脚。

GND:连接到 Arduino 的 GND 引脚。

SDA:连接到 Arduino 的 SDA 引脚(通常是 A4)。

SCL:连接到 Arduino 的 SCL 引脚(通常是 A5)。

安装必要的库

在 Arduino IDE 中,安装 Adafruit PN532 库。你可以在库管理器中搜索并安装该库。

代码示例

以下是一个简单的示例代码,用于读取 MF1S50 NFC 卡的数据:

#include <Wire.h>
#include <Adafruit_PN532.h>

// 如果使用I2C接口
#define SDA_PIN A4
#define SCL_PIN A5
Adafruit_PN532 nfc(SDA_PIN, SCL_PIN);
void setup(void) {
  Serial.begin(9600);
  Serial.println("Hello! This is a test.");
  nfc.begin();
  uint32_t versiondata = nfc.getFirmwareVersion();
  if (!versiondata) {
    Serial.print("Didn't find PN53x board");
    while (1); // halt
  }
  // 配置PN532模块进入读卡器模式
  nfc.SAMConfig();
  Serial.println("Waiting for an NFC card...");
}
void loop(void) {
  uint8_t success;
  uint8_t uid[] = { 0, 0, 0, 0, 0, 0, 0 };  // 缓存NFC标签的UID
  uint8_t uidLength;                         // 存储NFC标签的UID长度
  success = nfc.readPassiveTargetID(PN532_MIFARE_ISO14443A, uid, &uidLength);
  if (success) {
    // 显示NFC标签的UID信息
    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);
  }
}

连接示意图

VCC -> Arduino 3.3V

GND -> Arduino GND

SDA -> Arduino A4

SCL -> Arduino A5

重要提示

库安装:确保安装了 Adafruit PN532 库。如果没有安装,可以在 Arduino IDE 的库管理器中搜索并安装。

引脚定义:确保代码中的引脚定义与实际连接一致。

在这里插入图片描述


http://www.kler.cn/a/521029.html

相关文章:

  • Tailwind CSS 正式发布了 4.0 版本
  • 将5分钟安装Thingsboard 脚本升级到 3.9
  • 函数与方法
  • DeepSeek 的背景介绍
  • 思科交换机telnet配置案例
  • Juc22_什么是中断、interrupt、isInterrupted、interrupted方法源码解析、如何使用中断标识停止线程
  • 第 25 场 蓝桥月赛
  • 什么是AI Agent?
  • Vue.js 什么是 Vuex?
  • 基于新年视角下的城市人流数据分析
  • Baklib赋能下的内容中台智能化推荐系统解析与展望
  • Mac cursor设置jdk、Maven版本
  • Qt中QVariant的使用
  • 【橘子ES】使用docker搭建ELK环境
  • 2025美赛数学建模C题:奥运奖牌榜模型——思路+代码+模型
  • 二维数组一
  • Linux系统之ifconfig命令的基本使用
  • 2274. 不含特殊楼层的最大连续楼层数
  • 嵌入式C语言:结构体对齐
  • 前部分知识复习01
  • SpringBoot使用 easy-captcha 实现验证码登录功能
  • spring spring-boot spring-cloud发布以及适配
  • SAP MM 记录一次SAP外协采购收货提示 这种物料的特殊库存 O 0100003359 14019002不存在的问题
  • PTMD2.0-疾病相关的翻译后修饰数据库
  • 数字图像处理:实验七
  • 【ProtoBuf 安装】ProtoBuf在window/Linux下的安装 创建/删除swap分区