找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
楼主: eagler8
打印 上一主题 下一主题
收起左侧

【Arduino】108种传感器模块系列实验(资料+代码+图形+仿真)

  [复制链接]
1961#
ID:513258 发表于 2019-8-27 12:27 | 只看该作者

回复

使用道具 举报

1962#
ID:513258 发表于 2019-8-27 12:30 | 只看该作者
模块特点:
使用条件:苹果手机限定:4S及以上型号,系统版本iOS6及以上
安卓手机限定:系统为4.3版本及以上,手机蓝牙版本为4.0。
1、核心模块使用BT05从模块,引出接口包括VCC,GND,TXD,RXD,STATE。预留LED状态输出脚,单片机可通过该脚状态判断蓝牙是否已经连接,

2、LED指示蓝牙连接状态,闪烁表示没有蓝牙连接,常亮表示蓝牙已连接并打开了端口,STATE脚输出高电平为已连接,其他状态为低电平。

3、设置模块为主模式:模块已经为软件设置主从模块,通过串口发送AT+ROLE1(回车或者加\r\n),返回OK,则表示设置成功,此时模块LED灯进入快闪。主模块连接从模块需要通过AT指令进行连接(详情请参照BT05 AT指令集)。

4、底板3.3V LDO,输入电压3.6~6V,输入电压禁止超过7V!

5、接口电平3.3V,可以直接连接各种单片机(51,AVR,PIC,ARM,MSP430等),5V单片机也可直接连接,无需MAX232也不能经过MAX232!

6、空旷地有效距离7-10米,超过10米也是可能的,但不对此距离的连接质量做保证

7、配对以后当全双工串口使用,无需了解任何蓝牙协议,但仅支持8位数据位、1位停止位、无奇偶校验的通信格式,这也是最常用的通信格式,不支持其他格式。

8、在未建立蓝牙连接时支持通过AT指令设置波特率、名称、配对密码,设置的参数掉电保存。蓝牙连接以后自动切换到透传模式

9、体积小巧(3.57cm*1.52cm),工厂贴片生产,保证贴片质量。并套透明热缩管,防尘美观,且有一定的防静电能力。

10、该链接为从机,从机能与各种带蓝牙功能的电脑、蓝牙主机、大部分带蓝牙的手机、PDA、PSP等智能终端配对,从机之间不能配对。



回复

使用道具 举报

1963#
ID:513258 发表于 2019-8-27 12:32 | 只看该作者




小常识(非常重要)
TXD:发送端,一般表示为自己的发送端,正常通信必须接另一个设备的RXD。
RXD:接收端,一般表示为自己的接收端,正常通信必须接另一个设备的TXD。
正常通信时候本身的TXD永远接设备的RXD!
自收自发:正常通信时RXD接其他设备的TXD,因此如果要接收自己发送的数据顾名思义,也就是自己接收自己发送的数据,即自身的TXD直接连接到RXD,用来测试本身的发送和接收是否正常,是最快最简单的测试方法,当出现问题时首先做该测试确定是否产品故障。也称回环测试

回复

使用道具 举报

1964#
ID:513258 发表于 2019-8-27 13:16 | 只看该作者


输入电压:3.3V/5V   只需要一组电源供电。
内置电平转换功能。
如果用5.0V MCU与蓝牙模块通讯,5.0V电源端口供电,RX TX 逻辑电平5V
如果用3.3V MCU与蓝牙模块通讯,3.3V电源端口供电,RX TX 逻辑电平3.3V
RX,蓝牙模块串口接收端与MCU的TXD连接。
TX,蓝牙模块串口发送端与MCU的RXD连接。
GND,地端电源负极
3.3V,电源端3.3V电源
5V,电源端5V电源

回复

使用道具 举报

1965#
ID:513258 发表于 2019-8-27 13:18 | 只看该作者


