登入帳戶  | 訂單查詢  | 購物車/收銀台( 0 ) | 在線留言板  | 付款方式  | 運費計算  | 聯絡我們  | 幫助中心 |  加入書簽
會員登入 新用戶登記
HOME新書上架暢銷書架好書推介特價區會員書架精選月讀2023年度TOP分類瀏覽雜誌 臺灣用戶
品種:超過100萬種各類書籍/音像和精品,正品正價,放心網購,悭钱省心 服務:香港台灣澳門海外 送貨:速遞郵局服務站

新書上架簡體書 繁體書
暢銷書架簡體書 繁體書
好書推介簡體書 繁體書

三月出版:大陸書 台灣書
二月出版:大陸書 台灣書
一月出版:大陸書 台灣書
12月出版:大陸書 台灣書
11月出版:大陸書 台灣書
十月出版:大陸書 台灣書
九月出版:大陸書 台灣書
八月出版:大陸書 台灣書
七月出版:大陸書 台灣書
六月出版:大陸書 台灣書
五月出版:大陸書 台灣書
四月出版:大陸書 台灣書
三月出版:大陸書 台灣書
二月出版:大陸書 台灣書
一月出版:大陸書 台灣書

『簡體書』Arduino自动小车最佳入门与应用:打造轮型机器人轻松学

書城自編碼: 3001484
分類:簡體書→大陸圖書→計算機/網絡程序設計
作者: 杨明丰
國際書號(ISBN): 9787302468363
出版社: 清华大学出版社
出版日期: 2017-05-01
版次: 1 印次: 1
頁數/字數: 256/439000
書度/開本: 32开 釘裝: 平装

售價:HK$ 113.9

我要買

 

** 我創建的書架 **
未登入.


新書推薦:
西方哲学史
《 西方哲学史 》

售價:HK$ 106.8
中国财富管理发展指数(2022)
《 中国财富管理发展指数(2022) 》

售價:HK$ 69.6
希腊神话和仪式中的结构与历史
《 希腊神话和仪式中的结构与历史 》

售價:HK$ 93.6
周制与秦制
《 周制与秦制 》

售價:HK$ 153.6
中世纪英国的财政、军事与外交(中外文明传承与交流研究书系)
《 中世纪英国的财政、军事与外交(中外文明传承与交流研究书系) 》

售價:HK$ 93.6
缺席者的历史:以色列十个遗失的部落
《 缺席者的历史:以色列十个遗失的部落 》

售價:HK$ 93.6
晚清洋务运动始末
《 晚清洋务运动始末 》

售價:HK$ 95.8
美索不达米亚神话
《 美索不达米亚神话 》

售價:HK$ 83.8

 

