LabVIEW这个图形化编程软件只有和硬件结合起来才能充分发挥其潜力。事实上。很多初学者,尤其是学生人群,在初步掌握LabVIEW这种图形化编程语言后,由于缺乏相关硬件就很难再继续深入。这些硬件一般都由美国国家仪器与其第三方合作伙伴销售,价格比较昂贵,作为很多初学者,尤其是学生是很难买得起这些硬件的。LabVIEW社区发布了针对Arduino模块化开源硬件的接口LIFA(LabVIEW Interface for Arduino),这不但解决了初学者的硬件实践平台的问题,而且为教学提供了一套极具性价比的方案。余崇梓编著的这本《Arduino开发实战指南(LabVIEW卷)》将引导读者围绕这一接口。将LabVIEW图形化编程语言与Arduino开源硬件生态系统相结合,让读者能够结合两者优点快速开发出具有成本优势的测控产品原型。
Arduino是一个应用越来越广泛的开放硬件平台,Arduino项目一般使用C语言进行开发。余崇梓编著的这本《Arduino开发实战指南(LabVIEW卷)》介绍了另外一种Arduino项目开发方法。即使用LabVIEW图形化程序开发软件进行Arduino项目的开发。使用LabVIEW进行Arduino开发可以很容易地设计出非常漂亮的用户界面,同时相对于C语言而言,图形化开发软件将程序开发变得更简单,用户不需要学习C语言就能进行Arduino的开发。本书共分为6章,第1章及第2章介绍Arduino的基本知识。第3章介绍LabVIEW的编程基础,第4章介绍LabVIEW控制Arduino的工具包,第5章介绍使用LabVIEW进行Arduino的基本传感器扩展开发,第6章结合8个综合宴例介绍使用LabVIEW进行Arduino项目的系统开发。
本书语言通俗易懂、内容丰富,本书适合所有有兴趣进行Arduino开发的人员,非常适合需要进行用户界面设计的Arduino项目开发人员以及没有C/C++语言基础的Arduino项目开发人员。
前言
第一篇 基础篇
第1章 Arduino硬件
1.1 什么是Arduino
1.1.1 Arduino与单片机
1.1.2 Arduino的开发团队及起源
1.2 Arduino的硬件组成
1.2.1 Arduino Uno概览
1.2.2 Arduino Uno供电
1.2.3 Arduino Uno存储
1.2.4 Arduino Uno输入及输出
1.2.5 Arduino Uno通信
1.2.6 Arduino Uno自动复位
1.2.7 Arduino Uno USB过流保护
1.2.8 Arduino Uno的物理特性
1.2.9 Arduino Uno 原理图与参考设计
1.3 连接Arduino与PC
第2章 Arduino软件
2.1 Arduino IDE
2.1.1 Arduino IDE界面
2.1.2 Arduino IDE工具栏
2.1.3 Arduino IDE菜单栏
2.2 Arduino程序结构及基本函数
2.2.1 Arduino程序结构
2.2.2 Arduino数据类型及运算符
2.2.3 Arduino的控制语句
2.2.4 Arduino的基本函数
2.3 Arduino C语言开发示例
2.3.1 数字输出
2.3.2 数字输入
2.3.3 大电流输出
2.3.4 PWM输出
2.3.5 电位器模拟输入
2.3.6 可变电阻输入
2.3.7 伺服输出
第3章 LabVIEW图形化编程语言
3.1 LabVIEW的编程环境
3.1.1 LabVIEW编程界面
3.1.2 LabVIEW前面板
3.1.3 LabVIEW程序框图
3.2 LabVIEW的数据流编程方法
3.3 LabVIEW的常用工具及调试工具
3.3.1 LabVIEW工具选板
3.3.2 LabVIEW前面板窗口工具栏
3.3.3 LabVIEW调试工具
3.4 LabVIEW的数据类型及运算
3.4.1 数据类型
3.4.2 数据运算
3.5 LabVIEW的程序结构
3.5.1 while循环结构
3.5.2 for循环结构
3.5.3 条件结构
3.5.4 顺序结构
3.5.5 其他结构
3.6 图形显示
3.6.1 Waveform Graph
3.6.2 Waveform Chart
3.6.3 XY Graph
3.7 数据文件存储
3.7.1 电子表格文件
3.7.2 文本文件
3.7.3 二进制文件
3.7.4 TDMS 文件
3.8 LabVIEW的学习示例及帮助
第4章 LIFA
4.1 LIFA工具包下载安装
4.2 LIFA的工作原理
4.2.1 LIFA的I/O Engine Firmware
4.2.2 LabVIEW VI工作机理
4.2.3 LabVIEW VI与 I/O Engine的通信
4.3 LIFA工具包VI介绍
4.3.1 初始化及关闭VI
4.3.2 Utility子选板VI
4.3.3 Low Level子选板VI
4.3.4 Sensors子选板VI
4.3.5 Examples子选板示例
4.3.6 使用LIFA控制Arduino
4.4 开发更多的传感器扩展VI
4.4.1 基于LIFA开发自己的Sensors VI
4.4.2 基于VISA开发传感器扩展VI
第二篇 扩展应用篇
第5章 基于LabVIEW实现Arduino开发
5.1 基于LabVIEW实现Arduino基本端口编程
5.1.1 闪烁LED
5.1.2 按键控制LED
5.1.3 计时器
5.1.4 移位点亮LED
5.1.5 跑马灯
5.1.6 模拟值采集
5.1.7 模拟值控制跑马灯
5.1.8 模拟值计算
5.1.9 PWM控制LED亮度
5.2 基于LabVIEW实现Arduino传感器扩展
5.2.1 温度传感器
5.2.2 气体传感器
5.2.3 环境光线传感器
5.2.4 RGB LED
5.2.5 遥控杆控制RGB LED
5.2.6 接近式光电传感器
5.2.7 触摸开关传感器
5.2.8 声音检测传感器
5.2.9 数字蜂鸣器
5.2.10 七段数码管
5.2.11 模拟压电陶瓷振动传感器
5.2.12 Slider 60模拟直滑传感器
5.2.13 模拟接口三轴加速度计模块
5.2.14 大电流继电器控制
5.2.15 直流电机控制
5.2.16 步进电机控制
5.2.17 舵机控制
5.2.18 LCD模块
5.2.19 I2C接口加速度模块
5.2.20 Shiftout LED模块
5.3 基于LabVIEW实现Arduino数据采集
5.3.1 连续采集
5.3.2 有限点采集
5.3.3 采集并存储连续数据
第6章 Arduino图形化开发应用实战
6.1 图形化的Arduino Demobox
6.1.1 实现的功能
6.1.2 所需硬件
6.1.3 程序设计及实现
6.2 Arduino I/O测试软件
6.2.1 实现的功能
6.2.2 所需硬件
6.2.3 程序设计及实现
6.3 基于Arduino的简易示波器
6.3.1 实现的功能
6.3.2 所需硬件
6.3.3 程序设计及实现
6.4 基于Arduino的简易逻辑分析仪
6.4.1 实现的功能
6.4.2 所需硬件
6.4.3 程序设计及实现
6.5 基于Arduino控制6自由度机械臂
6.5.1 实现的功能
6.5.2 所需硬件
6.5.3 程序设计及实现
6.6 基于Arduino的弹珠游戏
6.6.1 实现的功能
6.6.2 所需硬件
6.6.3 程序设计及实现
6.7 基于Arduino的"双人乒乓"游戏
6.7.1 实现的功能
6.7.2 所需硬件
6.7.3 程序设计及实现
6.8 基于Arduino的俄罗斯方块游戏
6.8.1 实现的功能
6.8.2 所需硬件
6.8.3 程序设计及实现
附录A Arduino家族
附录B Arduino Uno引脚与AVR单片机引脚对应关系
附录C Arduino Uno R3原理图
附录D LIFA工具包的Firmware固件代码