注意事项LAYOUT
MLT-BT05 4.0 蓝牙模块工作在 2.4G 无线频段,应尽量避免各种因素对无线收发
的影响,注意以下几点:
1、包围蓝牙模块的产品外壳避免使用金属,当使用部分金属外壳时,应尽量让
模块天线部分远离金属部分。
2、产品内部金属连接线或者金属螺钉,应尽量远离模块天线部分。
3、模块天线部分应靠载板 PCB 四围放置,不允许放置于板中,且天线下方载
板铣空,与天线平行的方向,不允许铺铜或走线。直接把天线部分直接露出
载板,也是比较好的选择。
4、模块下方尽量铺大片 GND,走线尽量往外围延伸。
5、建议在基板上的模块贴装位置使用绝缘材料进行隔离,例如在该位置放一个
整块的丝印(TopOverLay)。

回复

使用道具 举报

1966#
ID:513258 发表于 2019-8-27 14:24 | 只看该作者

蓝牙4.0BLE
蓝牙发展至今经历了8个版本的更新,1.1、1.2、2.0、2.1、3.0、4.0、4.1、4.2。那么在1.x~3.0之间的我们称之为传统蓝牙,4.x开始的蓝牙我们称之为低功耗蓝牙也就是蓝牙ble,当然4.x版本的蓝牙也是向下兼容的。android手机必须系统版本4.3及以上才支持BLE API。低功耗蓝牙较传统蓝牙,传输速度更快,覆盖范围更广,安全性更高,延迟更短,耗电极低等等优点。(现在的穿戴设备都是使用BLE蓝牙技术的)
传统蓝牙与低功耗蓝牙通信方式也有所不同,传统的一般通过socket方式,而低功耗蓝牙是通过Gatt协议来实现。

主要优点
低功耗,使用标准有机电池,可运行一年乃至数年,成本低,可以完全实现兼容,速度支持1M的数据传输,可以最大程度的减少4G的串扰,更加智能,最大可以在3毫秒内完成数据的传输,安全性采用加密算法,会有数据包的加密和认证。所以蓝牙4.0的优点就是3种规格于一体,包括传统蓝牙的技术,与3.0的版本最大的区别就是功耗更低了,4.0的版本比老版本的功耗低了90%,随着蓝牙技术由手机,游戏,电脑,汽车等传统领域向物联网,医疗等新领域的发展,对用户的要求也就会越来越高,4.0的版本强化了数据传输的技术,又更注重了低功耗的性能。

回复

使用道具 举报

1967#
ID:513258 发表于 2019-8-27 14:48 | 只看该作者





回复

使用道具 举报

1968#
ID:513258 发表于 2019-8-27 15:20 | 只看该作者
  1. /*
  2. 【Arduino】108种传感器模块系列实验(资料+代码+图形+仿真)
  3. 实验一百: AT-09蓝牙4.0BLE模块 串口引出 CC2541兼容HM-10 (BT05)
  4. 1、实验项目:Arduino 调试源代码
  5. 2、实验接脚:
  6. TXD = D0
  7. RXD = D1
  8. GND = GND
  9. VCC = 3.3V
  10. */

  11. void setup()
  12. {
  13. Serial.begin(9600);
  14. }

  15. void loop()
  16. {
  17.   while(Serial.available())
  18.    {
  19.      char c=Serial.read();
  20.       if(c=='A')
  21.         {
  22.           Serial.println("Hello I am eagler8");
  23.         }
  24.    }
  25. }
复制代码


回复

使用道具 举报

1969#
ID:513258 发表于 2019-8-27 15:22 | 只看该作者

回复

使用道具 举报

1970#
ID:513258 发表于 2019-8-27 19:59 | 只看该作者

回复

使用道具 举报

1971#
ID:513258 发表于 2019-8-28 15:47 | 只看该作者

回复

使用道具 举报

1972#
ID:513258 发表于 2019-8-28 15:49 | 只看该作者




回复

使用道具 举报

