./t20130718_321604_taonews.html
专题
首页  >  专题  >  媒体视点  >  名刊精选  >  《无线电》

《无线电》

开博时间:2016-07-01 14:43:00

1955年创刊,是国内电子科普领域创刊最早、发行量最大的知名杂志,累计发行量超过3亿册,倡导科普、兴趣、实作、分享的办刊理念。

文章数
分享到:

用Arduino打造签到记录器——《无线电》2013.06

2013-07-18 14:59:04

前些天,教我们IC卡应用的老师让我们自己设计一个有关无线射频卡(RFID)的应用,我想起寒假在家时,有亲戚和我说“现在上班都高级了,到了单位还得打卡签到”,这不就是无线射频卡的一个应用吗?于是我就萌生了做一个签到记录器的想法。从买器件到搭电路,再到写程序,断断续续半个月的时间,终于把签到记录器做出来了。在此我写一写制作过程中的一些心得经验。

方案设计

本系统是基于Arduino搭建的签到记录器,主要功能是记录签到人的ID和签到时间,并以TXT文本文件的形式储存到SD卡中。首先来看看我的签到记录器的系统框图吧(见图1)。我用的Arduino版本是UNO,上面的主控芯片为ATmega328,具有32KBROM2KB RAM,足够我折腾了(实际程序全部写完才用了23KB)。再加上Arduino提供了各种库文件,把复杂的底层硬件操作隔离,使编程简单了许多。其实我用Arduino最主要的原因还是因为它有现成的SD库,可以简单实现文件系统,而文件系统正是我最头疼的地方。

 22944

1 签到记录器系统框图

时钟芯片我用的是DS1302,主要是用来获取当前时间。这可能是时钟芯片里最弱的一款了吧?晶体振荡器配不好会影响走时的准确(要用6pF的晶体振荡器,走时才能准确)。我买的这个DS1302模块,走时就偏快,不过它自带电池,所以不用担心断电后时间丢失。

SD卡模块带有SPI接口,用来存储签到人的ID和签到时间。这里,我提醒大家一下,一定要买3.3V/5V I/O口兼容的那种,我就在这上面栽了跟头,一开始买的SD卡模块I/O口不带3.3V/5V电平转换,ArduinoUNOI/O口是5V的,而SD卡是3.3V的,所以直接连接时不能用。一开始我还以为是我的SD卡不兼容,后来换了个3.3V/5V I/O口兼容的SD模块,才能正常读取数据。

射频读卡器我用的是飞利浦的RC522,这个模块在网上比较多,价格也不贵,可读、可写,还可以加密,扩展性比较强,同时也是SPI接口。之前我也在2012年第12期《无线电》杂志上看到过这个芯片的使用方法,所以就选用了它。这里再多说一句,这个模块的I/O口也是3.3V的,所以也要用3.3V/5V I/O口兼容的模块,不过我在网上没找到,无奈之下只好再买个 3.3V/5V I/O口电平转换模块。显示模块我用的是LCD1602,这是最常见的LCD,就不多介绍了。按键用了3个微触按键,用来控制系统切换各种模式和调整数据等。

下面来看看这些模块的合影(见图2)吧,也给大家一个参考。

22945 

2 所有模块

 

未完。。。

全文详见《无线电》2013.06



上一篇:干电池LED应急灯——《无线电》2013.06
下一篇:UFO来了——《无线电》2013.06
©2011-2020 版权所有:中国数字科技馆
未经书面许可任何人不得复制或镜像
京ICP备11000850号 京公网安备110105007388号
信息网络传播视听节目许可证0111611号
国家科技基础条件平台