物联网AI MicroPython传感器学习 之 MFRC522 RFID射频IC卡感应模块

news2024/11/28 13:48:36

学物联网,来万物简单IoT物联网!!在这里插入图片描述

一、产品简介

MFRC522是应用于13.56MHz非接触式通信中高集成度的读写卡芯片,其特点低电压、低成本、体积小的非接触式读写芯片。MFRC522支持MIFARE系列更高速的非接触式通信,双向数据传输速率高达424Kbit/s,与主机之间主要主要通过SPI通信模式。
image.png

引脚定义:

  • VCC:接电源3V3
  • RST:reset复位
  • GND:接电源地
  • IRQ:事件中断引脚
  • MISO:SPI MISO信号
  • MOSI:SPI MOSI信号
  • SCK:SPI 时钟信号
  • SS:SPI 片选信号

二、技术参数

  • 通行方式:采用常规SPI通讯
  • 储存容量:8Kbit,16个分区,每分区两组密码
  • 工作频率:13.56Mhz
  • 通讯频率:106KBoud
  • 读写距离:2.5~10cm
  • 读写时间:1~2ms
  • 工作温度:-20度~35度
  • 擦写寿命:大于100000次
  • 数据保存时间:大于10年
  • 尺寸:85.5mm *5 4mm

三、软件接口

MFRC522(spiObj, CS) - 创建 MFRC522 驱动对象

  • 函数原型:

mfrc522Obj = MFRC522(spiObj, csObj, resetObj)

  • 参数说明:
参数类型必选参数?说明
spiObjSPI传入SPI对象
csObjGPIO传入片选信号 CS 对象
resetObjGPIO传入复位信号 RESET 对象
  • 返回值:
    resetObj 对象成功,返回 MFRC522 对象;MFRC522 对象创建失败,抛出 Exception
  • 示例代码:
from machine import SPI, Pin
import mfrc522

# 初始化 SPI
spiObj = SPI(2, baudrate=2000000, sck=Pin(18), mosi=Pin(23), miso=Pin(19))
# 初始化片选
csObj = Pin(21, Pin.OUT)
# 初始化复位信号
resetObj = Pin(22, Pin.OUT)
# 创建 MFRC522 驱动
mfrc522Obj = mfrc522.MFRC522(spiObj, csObj,resetObj)
print("MFRC522 inited!")
  • 输出:
MFRC522 inited!

readCardID() - 将读取SD卡卡号

  • 函数功能:
    SD卡接触MFRC522读写器,可以读取SD卡的卡号
  • 函数原型:

mfrc522Obj.readCardID()

  • 参数说明:
  • 返回值:
  • 示例:
from machine import SPI, Pin
import mfrc522
import utime

# 初始化 SPI
spiObj = SPI(2, baudrate=2000000, sck=Pin(18), mosi=Pin(23), miso=Pin(19))
# 初始化片选
csObj = Pin(21, Pin.OUT)
# 初始化复位信号
resetObj = Pin(22, Pin.OUT)
# 创建 MFRC522 驱动
mfrc522Obj = mfrc522.MFRC522(spiObj, csObj,resetObj)
print("MFRC522 inited!")
while True:
    rfid_card = mfrc522Obj.readCardID()
    print(rfid_card)
    utime.sleep_ms(200)
  • 输出:
MFRC522 inited 
979024648674

readText() - 将读取SD卡信息

  • 函数功能:
    SD卡接触MFRC522读写器,可以读取SD卡的信息
  • 函数原型:

mfrc522Obj.readText()

  • 参数说明:
  • 返回值:

四、接口案例

  • 代码:
from machine import SPI, Pin
import mfrc522
import utime