1973#
ID:513258 发表于 2019-8-28 15:51 | 只看该作者



回复

使用道具 举报

1974#
ID:513258 发表于 2019-8-28 19:18 | 只看该作者
  1. /*
  2. 【Arduino】108种传感器模块系列实验(资料+代码+图形+仿真)
  3. 实验一百: AT-09蓝牙4.0BLE模块 串口引出 CC2541兼容HM-10 (BT05)
  4. 1、实验项目:通过BLE蓝牙模块与Arduino通信控制LED
  5. 2、实验接脚:
  6. CC2541模块与Uno:
  7. VCC——3.3V
  8. GND——GND
  9. TXD——RX
  10. RXD——TX
  11. */

  12. #include <SoftwareSerial.h>

  13. char c=' ';
  14. const byte led=13;

  15. void setup() {
  16.   Serial.begin(9600);
  17.   Serial.println("BT is ready!");
  18.   pinMode(led, OUTPUT);
  19. }

  20. void loop()
  21. {
  22.   if(Serial.available())
  23.   {

  24.       c=Serial.read();
  25.       Serial.println("Got input:");
  26.       Serial.println(c);

  27. //1的ASCII为49,0的ASCII为48
  28.       if(c==49)
  29.       {
  30.         Serial.write("Serial--13--high");
  31.         digitalWrite(13, HIGH);
  32.       }
  33.       if(c==48)
  34.      {
  35.        Serial.write("Serial--13--low");
  36.        digitalWrite(13, LOW);
  37.      }
  38.   }
  39. }
复制代码


回复

使用道具 举报

1975#
ID:513258 发表于 2019-8-28 19:20 | 只看该作者

回复

使用道具 举报

1976#
ID:513258 发表于 2019-8-29 14:58 | 只看该作者
回复

使用道具 举报

1977#
ID:513258 发表于 2019-8-29 15:27 | 只看该作者
37款传感器与模块的提法,在网络上广泛流传,其实Arduino能够兼容的传感器模块肯定是不止37种的。鉴于本人手头积累了一些传感器和模块,依照实践出真知(一定要动手做)的理念,以学习和交流为目的,这里准备逐一动手试试做实验,不管成功与否,都会记录下来---小小的进步或是搞不定的问题,希望能够抛砖引玉。

实验一百零一: 10段LED发光条MT102510AG数码显示光柱模块





回复

使用道具 举报

1978#
ID:513258 发表于 2019-8-29 15:32 | 只看该作者



10段光条数码管红色20个脚,外形尺寸:25.10x10.10x7.9mm,一面脚为正极一面为负极,超亮红色光条,10个笔段可以单独控制
回复

使用道具 举报

1979#
ID:513258 发表于 2019-8-29 16:09 | 只看该作者

回复

使用道具 举报

1980#
ID:513258 发表于 2019-8-29 16:19 | 只看该作者


模块特性
*能在低电压、小电流条件下驱动发光;
*发光响应时间极短(<0.1μs),高频特性好,单色性好,亮度高;
*体积小,重量轻,抗冲击性能好。固态封装,封装方式为灌胶型,稳定性高;
*寿命长,使用寿命在5万小时以上;
*可连续扫描驱动各灯段;
*良好的显示效果、视角宽;
*推荐恒流使用,恒压会出现亮度不均匀现象;
*表面有保护膜的产品,可以在使用前撕下来;
*使用温度:-30℃至65℃;

回复

使用道具 举报

1981#
ID:513258 发表于 2019-8-29 16:32 | 只看该作者

回复

使用道具 举报

1982#
ID:513258 发表于 2019-8-29 16:35 | 只看该作者




回复

使用道具 举报

1983#
ID:513258 发表于 2019-8-29 16:38 | 只看该作者
注意事项(防止死灯现象):
*焊接温度:260℃停留时间最长5秒;
*焊接烙铁必须接地良好;
*每个LED的正常驱动电流为1~8mA,12mA为极限电流,超过10mA不能长时间工作