編輯推薦:
本书是为了对自动机器人感兴趣,却苦于没有足够知识、经验与技术开发设计的读者编写的。本书配有浅显易懂的图文解说,只要按图操作就能快速入门。本书除了介绍软硬件知识与所需的基本电路原理外,还涵盖大多数机器人自动小车的控制范例,如使用红外线循迹模块、RFID模块、超音波模块、红外线遥控器、十字摇杆模块、手机触控、手势操控等控制方式,并通过红外线、RF、XBee、蓝牙、Wi-Fi等无线通信控制机器人自动小车,另附有组装参考解说,是非常全面的实战经典。
內容簡介:
"本书除了介绍软硬件知识与所需基本电路原理外,还涵盖大多数机器人自动小车的控制范例,如使用红外线循迹模块、RFID模块、超音波模块、红外线遥控器、十字摇杆模块等,并通过红外线、RF、XBee、蓝牙、Wi-Fi等无线通信控制机器人自动小车,另附有组装参考解说,是非常全面的实战经典。
本书是为对自动机器人感兴趣,却苦于没有足够知识、经验与技术开发设计的读者编写的。
"
關於作者:
杨明丰,台湾IT图书作者,拥有许多相关畅销著作。
目錄
第1章 Arduino快速入门
1-1 认识Arduino 2
1-2 Arduino硬件介绍 2
1-2-1 Duemilanove板 3
1-2-2 UNO板 3
1-2-3 Leonardo板 4
1-2-4 DUE板 4
1-2-5 Mini板 5
1-2-6 Micro板 5
1-2-7 Nano板 5
1-2-8 Mega 2560板 6
1-2-9 LilyPad板 6
1-2-10 Fio板 7
1-3 Arduino软件介绍 7
1-3-1 下载Arduino开发环境 7
1-3-2 安装Arduino板驱动程序 9
1-3-3 Arduino开发环境使用说明 13
1-3-4 执行第一个Arduino范例程序 14
1-4 Arduino语言基础 16
1-4-1 变量与常数 17
1-4-2 运算符 18
1-4-3 Arduino程序流程控制 24
1-4-4 数组 32
1-4-5 预处理命令 33
1-4-6 函数 34
1-4-7 Arduino常用函数 36
第2章 基本电路原理
2-1 电的基本概念 42
2-1-1 电荷 42
2-1-2 电压 43
2-1-3 电流 43
2-1-4 电阻 43
2-1-5 电能 44
2-1-6 功率 44
2-2 数字系统 44
2-2-1 十进制表示法 45
2-2-2 二进制表示法 45
2-2-3 十六进制表示法 45
2-2-4 常用进位转换 46
2-3 认识基本手动工具 46
2-3-1 面包板 47
2-3-2 电烙铁 48
2-3-3 剥线钳 49
2-3-4 尖嘴钳 49
2-3-5 斜口钳 50
2-4 认识万用表 50
2-4-1 电压的测量 51
2-4-2 电流的测量 51
2-4-3 电阻的测量 52
2-5 认识基本电子元件 52
第3章 自动机器人实习
3-1 认识机器人 56
3-2 认识自动机器人 56
3-3 认识自动机器人的部件 57
3-3-1 Arduino控制板 58
3-3-2 马达驱动模块 59
3-3-3 马达部件 60
3-3-4 万向轮 61
3-3-5 电源电路 62
3-3-6 杜邦线 65
3-3-7 Arduino周边扩展板 66
3-4 制作自动机器人 67
3-4-1 车体制作 68
3-4-2 行走原理 70
3-4-3 直线行走测试实习 73
3-4-4 转弯测试实习 74
第4章 红外线循迹自动机器人实习
4-1 认识红外线 78
4-2 认识红外线循迹模块 78
4-2-1 CNY70红外线模块 78
4-2-2 TCRT5000红外线模块 80
4-2-3 红外线循迹模块 82
4-2-4 红外线模块的数量 84
4-2-5 红外线模块排列的间距 85
4-3 认识红外线循迹自动机器人 85
4-4 制作红外线循迹自动机器人 87

