极客工坊

 找回密码
 注册

QQ登录

只需一步,快速开始

楼主: eagler8

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

[复制链接]
 楼主| 发表于 2019-8-29 18:11:20 | 显示全部楼层
  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. }
复制代码
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-8-29 18:28:59 | 显示全部楼层
  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. }
复制代码
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-8-29 19:21:54 | 显示全部楼层


https://v.youku.com/v_show/id_XNDMzNTk0ODE1Ng==.html?spm=a2hzp.8244740.0.0
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-8-29 19:29:26 | 显示全部楼层

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
回复 支持 反对

使用道具 举报

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

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


本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-8-30 09:18:20 | 显示全部楼层
MF RC522
是应用于13.56MHz 非接触式通信中高集成度读写卡系列芯片中的一员。是NXP 公司针对“三表”应用推出的一款低 电压、低成本、体积小的非接触式读写卡芯片,是智能仪表和便携式手持设备研发的较好选择。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-8-30 15:29:10 | 显示全部楼层
本帖最后由 eagler8 于 2019-8-30 15:31 编辑



MF RC522特性
◆高集成度的调制解调电路;
◆采用少量外部器件,即可将输出驱动级接至天线;
◆支持 ISO/IEC 14443 TypeA 和MIFARE&reg;通信协议;
◆ 读写器模式中与 ISO 14443A/MIFARE&reg;的通信距离高达50mm,取决于天线的长度和调谐。
◆支持 ISO 14443 212kbit/s 和424kbit/s 的更高传输速率的通信。
◆支持 MIFARE&reg; Classic 加密;
◆支持的主机接口:
-10Mbit/s 的SPI 接口
-I2C 接口,快速模式的速率为400kbit/s,高速模式的速率为3400kbit/s
-串行UART,传输速率高达1228.8kbit/s,帧取决于RS232 接口,电压电平取决于提供的管脚电压
◆64 字节的发送和接收FIFO 缓冲区;
◆灵活的中断模式;
◆可编程定时器。
◆具备硬件掉电、软件掉电和发送器掉电 3 种节电模式,前两种模式雷同于MFRC500 和 CL RC400,其特有的“发送器掉电”则可关闭内部天线驱动器,即关闭RF 场;
◆内置温度传感器,以便在芯片温度过高时自动停止 RF 发射;
◆采用相互独立的多组电源供电,以避免模块间的相互干扰,提高工作的稳定性;
◆具备 CRC 和奇偶校验功能,CRC 协处理器的16 位长CRC 计算多项式固定为:x16+x12+x5+1,符合ISO/1EC14443 和CCTITT 协议;
◆内部振荡器,连接 27.12MHz 的晶体;
◆2.5~3.3V 的低电压低功耗设计;
◆工作温度范围-30~+85℃;
◆5mm×5mm×0.85mm 的超小体积。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-8-30 15:45:55 | 显示全部楼层

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

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-8-30 15:57:48 | 显示全部楼层

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

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-8-30 16:02:05 | 显示全部楼层

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-8-30 17:23:46 | 显示全部楼层

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-8-30 17:49:58 | 显示全部楼层


本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-8-30 18:30:32 | 显示全部楼层
本帖最后由 eagler8 于 2019-8-30 18:32 编辑



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

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

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

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-8-30 19:08:44 | 显示全部楼层


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
◇ 应用范围:  企业/校园一卡通、公交储值卡、高速公路收费、停车场、小区管理等

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-8-30 19:12:28 | 显示全部楼层
实验原理
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。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
回复 支持 反对

使用道具 举报

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

本版积分规则

Archiver|联系我们|极客工坊

GMT+8, 2026-6-5 17:59 , Processed in 0.038792 second(s), 16 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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