我花32做了个IC卡读写器,能读取各种卡
为了少带几张卡,做了一个万能卡片,也是IC卡复制器(读写器)。
DIY成本:加外壳42元,不加外壳32元。
使用STM32L0和RC522设计。
本文主要分享其——设计原理、硬件说明、软件说明、使用说明、设计图。
设计原理说明
选择RC522进行设计是因为它支持ISO/IEC 14443A/ MIFARE。
支持读写卡模式,但是不支持卡模拟模式,所以本设计外置了一张UID卡,加上使能,实现卡模拟模式。
功能框图,IC卡信息分区图如下所示。
NFC模块通过RC522读取外部IC卡的卡号,即0扇区0区块的数据,然后存储至STM32L051内部的EEPROM中。
滑动开关控制内部UID卡的线圈的开合,即加入了使能功能,通过NFC模块,将存储在EEPROM的卡号信息写入UID卡中,即实现了卡片复制功能。
一般来说,复制0扇区0区块的信息就足够了。
比如门禁卡,校园卡,水卡这些都是识别卡的0扇区0区块的卡号信息的。
硬件说明
系统的硬件总体框图如下图所示。
- 主控:使用STM32L051K8U6
- 电池供电:使用TPS63020设计,也可以用可充电的ML1220
- 显示:使用1.54寸200*200墨水屏。
- 卡片信息存储:全部存在MCU内部的EEPROM里。
- RC522支持ISO 14443,本设计只使用了一张UID卡和RC522共同实现了卡模拟模式。
- 在PCB中,滑动按键下面的过孔,是用来焊接线圈的。
软件说明
代码和电路设计都有两个版本:
- 一个是正常的带墨水屏的版本;
- 一个是适配LP板子,去掉墨水屏换成LED的低功耗版本。
两个版本均已开源。
需要注意的是:
如果需要改水墨屏显示图片,直接使用图片转模即可,这里可以使用Image2Lcd,设置如下所示
在.\BSP\EPaper文件中的ImageData.c中,更改gImage数组即可,如下所示
使用说明
注意:请在上电前就切换好模式,请勿在通电时滑动开关切换模式!
1.按下按键上电,松开断电。
2.上电后通过拨轮开关上下滑动,可以切换选择(即切换卡片)。
3.通过滑动开关切换模式:
- 滑到左边是复制模式,上电后可以复制外部卡片。
- 滑到右边是卡模拟模式,断电后仍然可以刷卡。
通电时,请勿切换模式。
注意:千万别复制别人的卡,只许复制自己的卡,做好公民!
电路设计图
参考资料:
[1]https://oshwhub.com/no_chicken/mo-neng-ka-pian-OV-Card
— 完 —
嘉立创EDA·头条号
关注我,看一手优质开源项目
请先 后发表评论~