第5章 红外线遥控自动机器人实习
5-1 认识无线通信 94
5-2 认识红外线发射模块 94
5-2-1 编码电路 94
5-2-2 载波电路与调制电路 97
5-3 认识红外线接收模块 97
5-3-1 红外线接收模块 98
5-3-2 IRremote.h函数库 98
5-4 认识红外线遥控自动机器人 101
5-5 制作红外线遥控自动机器人 105
第6章 手机蓝牙遥控自动机器人实习
6-1 认识蓝牙 110
6-2 认识蓝牙模块 110
6-2-1 蓝牙工作模式 112
6-2-2 蓝牙参数的设置 112
6-2-3 SoftwareSerial.h函数库 117
6-2-4 使用Arduino IDE设置蓝牙参数 118
6-3 认识手机蓝牙模块 121
6-4 认识手机蓝牙遥控自动机器人 123
6-5 制作手机蓝牙遥控自动机器人 128
6-5-1 手机蓝牙遥控App程序 128
6-5-2 修改手机蓝牙遥控App程序的界面设置 129
6-5-3 蓝牙遥控自动机器人的电路 133
第7章 RF遥控自动机器人实习
7-1 认识RF 138
7-2 认识RF模块 138
7-3 认识RF遥控自动机器人 142
7-4 制作RF遥控自动机器人 143
7-4-1 RF发射电路 144
7-4-2 RF遥控自动机器人电路 146
第8章 XBee遥控自动机器人实习
8-1 认识ZigBee 152
8-2 认识XBee模块 152
8-2-1 XBee扩展板 153
8-2-2 XBee配置的设置 153
8-3 认识XBee遥控自动机器人 156
8-4 制作XBee遥控自动机器人 156
8-4-1 XBee发射电路 156
8-4-2 XBee遥控自动机器人电路 159
第9章 加速度计遥控自动机器人实习
9-1 认识加速度计 164
9-2 认识加速度计模块 164
9-2-1 加速度计的g值灵敏度 164
9-2-2 倾斜角度与X、Y、Z三轴输出电压的关系 165
9-2-3 最大倾斜角度与X、Y、Z三轴输出电压的关系 165
9-3 认识加速度计遥控自动机器人 166
9-4 制作加速度计遥控自动机器人 167
9-4-1 加速度计遥控电路 167
9-4-2 XBee遥控自动机器人电路 170
9-5 认识手机加速度计 174
9-5-1 手机倾斜角度与X、Y、Z三轴输出值的关系 174
9-5-2 手机最大倾斜角度与X、Y、Z三轴输出值的关系 174
9-6 认识手机加速度计遥控自动机器人 175
9-7 制作手机加速度计遥控自动机器人 176
9-7-1 手机加速度计遥控App程序 176
9-7-2 蓝牙遥控自动机器人电路 180
第10章 超声波避障自动机器人实习
10-1 认识超声波 186
10-2 认识超声波模块 186
10-2-1 工作原理 187
10-2-2 物体定位 187
10-3 认识超声波避障自动机器人 188
10-3-1 工作原理 188
10-3-2 行走策略 189
10-4 制作超声波避障自动机器人 190
第11章 RFID导航自动机器人实习
11-1 认识声音 196
11-2 认识RFID 196
11-2-1 RFID读取器 197
11-2-2 RFID标签 198
11-3 认识RFID模块 199
11-3-1 125kHz低频RFID模块 199
11-3-2 13.56MHz高频RFID模块 200
11-4 认识RFID导航自动机器人 200
11-5 读取RFID标签序号 202
11-6 制作RFID导航自动机器人 204
第12章 Wi-Fi遥控自动机器人实习
12-1 认识计算机网络 214
12-1-1 局域网(LAN) 214
12-1-2 广域网(WAN) 215
12-1-3 无线局域网(WLAN) 216
12-2 认识以太网模块 218
12-3 制作以太网家电控制电路 218
12-4 认识Wi-Fi模块 225
12-4-1 官方Wi-Fi扩展板 226
12-4-2 兼容Wi-Fi扩展板 226
12-4-3 下载WiShield函数库 226
12-5 认识Wi-Fi遥控自动机器人 227
12-6 制作Wi-Fi遥控自动机器人 227
12-7 认识ESP8266 Wi-Fi模块 236
12-7-1 ESP8266 Wi-Fi功能AT命令 238
12-7-2 设置ESP8266模块参数 239
12-8 认识ESP8266 Wi-Fi遥控自动机器人 243
12-9 制作ESP8266 Wi-Fi遥控自动机器人 244
12-9-1 手机Wi-Fi遥控App程序 244
12-9-2 ESP8266 Wi-Fi遥控自动机器人电路 249

