用leonardo做了个感应卡读卡器,可以通过键盘接口输出RFID的卡号
本帖最后由 艰苦奋斗 于 2015-7-25 19:23 编辑//参考:极客工坊bg1lsy ([email protected])
//修改: chenrj通过键盘接口输出RFID的卡号,可用于刷卡考勤等。
#include <SPI.h>
#include <RFID.h>
#define bee 3 //蜂鸣器接口
/*
RFID -> Arduino UNO
-------------------
3.3V ->3.3V
RST ->D5
GND ->GND
IRQ ->NC
MISI->D12
MOSI->D11
SCK ->D13
SDA ->D10
注意:上面接线方法只适用UNO或跟UNO兼容的硬件SPI接口的板卡,
对LEONARDO这种板,因为SPI接口没接到IO口,上面的接线方法不适用
Leonardo板接法如下:
RFID leonadoICSP接口
-------------------
3.3V ->3.3V
RST -> D5
GND ->ICSP 6脚
IRQ -> NC
MISI->ICSP 1脚
MOSI->ICSP 4脚
SCK ->ICSP 3脚
SDA ->D10
*/
RFID rfid(10,5);//RFID(int chipSelectPin, int NRSTPD); D10 应接RFID读卡器的片选(SDA),D5接复位(RST)脚
void setup()
{
pinMode(bee,OUTPUT);
Serial.begin(9600);
SPI.begin();
rfid.init();
beep();
beep();
beep();
Keyboard.begin();
}
void beep()
{ tone(bee,2000,100); //无源蜂鸣器,2KHz, 100毫秒
}
void loop()
{
//找卡
if (rfid.isCard()) {
Serial.println("Find the card!");
//读取卡序列号
beep();
if (rfid.readCardSerial()) {
Serial.print("The card's number is: ");
Serial.print(rfid.serNum,HEX);
Serial.print(rfid.serNum,HEX);
Serial.print(rfid.serNum,HEX);
Serial.print(rfid.serNum,HEX);
Serial.print(rfid.serNum,HEX);
Serial.println(" ");
Keyboard.print(rfid.serNum,HEX);
Keyboard.print(rfid.serNum,HEX);
Keyboard.print(rfid.serNum,HEX);
Keyboard.print(rfid.serNum,HEX);
Keyboard.print(rfid.serNum,HEX);
Keyboard.print("\n");
}
//选卡,可返回卡容量(锁定卡片,防止多数读取),去掉本行将连续读卡
rfid.selectTag(rfid.serNum);
}
rfid.halt();
}库文件参考下面的贴子:http://www.geek-workshop.com/forum.php?mod=viewthread&tid=4719&highlight=rfid 原来是论坛的发贴器不支持IE11,必须要加到兼容列表里才能看到贴图和贴代码的按钮栏。:o 配个上位机才好玩 lm4766 发表于 2015-7-13 10:32 static/image/common/back.gif
配个上位机才好玩
上位机用ASP写了个远程学生卡注册的模块,结合上面的程序就基本可以正常注册管理无线卡了,下面准备做个学生刷卡考勤系统,用W5100模块直接远程上传考勤记录,看还有谁敢逃我的课。;P 艰苦奋斗 发表于 2015-7-13 18:07 static/image/common/back.gif
上位机用ASP写了个远程学生卡注册的模块,结合上面的程序就基本可以正常注册管理无线卡了,下面准备做个 ...
现在替刷的比较多,怎么防范 板子是兼容板吧 lm4766 发表于 2015-7-14 09:04 static/image/common/back.gif
现在替刷的比较多,怎么防范
我让学生刷的是饭卡,估计一般不会把饭卡让别人刷:D,另外,我准备刷的时候直接返回卡对应的学生信息,发现替刷直接收卡,再请本人到我这来领。 asdfcgdc 发表于 2015-7-14 14:31 static/image/common/back.gif
板子是兼容板吧
都是淘宝买的便宜货,原装正版太贵了,这个只要二十几块钱,非常合算的,自已买零件做估计都不止这价。
想想因为有了TB,国内玩这些电子硬件的真得太幸福了,看一下sparkfun上都是美元计价,随便个小东西都要10几美元,还基本都是中国生产的,比起来,国内的价格跟免费一样。 艰苦奋斗 发表于 2015-7-14 22:29 static/image/common/back.gif
都是淘宝买的便宜货,原装正版太贵了,这个只要二十几块钱,非常合算的,自已买零件做估计都不止这价。
...
我做的话,评估程序需要多少空间,没有用什么很多外设,只有SPI,程序占用空间也不大,一个STM8就干掉,量产的话省很多钱 {:soso_e113:}{:soso_e113:}{:soso_e113:}
页:
[1]