回复

使用道具 举报

1984#
ID:513258 发表于 2019-8-29 17:44 | 只看该作者
  1. /*
  2. 【Arduino】108种传感器模块系列实验(资料+代码+图形+仿真)
  3. 实验一百零一:10段LED发光条MT102510AG数码显示光柱模块
  4. 1、项目一:10段红色数码光条,逐条点亮逐条熄灭
  5. 2、接脚(2、3、4、5、6、7、8、9、10、11)
  6. */

  7. int BASE = 2 ;
  8. int NUM = 10;  

  9. void setup()
  10. {
  11.    for (int i = BASE; i < BASE + NUM; i ++)
  12.    {
  13.      pinMode(i, OUTPUT);   
  14.    }
  15. }

  16. void loop()
  17. {
  18.    for (int i = BASE; i < BASE + NUM; i ++)
  19.    {
  20.      digitalWrite(i, LOW);   
  21.      delay(200);        
  22.    }
  23.    for (int i = BASE; i < BASE + NUM; i ++)
  24.    {
  25.      digitalWrite(i, HIGH);   
  26.      delay(200);        
  27.    }  
  28. }
复制代码


回复

使用道具 举报

1985#
ID:513258 发表于 2019-8-29 17:50 | 只看该作者

回复

使用道具 举报

1986#
ID:513258 发表于 2019-8-29 18:10 | 只看该作者
  1. /*
  2. 【Arduino】108种传感器模块系列实验(资料+代码+图形+仿真)
  3. 实验一百零一:10段LED发光条MT102510AG数码显示光柱模块
  4. 1、程序之二,流水灯效果:全灭的灯逐个往一边点亮,再逐
  5. 个往开始端灭掉,循环即可,当然也可以其它效果,可自己设定
  6. 2、接脚(2、3、4、5、6、7、8、9、10、11)
  7. */

  8. int led1 = 2;
  9. int led2 = 3;
  10. int led3 = 4;
  11. int led4 = 5;
  12. int led5 = 6;
  13. int led6 = 7;
  14. int led7 = 8;
  15. int led8 = 9;
  16. int led9 = 10;
  17. int led10 = 11;

  18. int i;

  19. void setup() {
  20. for (i = 2; i < 12; i++)
  21. {
  22. pinMode(i, OUTPUT);
  23. }
  24. }

  25. void loop() {
  26. for (i = 1; i < 12; i++)
  27. {
  28. digitalWrite(i, HIGH);
  29. delay(50);

  30. } for (i = 12; i > 1; i--)
  31. {
  32. digitalWrite(i, LOW);
  33. delay(50);
  34. }
  35. }
复制代码


回复

使用道具 举报