# 初始化 SPI
spiObj = SPI(2, baudrate=2000000, sck=Pin(18), mosi=Pin(23), miso=Pin(19))
# 初始化片选
csObj = Pin(21, Pin.OUT)
# 初始化复位信号
resetObj = Pin(22, Pin.OUT)
# 创建 MFRC522 驱动
mfrc522Obj = mfrc522.MFRC522(spiObj, csObj,resetObj)
print("MFRC522 inited!")
while True:
    rfid_card = mfrc522Obj.readCardID()
    print(rfid_card)
    utime.sleep_ms(200)
  • 输出:
MFRC522 inited 
979024648674

参考文献及购买链接

[1] MFRC522购买链接

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1160190.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

如何理解傅里叶变换?

当提到什么是傅里叶变换? 大家的回答一般是:将信号从时域转化到频域? 那为什么要转换到频域呢? 因为在频域可将一些信号分离。 为什么转换到频域就可分离呢?好像不会回答了。 实际上,从线性代数的角度…

Spring面试题:(二)基于xml方式的Spring配置

xml配置Bean的常见属性 id属性 name属性 scope属性 lazy-init属性 init-method属性和destroy属性 initializingBean方法 Bean实例化方式 ApplicationContext底层调用BeanFactory创建Bean,BeanFactory可以利用反射机制调用构造方法实例化Bean,也可采用工…

【嵌入式开发学习】__改了一行代码,数组遍历耗时从10.3秒降到了0.5秒!

目录 前言 两个简单的测试程序 1. array1.c 对数组按行进行访问 2. array2.c 对数组按列进行访问 ​编辑 3. 编译运行,并用 time 命令统计一下运行时间: 重要说明 存储金字塔 局部性原理 1. 时间局部性 2. 空间局部性 高速缓存 - Cache Cache…

Word 将文档中的【第几条】批量加粗

目录预览 一、问题描述二、解决方案三、参考链接 一、问题描述 我要制作一份文档,关于法律条文的,然后需要将条文中的【第几条】字样进行加粗表示,格式刷是不可能格式刷的,这明显不适合此种批量的操作,浪费事件。所以…

matplotlib入门-基金走势图

一、matplotlib简介 matplotlib是一个Python 2D绘图库,开发者仅需要几行代码就可以生成曲线图、柱状图、散点图甚至动画。需要另外安装,一条命令搞定。 pip install matplotlib 它的绘图接口在matplotlib.pyplot模块中,pyplot提供和MATLIB…

Java while 和do while 循环

循环是程序中的重要流程结构之一。循环语句能够使程序代码重复执行,适用于需要重复一段代码直到满足特定条件为止的情况。 所有流行的编程语言中都有循环语句。Java 中采用的循环语句与C语言中的循环语句相似,主要有 while、do-while 和 for。 另外 Ja…

Hugging Face LLM部署大语言模型到亚马逊云科技Amazon SageMaker推理示例

本篇文章主要介绍如何使用新的Hugging Face LLM推理容器将开源LLMs,比如BLOOM大型语言模型部署到亚马逊云科技Amazon SageMaker进行推理的示例。我们将部署12B Open Assistant Model,这是一款由开放助手计划训练的开源Chat LLM。 这个示例包括&#xff1…

AI:45-基于深度学习的声纹识别

🚀 本文选自专栏:AI领域专栏 从基础到实践,深入了解算法、案例和最新趋势。无论你是初学者还是经验丰富的数据科学家,通过案例和项目实践,掌握核心概念和实用技能。每篇案例都包含代码实例,详细讲解供大家学习。 📌📌📌本专栏包含以下学习方向: 机器学习、深度学…

腾讯云双十一云服务器大促活动:云服务器特惠信息汇总!

优惠概述 在腾讯云双十一活动中,轻量应用服务器推出了三款享受特惠优惠的选项,分别是2核2G、2核4G和4核8G。这三款服务器的价格分别为88元/年、166.6元/年和529元/15个月。此外,腾讯云还推出了一次性购买3年服务器的特别优惠活动&#xff0c…

乐器玩具微信商城小程序制作:简单几步的秘诀