附录A 实习材料表
A-1 如何购买本书材料 258
A-2 全书实习材料表 258
A-3 各章实习材料表 259
A-3-1 第3章实习材料表 259
A-3-2 第4章实习材料表 260
A-3-3 第5章实习材料表 260
A-3-4 第6章实习材料表 261
A-3-5 第7章实习材料表 261
A-3-6 第8章实习材料表 262
A-3-7 第9章实习材料表 263
A-3-8 第10章实习材料表 264
A-3-9 第11章实习材料表 265
A-3-10 第12章实习材料表 265
附录B 刻录ATmega开机引导程序
B-1 认识引导程序Bootloader 268
B-2 认识Arduino UNO板引脚 268
B-3 使用ArduinoISP烧录ATmega引导程序 270
附录C Arduino自动机器人组装说明
C-1 自动机器人车体的组装 276
C-2 Arduino控制板和原型扩展板的组装 279
C-3 超声波模块和伺服马达的组装 281
C-4 红外线循迹模块的组装 283
內容試閱
在英、美、日、德等工业发达的国家中,工业型机器人(Robot)早已成为自动化生产的主角。除了工业型机器人外,服务型机器人也开始应用于国防、救灾、医疗、运输、农用、建筑等领域。机器人是集机械、电子、电机、控制、计算机、传感、人工智能等多种先进科学技术的产品。随着机器人工业的兴起,对于程序设计、嵌入系统、材料零部件、机电集成等研发人才的需求也与日俱增。机器人的运动方式大致上可以分为轮型机器人和足型机器人两种。轮型机器人具有快速移动的优点,而足型机器人具有机动性、可步行于危险环境、跨越障碍物以及可上下台阶等优点。本书主要介绍轮型自动机器人(后面简称为自动机器人)的制作技术。几十年前要制作一台自动机器人,不但技术复杂而且价格昂贵,随着开放源码(open-source)Arduino的出现,在软件方面已内建了多样化的函数,以此简化了周边部件的底层控制程序,硬件方面也有多样化的周边模块可供选择。另外,网络上也提供了相当丰富的共享资源,让没有电子、信息相关专业背景的人也可以快速又简单地制作一台Arduino自动机器人。本书为谁而写《Arduino自动小车最佳入门与应用》是为一些对自动机器人感兴趣,却又苦于没有足够知识、经验与技术能力去开发设计的读者而编写的。通过本书浅显易懂的图文解说,读者只要按图施工,就能保证成功。本书如何编排本书内容已经涵盖了大多数自动机器人的控制范例,如使用红外线循迹模块、RFID模块、超声波模块、红外线遥控器、十字游戏杆模块等,并且通过红外线、RF、XBee、蓝牙、Wi-Fi等无线通信来建立连接,以便控制自动机器人。本书中每一章所需的软、硬件知识和相关技术都有详细的图文解说,读者可根据自己的喜好自行安排阅读顺序并轻松组装完成具有个人特色的Arduino自动机器人。第1章 Arduino快速入门:快速引领读者认识Arduino硬件和软件的相关知识,并介绍Arduino开发环境的建立和使用。另外,提供了Arduino语言的语句、语法以及常用内部函数的说明,以方便读者随时查阅。如果要进一步了解详情,可到官方网站arduino.cc上阅读。第2章 基本电路原理:本章主要是针对从未学过电子、信息等相关知识的初学者而编写的。内容包含电的基本概念、数字系统等电学理论基础,并且介绍基本手动工具和万用电表的使用方法。如果读者已经熟悉,可以直接跳过本章。第3章 自动机器人实习:认识与使用自动机器人所需的Arduino板、马达驱动模块、马达部件、电源电路、周边扩展板等模块,以及如何制作一台自动机器人,如何利用Arduino板来控制自动机器人执行前进、后退、右转、左转、停止等行走动作。本章是后面各章的基础,读者有必要详细阅读。第4章 红外线循迹自动机器人实习:认识与使用红外线循迹模块CNY70和TCRT5000,并且利用红外线循迹模块TCRT5000来控制自动机器人自动行走在黑色或白色轨道上。第5章 红外线遥控自动机器人实习:认识与使用红外线遥控器和38kHz、940nm红外线接收模块,并且利用红外线遥控器控制红外线遥控自动机器人的前进、后退、右转、左转以及停止等行走动作。第6章 手机蓝牙遥控自动机器人实习:认识与使用Android手机蓝牙模块和HC-05蓝牙模块,并且利用手机蓝牙来控制蓝牙遥控自动机器人的前进、后退、右转、左转及停止等行走动作。第7章 RF遥控自动机器人实习:认识与使用RF模块,并且使用VirtualWire函数库进行RF无线通信。通过十字游戏杆的按压方向, 远程控制RF遥控自动机器人执行前进、后退、右转、左转及停止等行走动作。第8章 XBee遥控自动机器人实习:认识与使用XBee模块,并且使用XBee模块进行无线通信。通过十字游戏杆的按压方向,远程控制XBee遥控自动机器人执行前进、后退、右转、左转及停止等行走动作。第9章 加速度计遥控自动机器人实习:本章可分为两部分,第一部分通过MMA7260加速度计模块的重力变化,使用XBee模块进行无线通信,远程控制XBee遥控自动机器人执行前进、后退、右转、左转及停止等行走动作;第二部分通过手机加速度计的手势控制,使用蓝牙模块进行无线通信,远程控制蓝牙遥控自动机器人执行前进、后退、右转、左转及停止等行走动作。第10章 超声波避障自动机器人实习:认识与使用PINGTM超声波模块及伺服马达,并且利用伺服马达转动超声波模块检测自动机器人右方(45)、前方(90)和左方(135)3个方向的障碍物距离。通过Arduino板的判断,选择一条不会碰撞到任何障碍物的安全路线前进。第11章 RFID导航自动机器人实习:认识与使用RFID模块,并且利用RFID读取器读取RFID标签控制码,控制自动机器人执行前进、后退、右转、左转及停止等行走动作。第12章 Wi-Fi遥控自动机器人实习:认识与使用Wi-Fi模块和HTML网页设计,通过手机或计算机网页控制,利用Wi-Fi模块进行无线通信,远程控制Wi-Fi遥控自动机器人执行前进、后退、右转、左转及停止等行走动作。本书特色学习最容易:Arduino公司提供了免费的Arduino IDE开发软件,内建了多样化的函数,因而简化了周边部件的底层控制程序。本书使用开放式架构的自动机器人车体,电路不预制于印刷电路板(Printed Circuit Board,PCB)车体中,创意不受限制。读者可以根据自己的喜好,使用市售或自制的各种传感器模块快速、轻松地组装出具有创意的自动机器人。学习花费少:Arduino自动机器人与乐高机器人所使用的控制器和周边模块相比较,在功能性和灵活度上毫不逊色,而且可以使用最少的花费实现更多功能。学习资源多:Arduino IDE提供了多样化的范例程序,不但在官方网站上可以找到多元的技术支持资料,而且网络上也提供了相当丰富的共享资源。另外,硬件开发商也提供了多样化的周边模块可供选择,或者直接向本书合作厂商慧手科技有限公司购买自动机器人的开发工具包。内容多样化:本书内容涵盖了大多数自动机器人的控制范例,例如红外线循迹自动机器人、红外线遥控自动机器人、RF遥控自动机器人、XBee遥控自动机器人、手机蓝牙遥控自动机器人、手机加速度计遥控自动机器人、超声波避障自动机器人、RFID导航自动机器人、Wi-Fi遥控自动机器人等。另外,只要稍加修改本书的自动机器人范例,就可以轻松完成其他有趣又好玩的自动机器人,例如温控自动机器人、声控自动机器人、光控自动机器人、竞速自动机器人、相扑自动机器人、负重自动机器人等。商标声明Arduino是Arduino公司的注册商标。ATmega是ATMEL公司的注册商标。Fritzing是FRITZING公司的注册商标。除了上述商标和名称外,其他本书所提及的商标和名称均为该公司的注册商标。本书的学习资源本书的程序范例可以从提供下载的ino范例程序文件夹中找到,可以直接用Arduino IDE打开这些范例程序,并且将文件上传至Arduino控制板中,之后就可以正确执行范例程序设计的功能了。各章所需的外接函数库也可以从下载的func外接函数库文件夹中找到,必须将它们解压缩并且存入Arduinolibraries文件夹中才能使用。下载地址本书配套的范例程序、外接函数库和附录内容可以从以下网址下载(注意区分数字和英文字母大小写):http:pan.baidu.coms1cD1bUu如果下载有问题,请发送电子邮件至booksaga@163.com进行咨询,邮件主题设置为Arduino自动小车配套资源。致谢本书能够顺利完成,要感谢基峰信息公司的企划与协调,以及慧手科技有限公司的协助与全力配合,他们开发了书中各种自动机器人所需的部件与模块。期盼通过本书的学习,能让读者快快乐乐、轻轻松松地制作出一台属于自己的自动小车!
杨明丰