1987#
ID:513258 发表于 2019-8-29 18:28 | 只看该作者
  1. /*
  2. 【Arduino】108种传感器模块系列实验(资料+代码+图形+仿真)
  3. 实验一百零一:10段LED发光条MT102510AG数码显示光柱模块
  4. 1、程序之三,控制多个LED实现多种闪烁效果
  5. 2、接脚(2、3、4、5、6、7、8、9、10、11)
  6. */

  7. int led1 = 2;
  8. int led2 = 3;
  9. int led3 = 4;
  10. int led4 = 5;
  11. int led5 = 6;
  12. int led6 = 7;
  13. int led7 = 8;
  14. int led8 = 9;
  15. int led9 = 10;
  16. int led10 = 11;

  17. int n;

  18. void setup()
  19. {
  20. for(n=2;n<=11;n++)
  21. {
  22.   pinMode(n, OUTPUT);  
  23. }
  24. }

  25. void loop()
  26. {
  27.   turn1();
  28.   clean();
  29.   turn2();
  30.   clean();
  31.   turn3();
  32.   clean();
  33. }

  34. void turn1()
  35. {
  36.   for(n=2;n<=11;n++)
  37. {
  38.     digitalWrite(n,HIGH);
  39.     delay(300);
  40. }
  41.   for(n=2;n<=11;n++)
  42. {
  43.     digitalWrite(n,LOW);
  44.     delay(300);
  45. }
  46. }

  47. void turn2()
  48. { for(int x=0;x<=2;x++)
  49. {
  50.   for(n=2;n<=11;n++)
  51. {
  52.     digitalWrite(n,HIGH);   
  53. }
  54. delay(300);
  55.   for(n=2;n<=11;n++)
  56. {
  57.     digitalWrite(n,LOW);
  58. }
  59. delay(300);
  60. }
  61. }

  62. void turn3()
  63. {
  64.   for(int x=0;x<=2;x++)
  65.   {
  66.   digitalWrite(2,HIGH);
  67.   digitalWrite(3,HIGH);
  68.   for(n=4;n<=11;n++){
  69.     digitalWrite(n,LOW);
  70.   }
  71.   
  72.   delay(300);
  73.   digitalWrite(6,HIGH);
  74.   digitalWrite(7,HIGH);
  75.   digitalWrite(2,LOW);
  76.   digitalWrite(3,LOW);
  77.   digitalWrite(4,LOW);
  78.   digitalWrite(5,LOW);
  79.   digitalWrite(8,LOW);
  80.   digitalWrite(9,LOW);
  81.   digitalWrite(10,LOW);
  82.   digitalWrite(11,LOW);
  83.   delay(300);
  84.   digitalWrite(10,HIGH);
  85.   digitalWrite(11,HIGH);
  86.   for(n=2;n<=9;n++){
  87.     digitalWrite(n,LOW);
  88.   }
  89.   delay(300);
  90. }
  91. }

  92. void clean()
  93. {  for(n=2;n<=11;n++)
  94. {
  95.     digitalWrite(n,LOW);   
  96. }
  97. delay(300);
  98. }
复制代码


回复

使用道具 举报

1988#
ID:513258 发表于 2019-8-29 19:19 | 只看该作者
回复

使用道具 举报

1989#
ID:513258 发表于 2019-8-29 19:27 | 只看该作者

回复

使用道具 举报

1990#
ID:513258 发表于 2019-8-30 09:02 | 只看该作者
37款传感器与模块的提法,在网络上广泛流传,其实Arduino能够兼容的传感器模块肯定是不止37种的。鉴于本人手头积累了一些传感器和模块,依照实践出真知(一定要动手做)的理念,以学习和交流为目的,这里准备逐一动手试试做实验,不管成功与否,都会记录下来---小小的进步或是搞不定的问题,希望能够抛砖引玉。

实验一百零二:MFRC-522 RC522 RFID射频 IC卡感应模块读卡器S50复旦卡钥匙扣模组




回复

使用道具 举报

1991#
ID:513258 发表于 2019-8-30 09:17 | 只看该作者
MF RC522
是应用于13.56MHz 非接触式通信中高集成度读写卡系列芯片中的一员。是NXP 公司针对“三表”应用推出的一款低 电压、低成本、体积小的非接触式读写卡芯片,是智能仪表和便携式手持设备研发的较好选择。



回复

使用道具 举报

1992#
ID:513258 发表于 2019-8-30 15:28 | 只看该作者


MFRC522是一个高度集成的读取器/写入器IC,适用于非接触式通信
在13.56MHz 。该MFRC522读卡器支持ISO / IEC 14443 A / MIFARE模式。
该MFRC522的内部发射器能够驱动一个读/写器天线设计
符合ISO / IEC 14443 A / MIFARE卡和转发器,无需额外通信
有源电路。接收器模块提供了一个强大而英法fi cient实现
从ISO / IEC解调和解码信号14443 A / MIFARE兼容卡
转发器。数字模块管理的完整的ISO / IEC 14443 A和取景
错误检测(奇偶和CRC )功能。
该MFRC522支持MF1xxS20 , MF1xxS70和MF1xxS50产品。该MFRC522
支持非接触式通信,并使用MIFARE更高的传输速度高达
848 kBd的两个方向。
提供了下面的主机接口:
•串行外设接口(SPI )
•串行UART (类似与RS232电平依赖于引脚电压源)
•I2C- BUS接口


