店铺公告
本店存在书、古旧书、收藏书、二手书等特殊商品,因受采购成本限制,可能高于定价销售,明码标价,介意者勿拍!
1.书籍因稀缺可能导致售价高于定价,图书实际定价参见下方详情内基本信息,请买家看清楚且明确后再拍,避免价格争议!
2.店铺无纸质均开具电子,请联系客服开具电子版
内容介绍
暂时没有内容介绍,请见谅!
目录
暂时没有目录
关联推荐
关联推荐
本书是为了对自动机器人感兴趣,却苦于没有足够知识、经验与技术开发设计的读者编写的。本书配有浅显易懂的图文解说,只要按图操作就能快速入门。本书除了介绍软硬件知识与所需的基本电路原理外,还涵盖大多数机器人自动小车的控制范例,如使用红外线循迹模块、RFID模块、超音波模块、红外线遥控器、十字摇杆模块、手机触控、手势操控等控制方式,并通过红外线、RF、XBee、蓝牙、Wi-Fi等无线通信控制机器人自动小车,另附有组装参考解说,是非常全面的实战经典。
在线试读
在线试读
第11章 RFID导航自动机器人实习 11-1 认识声音11-2 认识RFID11-3 认识RFID模块11-4 认识RFID导航自动机器人11-5 读取RFID标签序号11-6 制作RFID导航自动机器人 11-1 认识声音声音是Y种波动,声音的振动会引起空气分子有节奏的振动,使周围的空气产生疏密变化,形成疏密相间的纵波,因而产生了声波。人耳可以听到的声音频率范围在20Hz~20kHz之间。如图11-1所示为常用的声音输出设备蜂鸣器(buzzer)和扬声器(loudspeaker)。如图11-1(a)所示的蜂鸣器可以分为有源蜂鸣器和无源蜂鸣器两种,有源又称为自激式,内含驱动电路,必须加直流电压,而且只能产生单Y固定频率的声音输出。无源又称为他激式(或被激式),没有内部驱动电路,不同频率的交流信号可以产生不同频率的声音输出。如图11-1(b)所示的扬声器也称为喇叭,输出功率比蜂鸣器大,音质也较蜂鸣器好,但价格较高。 (a) 蜂鸣器 (b) 扬声器 图11-1 声音输出设备图11-2所示为声音信号,图11-2(a)所示是正弦波为组成声音的基本波形,声音的音量与其振幅Vm成正比;声音的音调与其周期T成反比;声音的发音长度与其输出时间长度成正比。在数字电路中经常使用图11-2(b)所示的方波来模拟正弦波,方波是由奇次谐波(harmonic)所组成的,奇次谐波频率为基本波频率的奇数倍,奇次谐波的数量越多,波形越接近方波。因数字电路带宽有限,只能以有限带宽来合成方波。 (a) 正弦波 (b) 方波 图11-2 声音信号11-2 认识RFID射频识别(Radio Frequency IDentification,RFID)又称为电子标签,是Y种通信技术。RFID系统包含天线(antenna或coil)、读取器(reader)和RFID标签(Tag)3个部分。RFID的工作原理是利用传感器发射无线电波,去触发感应范围内的RFID标签。RFID标签借助电磁感应产生电流,来驱动RFID标签上的IC芯片的运行,并且利用电磁波返回RFID标签序号。RFID是Y种非接触式、短距离的自动识别技术,RFID读取器识别RFID标签完成后,会将数据传到系统端进行追踪、统计、核查、结账、存货控制等处理。RFID技术被广泛运用于各种行业中,如门禁管理、货物管理、防盗应用、联合票Z、动物监控追踪、仓储物料管理、医疗病历系统、卖场自动结账、自动控制、员工身份识别、生产流程追踪、高速公路自动收费系统等。RFID具有小型化、多样化、可穿透性、可重复使用、高环境适应性等优点。表11-1所示为RFID的频率范围,可分为低频(LF)、高频(HF)、超高频(UHF)和微波4种。低频RFID主要应用于门禁管理,高频RFID主要应用于智能卡,而超高频RFID不开放,主要应用于卡车或拖车追踪等,微波RFID则应用于高速公路电子收费系统(Electronic Toll Collection,ETC)。超高频RFID和微波RFID采用主动式标签,通信距离Z长可达10~50米。表11-1 RFID的频率范围频段命名 频段 常用频率 通信距离 传输速度 标签价格 主要应用低频 9~150kHz 125kHz 小于等于10cm 低速 0.2元 门禁管理高频 1~300MHz 13.56MHz 小于等于10cm 低中速 0.1元 智能卡超高频 300~1200MHz 433MHz 大于等于1.5m 中速 1元 卡车追踪微波 2.45~5.80GHz 2.45GHz 大于等于1.5m 高速 5元 ETC第11章 RFID导航自动机器人实习
11-1 认识声音11-2 认识RFID11-3 认识RFID模块11-4 认识RFID导航自动机器人11-5 读取RFID标签序号11-6 制作RFID导航自动机器人
11-1 认识声音声音是Y种波动,声音的振动会引起空气分子有节奏的振动,使周围的空气产生疏密变化,形成疏密相间的纵波,因而产生了声波。人耳可以听到的声音频率范围在20Hz~20kHz之间。如图11-1所示为常用的声音输出设备蜂鸣器(buzzer)和扬声器(loudspeaker)。如图11-1(a)所示的蜂鸣器可以分为有源蜂鸣器和无源蜂鸣器两种,有源又称为自激式,内含驱动电路,必须加直流电压,而且只能产生单Y固定频率的声音输出。无源又称为他激式(或被激式),没有内部驱动电路,不同频率的交流信号可以产生不同频率的声音输出。如图11-1(b)所示的扬声器也称为喇叭,输出功率比蜂鸣器大,音质也较蜂鸣器好,但价格较高。 (a) 蜂鸣器 (b) 扬声器
图11-1 声音输出设备图11-2所示为声音信号,图11-2(a)所示是正弦波为组成声音的基本波形,声音的音量与其振幅Vm成正比;声音的音调与其周期T成反比;声音的发音长度与其输出时间长度成正比。在数字电路中经常使用图11-2(b)所示的方波来模拟正弦波,方波是由奇次谐波(harmonic)所组成的,奇次谐波频率为基本波频率的奇数倍,奇次谐波的数量越多,波形越接近方波。因数字电路带宽有限,只能以有限带宽来合成方波。 (a) 正弦波 (b) 方波
图11-2 声音信号11-2 认识RFID射频识别(Radio Frequency IDentification,RFID)又称为电子标签,是Y种通信技术。RFID系统包含天线(antenna或coil)、读取器(reader)和RFID标签(Tag)3个部分。RFID的工作原理是利用传感器发射无线电波,去触发感应范围内的RFID标签。RFID标签借助电磁感应产生电流,来驱动RFID标签上的IC芯片的运行,并且利用电磁波返回RFID标签序号。RFID是Y种非接触式、短距离的自动识别技术,RFID读取器识别RFID标签完成后,会将数据传到系统端进行追踪、统计、核查、结账、存货控制等处理。RFID技术被广泛运用于各种行业中,如门禁管理、货物管理、防盗应用、联合票Z、动物监控追踪、仓储物料管理、医疗病历系统、卖场自动结账、自动控制、员工身份识别、生产流程追踪、高速公路自动收费系统等。RFID具有小型化、多样化、可穿透性、可重复使用、高环境适应性等优点。表11-1所示为RFID的频率范围,可分为低频(LF)、高频(HF)、超高频(UHF)和微波4种。低频RFID主要应用于门禁管理,高频RFID主要应用于智能卡,而超高频RFID不开放,主要应用于卡车或拖车追踪等,微波RFID则应用于高速公路电子收费系统(Electronic Toll Collection,ETC)。超高频RFID和微波RFID采用主动式标签,通信距离Z长可达10~50米。表11-1 RFID的频率范围频段命名 频段 常用频率 通信距离 传输速度 标签价格 主要应用低频 9~150kHz 125kHz 小于等于10cm 低速 0.2元 门禁管理高频 1~300MHz 13.56MHz 小于等于10cm 低中速 0.1元 智能卡超高频 300~1200MHz 433MHz 大于等于1.5m 中速 1元 卡车追踪微波 2.45~5.80GHz 2.45GHz 大于等于1.5m 高速 5元 ETC
11-2-1 RFID读取器RFID读取器通过无线电波来存取RFID标签上的数据。按其存取方式可分成RFID读取器和RFID读写器两种。RFID读取器内部组成包含电源电路、天线、微控制器、接收器和发射器等。发射器负责将信号和交流电源通过天线发送给RFID标签。接收器负责接收RFID标签所回传的信号,通过近距离无线通信(Near Field Communication,NFC,或称为近场通信)技术将信号转交给微控制器处理。RFID读取器除了可以读取RFID标签内容外,也可以将数据写入RFID标签中。按照其功能可分成图11-3(a)所示的固定型读取器(stationary reader)和图11-3(b)所示的手持式读取器(handheld reader)两种类型,各有其用途。固定型读取器的数据处理速度快、通信距离较长、覆盖范围较大,但机动性较低。手持式读取器的机动性较高,但通信距离较短、覆盖范围较小。 (a) 固定型读取器 (b) 手持式读取器
图11-3 RFID读取器11-2-2 RFID标签图11-4所示的RFID标签,按其种类可以分成贴纸型、卡片型和钮扣型等。如图11-4(a)所示为贴纸型RFID标签,采用纸张印刷,常应用于物流管理、防盗管理、图书馆管理、供应链管理等。卡片型和钮扣型RFID标签采用塑料包装,常应用于门禁管理、大众运输等。 (a) 贴纸型 (b) 卡片型 (c) 钮扣型
图11-4 RFID 标签种类图11-5所示为RFID标签的内部电路,由微芯片(microchip)和天线所组成。微芯片存储唯Y的序号信息,而天线的功能用于感应电磁波和发送RFID标签序号。较大面积的天线所能感应的范围较远,但所占的空间较大。 (a) 卡片型 (b) 钮扣型
图11-5 RFID 标签的内部电路RFID标签按其驱动能量的来源可分为被动式、半主动式和主动式3种。被动式RFID标签本身没有电源,所需电流全靠RFID读取器的无线电磁波利用电磁感应原理所产生。只有在接收到RFID读取器所发出的信号,才会被动地响应信号给读取器,因为感应电流较小,所以通信距离较短。半主动式RFID标签的规格类似于被动式,但多了Y颗小型电池,若RFID读取器所发出的信号微弱,RFID标签还是有足够的电力将其内部存储器的数据回传到读取器。半主动式RFID标签比被动式RFID标签的反应速度更快、通信距离更长。主动式RFID标签内置电源用来供应内部IC芯片所需的电能,主动传送信号供读取器读取,电磁波信号较强,因此通信距离Z长。另外,主动式RFID标签有较大的内存容量可用来存储RFID读取器所发送的附加信息。11-3 认识RFID模块常用的RFID模块有125kHz低频RFID模块和13.56MHz高频RFID模块两种。前者使用125kHz低频载波通信,主要应用于门禁管理,后者使用13.56MHz高频载波通信,主要应用于智能卡、门禁管理、员工身份识别等,两者无法通用。11-3-1 125kHz低频RFID模块图11-6所示为Parallax公司所生产的125kHz低频RFID模块,使用标准串行通信接口,输出TTL电位,工作电压为5V,Z大传输速率为2400bps,通信距离在10厘米以内。通信协议为8个数据位、无同步位(或起始位)和1个停止位的8N1格式。125kHz低频RFID模块所读取的RFID标签序号包含10个字节的数据。 (a) 模块外观 (b) 引脚图
图11-6 低频125KHz RFID模块因为125kHz低频RFID模块与Arduino控制板都是使用串行通信接口,在Arduino控制板上传程序时可能会相冲突而造成宕机。因此,在每次要上传程序到Arduino控制板之前,必须先将RFID模块串口的输出SOUT引脚与Arduino控制板的连接移除,待上传程序代码结束后,再将SOUT引脚接回Arduino板的数字引脚0(RX)。若觉得麻烦,也可以直接使用SoftwareSerial函数设置RFID模块使用软件串口。11-3-2 13.56MHz高频RFID模块图11-7所示为NXP公司所生产的13.56MHz高频RFID模块,使用SPI通信接口,输出TTL电位,工作电压为3.3V,Z大传输速率10Mbps,通信距离在6厘米以内。13.56MHz高频RFID模块所读取的RFID标签序号包含5个字节的数据。 (a) 模块外观 (b) 引脚图
图11-7 高频13.56MHz RFID模块13.56MHz高频RFID模块内部使用Philips公司生产的MFRC522原装芯片,所需函数库可到官方网站http://github.com/miguelbalboa/rfid下载。进入如图11-8所示的官方网站后,单击右下角的下载按钮,下载压缩文件MFRC522.ZIP。下载并且解压缩后,将其存放在Arduino/libraries目录下。下载完成后,可以将MFRC522文件夹、MFRC522.cpp和MFRC522.h这3个文件更名为RFID文件夹、RFID.cpp和RFID.h,这样比较容易识别。
图11-8 RFID-RC522函数库的下载页面11-4 认识RFID导航自动机器人所谓RFID导航自动机器人,是指利用RFID标签来定位自动机器人当前的位置,并按RFID标签所定义的内容,来控制车子执行前进、后退、右转、左转和停止等行走动作。在第4章所述的红外线循迹自动机器人必须运行在黑色或白色的轨道上,而且轨道必须事先铺设完成。使用RFID技术进行自动机器人的导航,与红外线循迹技术相似,但是轨道颜色不要求,要更改自动机器人的行走路线也比较容易而且更有弹性。本章使用被动式RFID标签,每Y个RFID标签都有Y组独Y无二的标签序号,必须先使用RFID-RC522模块来读取RFID标签序号并将其编码为前进、后退、右转、左转和停止等行走动作。图11-9所示为RFID导航自动机器人的行走情况,黑色轨道只是说明RFID导航自动机器人行走情况,实际上并不存在。在图中的导航轨道实际上是使用3张“前进标签(Tag)”、4张“左转标签(Tag)”和1张“右转标签(Tag)”共8张RFID标签所组成的。RFID导航自动机器人并没有实际的“黑色”行走轨道,完全是由RFID标签来控制。因此RFID标签放置的位置必须按实际车速和RFID-RC522模块的感应速度来调整位置,才能得到正确的运行轨道。
图11-9 RFID导航自动机器人的行走情况当自动机器人行进至位置A时,感应到“前进标签”,自动机器人向前行走。当自动机器人行进至位置B时,感应到“左转标签”,自动机器人就左转。当自动机器人左转行进至位置C时,感应到“前进标签”,自动机器人就向前行走。当自动机器人行进至位置D时,感应到“左转标签”,自动机器人就左转。当自动机器人左转行进至位置E时,感应到“前进标签”,自动机器人就向前行走。当自动机器人行进至位置F时,感应到“左转标签”,自动机器人就左转。当自动机器人左转行进至位置G时,感应到“右转标签”,自动机器人就右转。当自动机器人右转行进至位置H时,感应到“左转标签”,走机器人就左转。当自动机器人左转行进至位置A时,感应到“前进标签”,走机器人就向前行走,因此自动机器人可以重复行走在所设置的轨道上。如表11-2所示为RFID导航自动机器人行走的控制策略。表11-2 RFID导航自动机器人行走的控制策略RFID 标签 控制策略 左轮 右轮前进标签 前进 反转 正转后退标签 后退 正转 反转右转标签 右转 反转 停止左转标签 左转 停止 正转停止标签 停止 停止 停止
11-5 读取RFID标签序号图11-10所示为RFID标签读取机的电路接线图,包含13.56MHz高频RFID模块、声音模块、Arduino控制板3个部分。
图11-10 RFID标签读取器的电路接线图1. 13.56MHz高频RFID模块Arduino控制板使用数字引脚10~13作为SPI接口的SS、MOSI、MISO和SCK引脚,将其与RFID模块相对应的引脚连接。并由Arduino控制板的 5V供电给RFID模块。2. 声音模块声音模块使用他激式蜂鸣器,可以由Arduino控制板输出不同频率的交流信号来控制蜂鸣器产生不同音调的声音。将蜂鸣器的正端连接到Arduino控制板数字引脚3,蜂鸣器的负端连接到Arduino控制板GND引脚。当读取到RFID标签序号时,蜂鸣器会发出短哔声。3. Arduino控制板Arduino控制板为控制中心,控制RFID模块读取RFID标签序号,并将其显示在“串口监视器”窗口中。? 功能说明:使用RFID模块读取RFID标签序号,并且将RFID标签序号以十进制数值显示在Arduino IDE的“串口监视器”窗口中。程序: ch11_1.ino#include //使用SPI.h函数库。#include //使用RFID.h函数库。const int speaker=3; //喇叭连接到Arduino控制板数字引脚3。const int RST_PIN=9; //RFID模块RST脚连接到数字引脚9。const int SS_PIN=10; //RFID模块SDA脚连接到数字引脚10。RFID rfid(SS_PIN,RST_PIN); //设置RFID模块的RST、SDA数字引脚。//设置初值void setup(){ Serial.begin(9600); //设置串口速率为9600bps。 SPI.begin(); //初始化SPI通信接口。 rfid.init(); //初始化RFID通信接口。} //主循环void loop(){ if(rfid.isCard()) //感应到RFID 标签? { if(rfid.readCardSerial()) //已读到RFID 标签的5个序号? { Serial.print(rfid.serNum[0],DEC); //显示标签序号的第1个数字。 Serial.print(“ “); Serial.print(rfid.serNum[1],DEC); //显示标签序号的第2个数字。 Serial.print(“ “); Serial.print(rfid.serNum[2],DEC); //显示标签序号的第3个数字。 Serial.print(“ “); Serial.print(rfid.serNum[3],DEC); //显示标签序号的第4个数字。 Serial.print(“ “); Serial.print(rfid.serNum[4],DEC); //显示标签序号的第5个数字。 Serial.println(“”); tone(speaker,1000); //产生1kHz单音50毫秒。 delay(50); noTone(speaker); //关闭蜂鸣器输出。 } rfid.halt(); //RFID标签读取器进入待命状态。 delay(1000); //延迟1秒后再读取RFID 标签。 } }
1. 设计Arduino程序,使用RFID模块读取RFID标签序号,并且将RFID标签序号以十六进制数值显示在Arduino IDE的“串口监视器”窗口中。2. 设计Arduino程序,使用RFID模块读取“公交智能卡”的标签序号,并以十进制数值显示在Arduino IDE的“串口监视器”窗口中。
11-6 制作RFID导航自动机器人图11-11所示为RFID导航自动机器人的电路接线图,包含13.56MHz高频RFID模块、声音模块、Arduino控制板、马达驱动模块、马达部件和电源电路6个部分。
图11-11 RFID导航自动机器人的电路接线图1. 13.56MHz高频RFID模块Arduino控制板使用数字引脚10~13作为SPI接口的SS、MOSI、MISO和SCK引脚,与RFID模块相对应的引脚互相连接,由Arduino控制板板的 5V供电给RFID模块。 2. 声音模块声音模块使用他激式蜂鸣器,可以由Arduino控制板输出不同频率的交流信号来控制蜂鸣器产生不同音调的声音。将蜂鸣器的正端连接到Arduino控制板数字引脚3,蜂鸣器的负端连接到Arduino控制板GND引脚。3. Arduino控制板Arduino控制板为控制中心,控制RFID模块读取RFID标签序号,并按照序号所设置的自动机器人控制码来驱动左、右两组减速直流马达,使自动机器人能够正确行走在预先规划的轨道上。4. 马达驱动模块马达驱动模块使用L298驱动芯片来控制两组减速直流马达,其中IN1、IN2输入信号控制左轮转向,而IN3、IN4输入信号控制右轮转向。另外,Arduino控制板输出两组PWM信号连接到ENA和ENB,分别控制左轮和右轮的转速。因为马达有Z小的启动扭矩电压,所输出的PWM信号P均值不可太小,以免无法驱动马达转动。PWM信号只能微调马达转速,如果需要较低的转速,可以改用较大减速比的减速直流马达。5. 马达部件马达部件包含两组300rpm/min(测试条件为6V)的金属减速直流马达、两个固定座、两个D型接头43mm橡皮车轮和Y个万向轮,橡皮材质的轮子比塑料材质的轮子摩擦力大而且易于控制。6. 电源电路电源模块包含4个1.5VY次性电池或4个1.2V充电电池及DC-DC升压模块,调整DC-DC升压模块中的SVR1可变电阻,使输出升压至9V,再将其连接到Arduino控制板和马达驱动模块以给它们供电。如果使用的是两个3.7V的18650锂电池,就不需要再使用DC-DC升压模块了。每个容量2000mAh的1.2V镍氢电池的售价约18元,每个容量3000mAh的18650锂电池的售价约50元。? 功能说明:使用RFID标签来控制RFID导航自动机器人按顺时针方向行走在如图11-12所示的轨道上。每次感应到RFID标签时,蜂鸣器都会发出提示的短哔声以提醒人员,自动机器人同时会变换行进方向。自动机器人的车速不可以太快,否则无法正确感应到RFID标签。另外,RFID标签必须预放置于预先规划的运行轨道上。
图11-12 RFID导航自动机器人的顺时针行走的轨道 程序:ch11_2.ino#include //使用SoftwareSerial.h函数库。#include //使用RFID.h函数库。const int speaker=3; //蜂鸣器连接Arduino控制板数字引脚3。const int RST_PIN=9; //RFID模块RST引脚连接数字引脚9。const int SS_PIN=10; //RFID模块SDA引脚连接数字引脚10。boolean exact=true; //RFID序号判断位。int serNum[5]; //所读取的RFID标签序号的存储位置。int temp[5]; //所读取的RFID标签序号的临时存储位置。int cardNo=-1; //RFID标签控制码。const int count=8; //使用8张RFID标签。const int tagLen=5; //每张RFID标签有5个数字的序号。int card[count][tagLen]= { {148,174,192, 14,244}, //前进标签,cardNo=0。 { 90,115,236,164, 97}, //右转标签,cardNo=1。 {194, 31,236,164,149}, //前进标签,cardNo=2。 {160,230,233,132, 43}, //右转标签,cardNo=3。 {140,174,234,132, 76}, //前进标签,cardNo=4。 {121,234,233,132,254}, //右转标签,cardNo=5。 {150,112,233,132,139}, //前进标签,cardNo=6。 { 93, 47,234,132, 28} //右转标签,cardNo=7。 }; RFID rfid(SS_PIN,RST_PIN); //设置RFID模块SDA、RST的数字引脚。const int negR=A0; //右轮负极连接Arduino控制板A0引脚。const int posR=A1; //右轮正极连接Arduino控制板A1引脚。const int negL=A2; //左轮负极连接Arduino控制板A2引脚。const int posL=A3; //左轮正极连接Arduino控制板A3引脚。const int pwmR=5; //右轮转速控制引脚。const int pwmL=6; //左轮转速控制引脚。const int Rspeed=125; //右轮转速。const int Lspeed=130; //左轮转速。int i,j; //整数变量。void compTag(void); //RFID标签序号对比函数。//设置初值void setup() { Serial.begin(9600); //串口速率为9600bps。 SPI.begin(); //初始化SPI接口。 rfid.init(); //初始化RFID接口。 pinMode(posR,OUTPUT); //设置A0引脚为输出引脚。 pinMode(negR,OUTPUT); //设置A1引脚为输出引脚。 pinMode(posL,OUTPUT); //设置A2引脚为输出引脚。 pinMode(negL,OUTPUT); //设置A3引脚为输出引脚。} //主循环void loop() { if(rfid.isCard()) //已感应到RFID标签? { if(rfid.readCardSerial()) //读取RFID标签序号。 { Serial.print(rfid.serNum[0],DEC); //显示标签序号的第1个数字。 Serial.print(“ “); Serial.print(rfid.serNum[1],DEC); //显示标签序号的第2个数字。 Serial.print(“ “); Serial.print(rfid.serNum[2],DEC); //显示标签序号的第3个数字。 Serial.print(“ “); Serial.print(rfid.serNum[3],DEC); //显示标签序号的第4个数字。 Serial.print(“ “); Serial.print(rfid.serNum[4],DEC); //显示标签序号的第5个数字。 Serial.println(“”); tone(speaker,1000); //产生提示哔哔声。 delay(50); noTone(speaker); for(i=0;i<5;i ) //把序号暂存在temp中。 temp[i]=rfid.serNum[i]; } rfid.halt(); //RFID模块进入待机状态1秒。 delay(1000); compTag(); //对比所读取标签序号的行走动作。 Serial.print(“cardNo=”); //显示标签控制码。 Serial.println(cardNo); if(cardNo==0) //标签控制码=0? forward(Rspeed,Lspeed); //车子前进。 else if(cardNo==1) //标签控制码=1? right(Rspeed,Lspeed); //车子右转。 else if(cardNo==2) //标签控制码=2? forward(Rspeed,Lspeed); //车子前进。 else if(cardNo==3) //标签控制码=3? right(Rspeed,Lspeed); //车子右转。 else if(cardNo==4) //标签控制码=4? forward(Rspeed,Lspeed); //车子前进。 else if(cardNo==5) //标签控制码=5? right(Rspeed,Lspeed); //车子右转。 else if(cardNo==6) //标签控制码=6? forward(Rspeed,Lspeed); //车子前进。 else if(cardNo==7) //标签控制码=7? right(Rspeed,Lspeed); //车子右转。 else //无法识别的标签控制码。 pause(0,0); //车子停止。 } }//对比RFID卡号void compTag(void){ cardNo=-1; //清除标签控制码。 for(i=0;i 1. 设计Arduino程序,使用RFID 标签来控制RFID导航自动机器人逆时针行走如图11-13所示的轨道。每次感应到RFID 标签时,蜂鸣器都会发出短哔声。
图11-13 RFID导航自动机器人逆时针行走的轨道2. 设计Arduino程序,使用RFID标签来控制RFID导航自动机器人的行走方向。当RFID-RC522模块感应到“前进标签”时,车子前进。当RFID-RC522模块感应到“后退标签”时,车子后退。当RFID-RC522模块感应到“右转标签”时,车子右转。当RFID-RC522模块感应到“左转标签”时,车子左转。当RFID-RC522模块感应到“停止标签”时,车子停止。每次感应到RFID标签时,蜂鸣器都会发出短哔声。
何谓NFC?近距离无线通信(Near Field Communication,NFC,近场通信)是Y种短距离的高频无线通信技术,允许电子设备之间在20厘米的范围内进行非接触式的点对点数据传输。NFC是由Philips和Sony联合开发的Y种无线连接技术,整合了RFID和互连等技术,主要应用于数字消费类电子产品,如手机、手表、PDA、数字相机、游戏机、计算机以及金融、交通等。NFC可使蓝牙、无线USB和Wi-Fi网络等设备之间的连接变得极为简单。虽然NFC的传输速度与距离均比不上蓝牙,但比蓝牙受到的干扰小,极适合于设备密集的场所。
何谓 SPI?串行外设接口总线(Serial Peripheral Interface bus,SPI)是Y种短距离、快速的4线同步串行通信接口,包含串行频率(SCLK)、主出从入(MOSI)、主入从出(MISO)和从线选(SS)共4线。SPI使用主(Master)/ 从(Slave)结构进行通信,如图11-14(a)所示为Y对Y主/从结构,由主设备(通常是微控制器)产生同步频率,将线选引脚的电位拉低,即可通过MOSI和MISO与从设备进行数据的传输。如图11-14(b)所示为Y对多主/从结构,当主设备要与多个从设备进行通信时,由主设备(通常是微控制器)产生同步频率,再将要进行通信的从设备的线选电位拉低,即可通过MOSI和MISO与从设备进行数据的传输。因为是点对点数据传输,所以每次只启用SS1、SS2、SS3中的Y个从设备。 (a) Y对Y主/从结构 (b) Y对多主/从结构图11-14 SPI主/从结构
显示全部信息