在当今的数字化时代,网络购物已成为人们生活中不可或缺的一部分。而微信商城小程序作为一种便捷的购物方式,正逐渐受到越来越多人的青睐。如果你是一位乐器玩具商家,那么制作一个乐器玩具微信商城小程序将是一个非常不错的选择。本文将指导你…

《 博弈论教程(罗云峰版) 》——习题一答案

前言 博弈论这门课程,我们主要参考的教材是《博弈论教程(罗云峰版)》,但是罗老师的课后习题并没有给出完整的答案,秉着学习的态度,本人结合教材和 PPT 在这里给出课后习题的答案。 由于我们只学了完全信息静…

全开源抖音快手微信取图小程序源码

全开源抖音快手微信很火爆的取图小程序源码,可以给人别人搭建,也可以自己做;对接流量主,收益很可观。 下载地址:https://bbs.csdn.net/topics/617502419

TCP 协议

文章目录 协议格式1面向连接:1.1三次握手(建立连接)1.2包序管理1.2四次挥手(断开连接) 2可靠传输:一。保证数据可靠有序的到达对端:确认应答机制超时重传机制 二。提高传输效率:1.提升自身发送数据量滑动窗口机制 rwnd滑动窗口丢包…

Android应用集成RabbitMQ消息处理指南

Android应用集成RabbitMQ消息处理指南 RabbitMQ1、前言2、RabbitMQ简介2.1、什么是RabbitMQ2.2、RabbitMQ的特点2.3、RabbitMQ的工作原理2.4、RabbitMQ中几个重要的概念 3、在Android Studio中集成RabbitMQ3.1、在Manifest中添加权限:3.2、在build.gradle(:app)下添…

抽奖软件,是随机公平的,还是可暗箱操作的

绝大多数软件都可作弊,或有作弊版本 根据经验,年会抽奖时,大约有15%-20%的单位要求可作弊,出现暗箱操作的几率还是很大的。 有的是公司老板的意思,有的是年会负责人或软件操作员的想法。有的内定某人中大奖&#xff…

机器学习快速入门教程 Scikit-Learn实现

机器学习是什么? 机器学习是一帮计算机科学家想让计算机像人一样思考所研发出来的计算机理论。他们曾经说过,人和计算机其实本没有差别,同样都是一大批互相连接的信息传递和存储元素所组成的系统。所以有了这样的想法,加上他们得天独厚的数学功底,机器学习的前身也就孕育而生…

【Verilog 教程】7.3 Verilog 串行 FIR 滤波器设计

串行 FIR 滤波器设计 设计说明 设计参数不变,与并行 FIR 滤波器参数一致。即,输入频率为 7.5 MHz 和 250 KHz 的正弦波混合信号,经过 FIR 滤波器后,高频信号 7.5MHz 被滤除,只保留 250KMHz 的信号。 输入频率&#x…

【MySQL索引与优化篇】数据库的设计规范

数据库的设计规范 文章目录 数据库的设计规范1. 范式2. 键和相关属性的概念3. 第一范式4. 第二范式5. 第三范式6. 小结7. 反范式化7.1 概述7.2 反范式的新问题7.3 反范式适用场景 8. 巴斯范式9. 第四范式、第五范式和域键范式 1. 范式 在关系型数据库中,关于数据表…

Fedora 32安装Kaldi

网上很多LInux 安装Kaldi的链接,讲的都比较明确,例如: kaldi的编译安装与报错解决方法_extras/check_dependencies.sh extras/check_dependen-CSDN博客保姆级kaldi语音识别(2)Linux系统Ubuntu20.04下开源语音识别工具…

Python---字符串在计算机底层的存储形式---涉及索引下标

一个字符串,在计算机中,是先占用一个空间。 在计算机中,Python中的字符串属于序列结构。所以其底层存储占用一段连续的内存空间。 str1 abcdefg 结构原理图: 注意:索引下标从0开始。 索引下标 索引下标&#xff…