回复

使用道具 举报

1993#
ID:513258 发表于 2019-8-30 15:44 | 只看该作者
特点和优势
高度集成的模拟电路来解调和解码的响应
缓冲的输出驱动器,用于连接一个天线的最小数量
外部元件
支持ISO / IEC 14443 A / MIFARE
典型操作距离在读/写模式下可达至50mm视
天线的尺寸和调整
支持MF1xxS20 , MF1xxS70和MF1xxS50在读/写模式加密
支持ISO / IEC 14443高达848 kBd的更高传输速度的通信
支持MFIN / MFOUT
额外的内部电源IC智能卡,通过MFIN / MFOUT连接
支持的主机接口


回复

使用道具 举报

1994#
ID:513258 发表于 2019-8-30 15:57 | 只看该作者

MF522-AN模块采用Philips MFRC522原装芯片设计读卡电路,使用方便,成本低廉,适用于设备开发、读卡器开发等高级应用的用户、需要进行射频卡终端设计/生产的用户。本模块可直接装入各种读卡器模具。模块采用电压为3.3V,通过SPI接口简单的几条线就可以直接与用户任何CPU主板相连接通信,可以保证模块稳定可靠的工作、读卡距离远;

【电气参数简介】

工作电流:13—26mA/直流3.3V
空闲电流:10-13mA/直流3.3V
休眠电流:<80uA
峰值电流:<30mA
工作频率:13.56MHz

支持的卡类型:mifare1 S50、mifare1 S70、mifare UltraLight、mifare Pro、mifare Desfire
产品物理特性:尺寸:40mm×60mm
环境工作温度:摄氏-20—80度
环境储存温度:摄氏-40—85度
环境相对湿度:相对湿度5%—95%

【模块接口SPI参数】
数据传输速率:最大10Mbit/s

回复

使用道具 举报

1995#
ID:513258 发表于 2019-8-30 16:01 | 只看该作者



回复

使用道具 举报

1996#
ID:513258 发表于 2019-8-30 17:22 | 只看该作者

回复

使用道具 举报

1997#
ID:513258 发表于 2019-8-30 17:49 | 只看该作者
模块电原理图




回复

使用道具 举报

1998#
ID:513258 发表于 2019-8-30 18:29 | 只看该作者


射频卡
非接触式IC卡又称射频卡,由IC芯片、感应天线组成,封装在一个标准的PVC卡片内,芯片及天线无任何外露部分。是世界上最近几年发展起来的一项新技术,它成功的将射频识别技术和IC卡技术结合起来,结束了无源(卡中无电源)和免接触这一难题,是电子器件领域的一大突破。卡片在一定距离范围(通常为5—10cm)靠近读写器表面,通过无线电波的传递来完成数据的读写操作。

工作原理
射频读写器向IC卡发一组固定频率的电磁波,卡片内有一个LC串联谐振电路,其频率与读写器发射的频率相同,这样在电磁波激励下,LC谐振电路产生共振,从而使电容内有了电荷;在这个电荷的另一端,接有一个单向导通的电子泵,将电容内的电荷送到另一个电容内存储,当所积累的电荷达到2V时,此电容可作为电源为其它电路提供工作电压,将卡内数据发射出去或接受读写器的数据。

