作为开放性的互动软硬件开发平台,Arduino现已拥有了不少忠实的爱好者。以Arduino搭配各种传感器和外围设备,初学者便可以用较低的成本在较短的时间内开发自己想要的作品。就算非电子、机电专业出身,也能很快体验互动电子设计、制作的乐趣!
本书分为三大部分,共15章,较详细地介绍了如何从一个Arduino初级“小白”成长为互动“牛人”。书中提供了许多制作实例,涉及LCD、电机(舵机)、红外线、超声波、无线通信,以及最热门的WiFi、GPS、自走车、Flash等。
样章试读
目录
- 目录
第1篇 进人Arduino的世界
第1章 初探Arduino 3
1.1 物理运算平台 3
1.2 话说从头——从核心谈起 5
1.3 Arduino溯源 6
1.4 Arduino硬件种类介绍 7
1.4.1 UNO 7
1.4.2 Nano 7
1.4.3 MEGA 8
1.4.4 LilyPad 8
1.5 专属版的Arduino 9
1.5.1 Seeeduino 9
1.5.2 Roboduino 10
1.5.3 Funnel IO 10
1.5.4 Boarduino 10
1.5.5 Polulu 3pi Robot 11
1.6 Arduino的好处 11
1.7 Arduino的应用 12
1.7.1 数字艺术 12
1.7.2 科技Arduino 14
1.7.3 通信网络Arduino 17
1.8 Arduino UNO 17
1.9 展望 18
第2章 开发环境 21
2.1 程序开发流程 21
2.1.1 编辑 22
2.1.2 编译 22
2.1.3 链接 22
2.1.4 执行 23
2.2 开发环境下载 26
2.3 开发环境功能介绍 29
2.4 内建程序范例与程序架构 31
2.4.1 setup范例 32
2.4.2 loop范例 32
2.5 程序语法 34
2.5.1 数据类型 34
2.5.2 逻辑运算符 34
2.5.3 循环与选择性语句 36
2.5.4 选择性语句 36
2.5.5 时间函数 40
2.6 Arduino 1.0 42
第3章 必要的基本电路知识 43
3.1 电的基本认识 43
3.2 基本工具 44
3.2.1 面包板的艺术 44
3.2.2 线材 45
3.2.3 VWX 46
3.3 电子零件 48
3.3.1 电阻 48
3.3.2 电容 52
3.3.3 二极管 55
3.3.4 LED 55
3.3.5 晶体管 56
3.4 Arduino硬件介绍 57
3.4.1 Arduino基本电路 58
3.4.2 ATMEGA系列单片机 60
3.5 Arduino扩展板介绍 62
3.6 Fritzing 63
第2篇 开始来玩Arduino
第4章 模拟信号的世界 67
4.1 模拟信号简介 67
4.2 AD转换 68
模拟信号转换 68
4.3 电路中的信号转换 70
4.3.1 分辨率 70
4.3.2 转换时间 71
4.3.3 参考电压 72
4.3.4 误差 72
4.4 Arduino世界中的AD 72
4.5 测量可变电阻 74
4.6 测量光敏电阻 80
4.7 压力检测 83
4.8 位置检测 84
第5章 数字信号的世界 87
5.1 数字信号的表示方式 87
5.2 LED闪烁 87
5.3 用按钮控制LED 91
5.4 霹雳灯 92
5.5 指拨开关控制 95
5.6 LED模块 98
5.7 外部控制LED显示 104
5.87 段显系器 111
5.9 PWM 115
5.10 用按钮改变PWM信号 116
5.11 蜂鸣器 118
5.12 心形LED闪烁 122
5.13 数字输出扩展 126
第6章 通信协议 131
6.1 硬件介绍 131
6.2 通信协议介绍 132
6.2.1 同步通信与异步通信 132
6.2.2 全双工和半双工 132
6.3 RS-232基本介绍 133
6.4 RS-232通信协议 137
6.5 Arduino与串行端口通信 140
6.6 HelloRS-232 142
6.7 输出数据 143
6.8 输入数据 146
6.9 输出控制 150
第7章 Arduino与LCD 155
7.1 LCD简介 155
7.2 液晶显示模块 156
7.3 Arduino函数库 158
7.4 启动LCD 159
7.5 LCD显示 161
7.6 LCD换行控制 162
7.7 LCD跑马灯 164
7.8 显示输入数据 166
第8章 Arduino与控制电机 169
8.1 直流电机 170
8.2 控制直流电机 173
8.3 步进电机 180
8.4 控制步进电机 183
8.5 控制舵机 189
8.62 轴控制机构 199
8.7 光线自动追踪系统 205
第9章 Arduino与红外线、超声波 209
9.1 超声波测距 209
9.2 红外线测距 215
9.3 用于循迹的红外线反射式模块 222
9.4 红外线人体感应 225
第10章 Arduino与无线通信 229
10.1 无线通信的挑战 229
10.2 无线通信网络架构 231
10.2.11 对多通信 232
10.2.2 多对多通信 233
10.2.3 混合式架构 234
10.3 常见的无线通信协议 235
10.3.1 短距离 238
10.3.2 RF模块 238
10.3.3 红外线 239
10.3.4 蓝牙 239
10.3.5 ZigBee 239
10.3.6 超宽带 241
10.3.7 长距离WiFi 241
10.3.8 移动通信 241
10.4315 MHzRF模块 245
10.527 MHzRF模块 251
10.6 RFID 254
第3篇 进阶实作Arduino
第11章 Arduino+Wii 263
11.1 Wii基本介绍 263
11.2 Wii Remote的操作原理 264
手柄按钮介绍 265
11.3 Sensor Bar介绍 267
11.4 Wii Remote内部传感器 269
11.4.1 加速度计 270
11.4.2 陀螺仪 272
11.4.3 ADXL335 273
11.4.4 IDG-650 275
11.5 Processing 277
11.6 Arduino结合Nunchuck 282
11.7 Nunchuck和Processing 292
第12章 Arduino+GPS 299
12.1 GPS简介 299
12.1.1 GPS卫星简介 299
12.1.2 GPS系统组成 300
12.1.3 GPS误差来源 301
12.2 GPS修正技术 303
12.2.1 DGPS 303
12.2.2 AGPS 304
12.3 GPS其他技术 306
12.3.1 GLONASS 306
12.3.2 Beidou 307
12.3.3 Galileo 307
12.4 GPS模块介绍 308
12.5 GPS输出信息 311
12.6 使用EM-408 314
12.7 GPS使用设定 316
GPS通信端口设定 317
12.8 接收NMEA信息 320
第13章 Arduino+自走车 335
13.1 自走车行走方式 337
13.2 室内定位 339
13.2.1 到达时间 339
13.2.2 到达时间差 340
13.2.3 到达角 341
13.2.4 接收信号强度 341
13.3 自走车驱动方式 342
13.3.1 前轮驱动和后轮驱动 343
13.3.2 差动驱动 344
13.4 电脑鼠 345
13.4.1 迷宫算法 346
13.4.2 沿壁算法 346
13.4.3 深度优先算法 346
13.4.4 向心搜寻算法 347
13.4.5 洪水填充算法 348
13.4.6 A*算法 349
13.5 自走车方位判定——电子罗盘 350
13.6 车轮转动角度测量 362
13.7 制作自走车 367
第14章 Arduino+Flash 377
14.1 基本介绍 377
14.2 Arduino+Flash开发 378
第15章 无线感测网络 385
15.1 XBee规格 389
15.2 X-CTU 390
15.3 XBee S1的参数设定 392
15.3.1 命令模式设定 394
15.3.2 参数模式设定 396
15.4 XBee S2的参数设定 397
15.5 XBee数据传输 398
15.5.1 1对1 398
15.5.2 1对多 402
15.6 API模式(1对2通信架构) 403
15.7 Broadcast 404
15.8 XBee模拟信号读取 407
附录A 数值计算
A.1 十进制 411
A.2 二进制 412
A.3 十六进制 413
A.4 辨认数值的方式 413
A.5 计算器 414
附录B 检查码 417
B.1 循环冗余检查码 417
B.2 Checksum 419
附录C ASCII码 421