第11章 RFID导航自动机器人实习
11-1 认识声音11-2 认识RFID11-3 认识RFID模块11-4 认识RFID导航自动机器人11-5 读取RFID标签序号11-6 制作RFID导航自动机器人
11-1 认识声音声音是一种波动,声音的振动会引起空气分子有节奏的振动,使周围的空气产生疏密变化,形成疏密相间的纵波,因而产生了声波。人耳可以听到的声音频率范围在20Hz~20kHz之间。如图11-1所示为常用的声音输出设备蜂鸣器(buzzer)和扬声器(loudspeaker)。如图11-1a所示的蜂鸣器可以分为有源蜂鸣器和无源蜂鸣器两种,有源又称为自激式,内含驱动电路,必须加直流电压,而且只能产生单一固定频率的声音输出。无源又称为他激式(或被激式),没有内部驱动电路,不同频率的交流信号可以产生不同频率的声音输出。如图11-1b所示的扬声器也称为喇叭,输出功率比蜂鸣器大,音质也较蜂鸣器好,但价格较高。a 蜂鸣器 b 扬声器
图11-1 声音输出设备图11-2所示为声音信号,图11-2a所示是正弦波为组成声音的基本波形,声音的音量与其振幅Vm成正比;声音的音调与其周期T成反比;声音的发音长度与其输出时间长度成正比。在数字电路中经常使用图11-2b所示的方波来模拟正弦波,方波是由奇次谐波(harmonic)所组成的,奇次谐波频率为基本波频率的奇数倍,奇次谐波的数量越多,波形越接近方波。因数字电路带宽有限,只能以有限带宽来合成方波。 a 正弦波 b 方波
图11-2 声音信号11-2 认识RFID射频识别(Radio Frequency IDentification,RFID)又称为电子标签,是一种通信技术。RFID系统包含天线(antenna或coil)、读取器(reader)和RFID标签(Tag)3个部分。RFID的工作原理是利用传感器发射无线电波,去触发感应范围内的RFID标签。RFID标签借助电磁感应产生电流,来驱动RFID标签上的IC芯片的运行,并且利用电磁波返回RFID标签序号。RFID是一种非接触式、短距离的自动识别技术,RFID读取器识别RFID标签完成后,会将数据传到系统端进行追踪、统计、核查、结账、存货控制等处理。RFID技术被广泛运用于各种行业中,如门禁管理、货物管理、防盗应用、联合票证、动物监控追踪、仓储物料管理、医疗病历系统、卖场自动结账、自动控制、员工身份识别、生产流程追踪、高速公路自动收费系统等。RFID具有小型化、多样化、可穿透性、可重复使用、高环境适应性等优点。表11-1所示为RFID的频率范围,可分为低频(LF)、高频(HF)、超高频(UHF)和微波4种。低频RFID主要应用于门禁管理,高频RFID主要应用于智能卡,而超高频RFID不开放,主要应用于卡车或拖车追踪等,微波RFID则应用于高速公路电子收费系统(Electronic Toll Collection,ETC)。超高频RFID和微波RFID采用主动式标签,通信距离最长可达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-3a所示的固定型读取器(stationary reader)和图11-3b所示的手持式读取器(handheld reader)两种类型,各有其用途。固定型读取器的数据处理速度快、通信距离较长、覆盖范围较大,但机动性较低。手持式读取器的机动性较高,但通信距离较短、覆盖范围较小。a 固定型读取器 b 手持式读取器
图11-3 RFID读取器11-2-2 RFID标签图11-4所示的RFID标签,按其种类可以分成贴纸型、卡片型和钮扣型等。如图11-4a所示为贴纸型RFID标签,采用纸张印刷,常应用于物流管理、防盗管理、图书馆管理、供应链管理等。卡片型和钮扣型RFID标签采用塑料包装,常应用于门禁管理、大众运输等。a 贴纸型 b 卡片型 c 钮扣型
图11-4 RFID 标签种类图11-5所示为RFID标签的内部电路,由微芯片(microchip)和天线所组成。微芯片存储唯一的序号信息,而天线的功能用于感应电磁波和发送RFID标签序号。较大面积的天线所能感应的范围较远,但所占的空间较大。a 卡片型 b 钮扣型
图11-5 RFID 标签的内部电路RFID标签按其驱动能量的来源可分为被动式、半主动式和主动式3种。被动式RFID标签本身没有电源,所需电流全靠RFID读取器的无线电磁波利用电磁感应原理所产生。只有在接收到RFID读取器所发出的信号,才会被动地响应信号给读取器,因为感应电流较小,所以通信距离较短。半主动式RFID标签的规格类似于被动式,但多了一颗小型电池,若RFID读取器所发出的信号微弱,RFID标签还是有足够的电力将其内部存储器的数据回传到读取器。半主动式RFID标签比被动式RFID标签的反应速度更快、通信距离更长。主动式RFID标签内置电源用来供应内部IC芯片所需的电能,主动传送信号供读取器读取,电磁波信号较强,因此通信距离最长。另外,主动式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,最大传输速率为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,最大传输速率10Mbps,通信距离在6厘米以内。13.56MHz高频RFID模块所读取的RFID标签序号包含5个字节的数据。a 模块外观 b 引脚图
图11-7 高频13.56MHz RFID模块13.56MHz高频RFID模块内部使用Philips公司生产的MFRC522原装芯片,所需函数库可到官方网站https:github.commiguelbalboarfid下载。进入如图11-8所示的官方网站后,单击右下角的下载按钮,下载压缩文件MFRC522.ZIP。下载并且解压缩后,将其存放在Arduinolibraries目录下。下载完成后,可以将MFRC522文件夹、MFRC522.cpp和MFRC522.h这3个文件更名为RFID文件夹、RFID.cpp和RFID.h,这样比较容易识别。
图11-8 RFID-RC522函数库的下载页面11-4 认识RFID导航自动机器人所谓RFID导航自动机器人,是指利用RFID标签来定位自动机器人当前的位置,并按RFID标签所定义的内容,来控制车子执行前进、后退、右转、左转和停止等行走动作。在第4章所述的红外线循迹自动机器人必须运行在黑色或白色的轨道上,而且轨道必须事先铺设完成。使用RFID技术进行自动机器人的导航,与红外线循迹技术相似,但是轨道颜色不要求,要更改自动机器人的行走路线也比较容易而且更有弹性。本章使用被动式RFID标签,每一个RFID标签都有一组独一无二的标签序号,必须先使用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 rfidSS_PIN,RST_PIN; 设置RFID模块的RST、SDA数字引脚。设置初值void setup{Serial.begin9600;设置串口速率为9600bps。 SPI.begin;初始化SPI通信接口。 rfid.init;初始化RFID通信接口。} 主循环void loop{ifrfid.isCard 感应到RFID 标签? { ifrfid.readCardSerial 已读到RFID 标签的5个序号?{Serial.printrfid.serNum[0],DEC; 显示标签序号的第1个数字。 Serial.print ;Serial.printrfid.serNum[1],DEC; 显示标签序号的第2个数字。 Serial.print ;Serial.printrfid.serNum[2],DEC; 显示标签序号的第3个数字。 Serial.print ;Serial.printrfid.serNum[3],DEC; 显示标签序号的第4个数字。 Serial.print ;Serial.printrfid.serNum[4],DEC; 显示标签序号的第5个数字。 Serial.println;tonespeaker,1000;产生1kHz单音50毫秒。 delay50; noTonespeaker;关闭蜂鸣器输出。 }rfid.halt;RFID标签读取器进入待命状态。 delay1000; 延迟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,分别控制左轮和右轮的转速。因为马达有最小的启动扭矩电压,所输出的PWM信号平均值不可太小,以免无法驱动马达转动。PWM信号只能微调马达转速,如果需要较低的转速,可以改用较大减速比的减速直流马达。5. 马达部件马达部件包含两组300rpmmin(测试条件为6V)的金属减速直流马达、两个固定座、两个D型接头43mm橡皮车轮和一个万向轮,橡皮材质的轮子比塑料材质的轮子摩擦力大而且易于控制。6. 电源电路电源模块包含4个1.5V一次性电池或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 rfidSS_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 compTagvoid; RFID标签序号对比函数。设置初值void setup{ Serial.begin9600;串口速率为9600bps。 SPI.begin;初始化SPI接口。 rfid.init; 初始化RFID接口。 pinModeposR,OUTPUT; 设置A0引脚为输出引脚。 pinModenegR,OUTPUT; 设置A1引脚为输出引脚。 pinModeposL,OUTPUT; 设置A2引脚为输出引脚。 pinModenegL,OUTPUT; 设置A3引脚为输出引脚。}主循环void loop{ ifrfid.isCard 已感应到RFID标签? { ifrfid.readCardSerial 读取RFID标签序号。{Serial.printrfid.serNum[0],DEC; 显示标签序号的第1个数字。 Serial.print ;Serial.printrfid.serNum[1],DEC; 显示标签序号的第2个数字。 Serial.print ;Serial.printrfid.serNum[2],DEC; 显示标签序号的第3个数字。 Serial.print ;Serial.printrfid.serNum[3],DEC; 显示标签序号的第4个数字。 Serial.print ;Serial.printrfid.serNum[4],DEC; 显示标签序号的第5个数字。 Serial.println;tonespeaker,1000; 产生提示哔哔声。 delay50;noTonespeaker; fori=0;i

 

 

書城介紹  | 合作申請 | 索要書目  | 新手入門 | 聯絡方式  | 幫助中心 | 找書說明  | 送貨方式 | 付款方式 香港用户  | 台灣用户 | 大陸用户 | 海外用户
megBook.com.hk
Copyright © 2013 - 2024 (香港)大書城有限公司  All Rights Reserved.