发射原理
非接触性IC卡与读卡器之间通过无线电波来完成读写操作。二者之间的通讯频率为13.56MHZ。非接触性IC卡本身是无源卡,当读写器对卡进行读写操作时,读写器发出的信号由两部分叠加组成:一部分是电源信号,该信号由卡接收后,与本身的L/C产生一个瞬间能量来供给芯片工作。另一部分则是指令和数据信号,指挥芯片完成数据的读取、修改、储存等,并返回信号给读写器,完成一次读写操作。读写器则一般由单片机,专用智能模块和天线组成,并配有与PC的通讯接口,打印口,I/O口等,以便应用于不同的领域。

回复

使用道具 举报

1999#
ID:513258 发表于 2019-8-30 19:07 | 只看该作者

Miafre 1 s50 感应式IC卡
◇ 芯    片:    Philips Mifare 1 S50
◇ 存储容量:  8Kbit ,16个分区,每分区两组密码
◇ 工作频率:  13.56MHZ
◇ 通讯速度:  106Kboud
◇ 读写距离:  2.5—10CM
◇ 读写时间:  1-2MS
◇ 工作温度:  -20℃-85℃
◇ 擦写次数:  >100000次
◇ 数据保存:  >10年
◇ 规  格:  0.87×85.5×54/ 非标卡
◇ 封装材料:  PVC、PET、0.13铜钱
◇ 封装工艺:  超声波自动植线/自动碰焊
◇ 制作标准:  ISO 14443, ISO 10536
◇ 应用范围:  企业/校园一卡通、公交储值卡、高速公路收费、停车场、小区管理等


回复

使用道具 举报

2000#
ID:513258 发表于 2019-8-30 19:11 | 只看该作者
实验原理
RFID系统组成
RFID 技术利用无线射频方式在阅读器和射频卡之间进行非接触双向数据传输,以达到目标识别和数据交换的目的。最基本的 RFID 系统由三部分组成:
1. 标签(Tag,即射频卡):由耦合元件及芯片组成,标签含有内置天线,用于和射频天线间进行通信。
2. 阅读器:读取(在读写卡中还可以写入)标签信息的设备。
3. 天线:在标签和读取器间传递射频信号。

工作原理
MCU通过对读卡器芯片内寄存器的读写来控制读卡器芯片,读卡器芯片收到MCU发来的命令后,按照非接触式射频卡协议格式,通过天线及其匹配电路向附近发出一组固定频率的调制信号(13.56 MHz)进行寻卡,若此范围内有卡片存在,卡片内部的LC谐振电路(谐振频率与读卡器发送的电磁波频率相同)在电磁波的激励下,产生共振,在卡片内部电压泵的作用下不断为其另一端的电容充电,获得能量,当该电容电压达到2 V时,即可作为电源为卡片的其他电路提供工作电压。 当有卡片处在读卡器的有效工作范围内时,MCU向卡片发出寻卡命令,卡片将回复卡片类型,建立卡片与读卡器的第一步联系,若同时有多张卡片在天线的工作范围内,读卡器通过启动防冲撞机制,根据卡片序列号来选定一张卡片,被选中的卡片再与读卡器进行密码校验,确保读卡器对卡片有操作权限以及卡片的合法性,而未被选中的则仍然处在闲置状态,等待下一次寻卡命令。密码验证通过之后,就可以对卡片进行读写等应用操作。

RC522模块
模块的射频读写芯片应该是飞利浦的 MF RC522,在上一篇文章我应该已经附上了英文和中文的手册。MF RC522提供了3种接口模式:高达10 Mb/s的SPI、I2C总线模式(快速模式下能达400 kb/s,而高速模式下能达3.4 Mb/s)、最高达1228.8 kb/s的UART模式。买来的模块采用了第一种模式——四线制SPI,通信中的时钟信号由 Arduino 产生,MF RC522芯片设置为从机模式,接收来自 Arduino 的数据以设置寄存器,并负责射频接口通信中相关数据的收发。数据的传输路径为:Arduino 通过 MOSI 线将数据发到 MF RC522,MF RC522 通过 MISO 线发回至 Arduino。




回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表