第一篇 基础篇 2
第1章 Arduino硬件 2
1.1 什么是Arduino 2
1.1.1 Arduino与单片机 2
1.1.2 Arduino的开发团队及起源 3
1.2 Arduino的硬件组成 3
1.2.1 Arduino Uno概览 3
1.2.2 Arduino Uno供电 5
1.2.3 Arduino Uno存储 5
1.2.4 Arduino Uno输入及输出 5
1.2.5 Arduino Uno通信 6
1.2.6 Arduino Uno自动复位 6
1.2.7 Arduino Uno USB过流保护 7
1.2.8 Arduino Uno的物理特性 7
1.2.9 Arduino Uno原理图与参考设计 7
1.3 连接Arduino与PC 7
第2章 Arduino软件 11
2.1 Arduino IDE 11
2.1.1 Arduino IDE界面 11
2.1.2 Arduino IDE工具栏 12
2.1.3 Arduino IDE菜单栏 12
2.2 Arduino程序结构及基本函数 17
2.2.1 Arduino程序结构 17
2.2.2 Arduino数据类型及运算符 18
2.2.3 Arduino的控制语句 21
2.2.4 Arduino的基本函数 27
2.3 Arduino C语言开发示例 31
2.3.1 数字输出 31
2.3.2 数字输入 32
2.3.3 大电流输出 33
2.3.4 PWM输出 34
2.3.5 电位器模拟输入 35
2.3.6 可变电阻输入 35
2.3.7 伺服输出 36
第3章 LabVIEW图形化编程语言 38
3.1 LabVIEW的编程环境 38
3.1.1 LabVIEW编程界面 38
3.1.2 LabVIEW前面板 40
3.1.3 LabVIEW程序框图 42
3.2 LabVIEW的数据流编程方法 45
3.3 LabVIEW的常用工具及调试工具 45
3.3.1 LabVIEW工具选板 45
3.3.2 LabVIEW前面板窗口工具栏 47
3.3.3 LabVIEW调试工具 48
3.4 LabVIEW的数据类型及运算 50
3.4.1 数据类型 50
3.4.2 数据运算 58
3.5 LabVIEW的程序结构 59
3.5.1 while循环结构 59
3.5.2 for循环结构 60
3.5.3 条件结构 61
3.5.4 顺序结构 62
3.5.5 其他结构 63
3.6 图形显示 63
3.6.1 Waveform Graph 63
3.6.2 Waveform Chart 66
3.6.3 XY Graph 68
3.7 数据文件存储 69
3.7.1 电子表格文件 70
3.7.2 文本文件 72
3.7.3 二进制文件 73
3.7.4 TDMS文件 76
3.8 LabVIEW的学习示例及帮助 78
第4章 LIFA 81
4.1 LIFA工具包下载安装 81
4.2 LIFA的工作原理 81
4.2.1 LIFA的I/O Engine Firmware 86
4.2.2 LabVIEW VI工作机理 89
4.2.3 LabVIEW VI与I/O Engine的通信 91
4.3 LIFA工具包VI介绍 92
4.3.1 初始化及关闭VI 92
4.3.2 Utility子选板VI 92
4.3.3 Low Level子选板VI 93
4.3.4 Sensors子选板VI 97
4.3.5 Examples子选板示例 98
4.3.6 使用LIFA控制Arduino 98
4.4 开发更多的传感器扩展VI 101
4.4.1 基于LIFA开发自己的Sensors VI 102
4.4.2 基于VISA开发传感器扩展VI 105
第二篇 扩展应用篇 110
第5章 基于LabVIEW实现Arduino开发 110
5.1 基于LabVIEW实现Arduino基本端口编程 110
5.1.1 闪烁LED 112
5.1.2 按键控制LED 114
5.1.3 计时器 115
5.1.4 移位点亮LED 116
5.1.5 跑马灯 116
5.1.6 模拟值采集 117
5.1.7 模拟值控制跑马灯 119
5.1.8 模拟值计算 119
5.1.9 PWM控制LED亮度 120
5.2 基于LabVIEW实现Arduino传感器扩展 122
5.2.1 温度传感器 122
5.2.2 气体传感器 123
5.2.3 环境光线传感器 124
5.2.4 RGB LED 126
5.2.5 遥控杆控制RGB LED 127
5.2.6 接近式光电传感器 129
5.2.7 触摸开关传感器 131
5.2.8 声音检测传感器 134
5.2.9 数字蜂鸣器 136
5.2.10 七段数码管 138
5.2.11 模拟压电陶瓷振动传感器 140
5.2.12 Slider 60模拟直滑传感器 142
5.2.13 模拟接口三轴加速度计模块 144
5.2.14 大电流继电器控制 146
5.2.15 直流电机控制 148
5.2.16 步进电机控制 152
5.2.17 舵机控制 156
5.2.18 LCD模块 158
5.2.19 I2C接口加速度模块 160
5.2.20 Shiftout LED模块 162
5.3 基于LabVIEW实现Arduino数据采集 164
5.3.1 连续采集 164
5.3.2 有限点采集 165
5.3.3 采集并存储连续数据 167
第6章 Arduino图形化开发应用实战 169
6.1 图形化的Arduino Demobox 169
6.1.1 实现的功能 169
6.1.2 所需硬件 169
6.1.3 程序设计及实现 169
6.2 Arduino I/O测试软件 172
6.2.1 实现的功能 172
6.2.2 所需硬件 172
6.2.3 程序设计及实现 172
6.3 基于Arduino的简易示波器 176
6.3.1 实现的功能 176
6.3.2 所需硬件 176
6.3.3 程序设计及实现 176
6.4 基于Arduino的简易逻辑分析仪 179
6.4.1 实现的功能 179
6.4.2 所需硬件 179
6.4.3 程序设计及实现 179
6.5 基于Arduino控制6自由度机械臂 181
6.5.1 实现的功能 181
6.5.2 所需硬件 181
6.5.3 程序设计及实现 181
6.6 基于Arduino的弹珠游戏 183
6.6.1 实现的功能 183
6.6.2 所需硬件 183
6.6.3 程序设计及实现 183
6.7 基于Arduino的“双人乒乓”游戏 188
6.7.1 实现的功能 188
6.7.2 所需硬件 188
6.7.3 程序设计及实现 188
6.8 基于Arduino的俄罗斯方块游戏 190
6.8.1 实现的功能 190
6.8.2 所需硬件 191
6.8.3 程序设计及实现 191
附录A Arduino家族 194
附录B Arduino Uno引脚与AVR单片机引脚对应关系 200
附录C Arduino Uno R3原理图 201
附录D LI FA工具包的Firmware固件代码 202