版权信息
书名:Arduino与LabVIEW开发实战
作者:沈金鑫
出版社:机械工业出版社
出版时间:2014-03
ISBN:9787111458395
本书由北京华章图文信息有限公司授权上海阅文信息技术有限公司进行制作与发行。
版权所有·侵权必究
推荐序一
和金鑫认识这么久了,但这本书还是给我带来了惊喜。
对于喜爱机器人技术并且热衷于科技创业的人而言,当下这个时代无疑是充满竞争而饱含激情的。它所充斥的梦想、理念,使得很多年轻人跃跃欲试。与他们的父辈不同,西风东渐,现在的社会环境蓬勃发展,逐渐成熟,经济转型带来的政策鼓励,使他们能更轻松地实现梦想。这些便利的条件帮助了无数涉世未深的年轻人选择非按部就班的道路,同时,他们所需要的、更加强大而易于掌握的生产力工具就显得尤为重要。
长期以来,机器人设计必须依靠一系列核心技术,不仅艰涩难懂,而且夹杂着无休无止的硬件问题,这让无数初学者头疼不已。好在Arduino技术秉承着自由趣味的精神,让有兴趣的人能接触并在短时间内完成一个实际范例。或许,通过网络玩家和创客的支持与分析,这种精神能不断延续。
Arduino到底是什么意思呢?其实它是11世纪北意大利国王的名字,后来被引用到控制器上。得益于其程序语言的简洁易懂,技术门槛低,使得各行各业的人们都能加入设计师的行列。它作为一种开源硬件的典型代表,经历了历史的淘洗,有了自己的文化。这种科技和文化艺术的交流,搭建了一座现实和虚拟世界的桥梁,让无数充满梦想的人在现实中实现脑海中的设想。而LabVIEW作为软件编程的基础工具,同样具有表达清晰、易于学习、方便设计的特征。
本书的亮点在于,它将Arduino和LabVIEW这两种简便易行的工具结合在一起,控制器与软件相结合,互相补充协助形成上下位机系统,教会读者如何使用它们,并做出基于它们的实际项目。
假设需要这本书的人都是怀着梦想、希望改变自己、改变世界的人,假设你们都是对这个世界的不如意有着改造和寄予的人,那么,从此时开始,做好准备,从观察和学习开始,从学好一种设计的能力开始,从这本书开始。
祝阅读愉快!
匡荛于东南大学
2013年10月
推荐序二
Arduino从未停止过开源创新的步伐,自其问世以来为无数创客提供了大大小小的开源控制器硬件,因其程序语法简单易懂,开发资料丰富,短短几年时间迅速蹿红创客界风靡全球。最新推出的Arduino Yun更是得到了众多创客们的追捧,因其整合了Arduino易用的架构和Linux系统的强大功能,可以轻松连接到复杂的Web服务,并融合多种功能,俨然成为即将改变我们家庭生活的又一大利器。
硬件平台的推陈出新,离不开软件的支持协作,由美国国家仪器(简称NI)公司推出的LabVIEW图形化设计软件平台,可以完美地与Arduino硬件结合,其与传统文本形式编程语言不同,打开软件,你会发现眼前是一幅由各种各样的图形块与彩色线条组成的图画。图形化软件编程界面直观,技术门槛低,易学易懂,能够给开发者提供更多创新机会,更重要的是LabVIEW可以帮助开发者在不同阶段使用不同版本,根据硬件平台的不同,合理选择。对于学生连续性的学习,有助于帮助他们将LabVIEW用于未来的实际工作中。
本人有幸通过Arduino学习交流与作者相识,先于广大读者阅读全书内容。本书前两章分别对Arduino硬件和LabVIEW软件做了基础性的讲解,随即在第3章中对软硬件两者之间如何连接进行了全面剖析,如RS485、蓝牙、射频、ZigBee等都是当下最热门的通信方式,图文并茂,配以实验案例教学,促使读者快速加深对知识的认知和理解。本书最后分基础实验、应用进阶、实战项目三章讲述,这部分的内容是本书的最大亮点,作者精挑细选的实验案例完全考虑初学者的学习能力和对实验的兴趣,由浅入深,力求通俗易懂。本书的出版将继续推动Arduino和LabVIEW在中国的普及和推广,同时也会大大提高中国学生对编程创作的热情。
如果你想玩转Arduino,相信LabVIEW这款图形化编程软件是你的最佳选择。最后,希望你能够通过本书的学习创造出更多好玩新奇的作品。
于欣龙
奥松机器人创始人、资深创客
前言
Arduino是开源硬件的典型代表。Arduino控制器板卡、简单易用的Arduino IDE,以及Arduino简单易懂的语言,淡化了单片机底层硬件的知识,极大地简化了单片机的软硬件设计,让很多不懂单片机等底层硬件的科技爱好者也可以进行电子制作。同时社区论坛中很多爱好者制作的参考示例可供参考使用,而且社区论坛和参考示例也在不断地增加。
LabVIEW是图形化编程软件的代表,采用图形化编程语言进行软件设计,具有表达形象、易于阅读、便于理解的优点。只需要选择合适的控件并合理布局,很轻松地就可以构建出一个漂亮的仪器仪表界面;框图编程部分采用直观的连线方式实现函数之间的数据传递。同时拥有大量的操作面板控件和不同功能的函数库,可供大家调用。
Arduino和LabVIEW将复杂烦琐的单片机设计和软件设计变得简单化,更加亲民、易于接受和学习;同时Arduino控制器需要简单易用的上位机软件,实现较为复杂的运算与显示功能;LabVIEW软件需要性价比高的下位机,负责采集数据和输出执行的任务;如果将两者结合起来组成上下位机系统,各司其职,分工协作,即可实现两者的功能互补。本书讨论的主要内容正是如何使用Arduino控制器和LabVIEW软件,并将两者有机结合起来,做出基于Arduino控制器与LabVIEW软件的实际应用和项目。
目标读者
本书适合大中专院校的仪器仪表类、电子类、通信类、计算机类等专业学生阅读,还适合Arduino学习者、LabVIEW学习者以及渴望利用Arduino与LabVIEW实现自己想法的创客们。
关于本书
我在南京理工大学攻读硕士学位时,跟随导师采用LabVIEW软件来完成科研课题,发现很多课题之中都有数据采集需求,而且对采样速率和采样精度的要求不高,但却需要花费几万元去购买NI公司的数据采集卡,这极大地限制了在对成本敏感的项目中使用LabVIEW软件。此后,我就开始自己采用单片机搭配高性能的A/D芯片制作简易的数据采集设备,以满足低速、低成本的数据采集任务,并成功地应用于很多项目中。
后来,在网上遇到了南京嵌入之梦电子设计工作室的丁齐老师和郑岩峰、戴晓天、金小飞等人,一起联合成立了南京创客空间。在创客空间的活动中,发现很多人都使用Arduino来做原型开发,深入学习了Arduino之后觉得如获至宝,可以将Arduino与LabVIEW结合起来制作出很多有趣的玩意儿。这时候,还发现了NI公司提供了LabVIEW Interface for Arduino工具包,试用之后觉得模拟采样库比较实用,可将Arduino控制器用作数据采集板卡,如果使用高精度的基准源,则采集精度将会更高,同时说明NI公司很看好Arduino及开源硬件的发展前景。
本书中的Arduino程序代码和LabVIEW程序都可以从我的新浪博客(blog.sina.com/shenjinxin2008)和个人博客(www.shenjinxin.org)上下载,并可获得技术支持服务。
本书的内容及阅读建议
全书按照由易到难的顺序编写,同时各章节相对独立,全书共分为6章,分别为Arduino基础、LabVIEW基础、如何连接Arduino与LabVIEW、基础实验篇、应用进阶篇和实战项目篇。
第1章 Arduino基础:讲述了Arduino的分类、如何搭建Arduino开发平台、数字输入/输出、模拟输入/输出、串口通信和时间函数,并穿插以实际操作的实验,以加深理解。
第2章 LabVIEW基础:讲述了虚拟仪器的组成、LabVIEW基础知识、数据结构、程序结构、常用的波形图表和波形图、基本的文件I/O操作、信号分析与处理、典型的设计模式,同时通过示例说明每部分的使用方法。
第3章 如何连接Arduino与LabVIEW:讲述了如何实现Arduino与LabVIEW的连接,包括LabVIEW Interface for Arduino方式、串口控制方式、无线串口方式和Ethernet方式4个部分,其中无线串口方式介绍了Bluetooth、APC220和ZigBee。在前三个方式中,Arduino控制器都是通过串口与LabVIEW进行通信的,而在Ethernet方式中则是通过Ethernet模块和网络与LabVIEW进行通信的。
第4章 基础实验篇:讲述了利用LabVIEW Interface for Arduino工具包,实现对Arduino控制器及外部设备的控制,其中将Arduino控制器用作数据采集卡,扩展了LabVIEW廉价采集卡的选用范围。
第5章 应用进阶篇:讲述了7个Arduino与LabVIEW的应用,包括多路数据采集、热电偶高温监测、多路温度数字测量、温湿度测量、超声波测距、红外测距和小量程电子称重系统,涉及传感器及器件的选用与编程方法,并给出了Arduino控制器的代码清单和LabVIEW程序框图。
第6章 实战项目篇:讲述了4个综合性的项目,包括无线遥控智能小车、个人小型气象站、智能农业监测系统和基于网络的远程智能家居系统,深入地讲解了系统的构成、硬件连接、软件设计和故障排除方法。
如果您是艺术家、设计师等读者,不了解Arduino和LabVIEW,建议您从第1章开始按部就班地阅读到最后一章,并做好每一个实验,这可能会花费您大量时间和精力,但是这有助于您尽快上手Arduino和LabVIEW,同时您需要注意本书提示部分的内容。
如果您是Arduino玩家,建议您跳过第1章直接阅读第2章,学会使用LabVIEW软件之后,接着阅读第3章,在实现了Arduino与LabVIEW的连接之后,再去阅读后面的基础实验篇、应用进阶篇和实战项目篇,最终做出属于自己的Arduino与LabVIEW的作品。
如果您是LabVIEW程序员,建议您从第1章开始阅读,熟悉Arduino控制器并完成每一个Arduino实验之后,跳过第2章直接阅读第3章,实现了Arduino与LabVIEW的连接之后,再去阅读后面的基础实验篇、应用进阶篇和实战项目篇,最终做出属于自己的Arduino与LabVIEW的作品。
如果您是Arduino与LabVIEW的玩家,您可以阅读本书的任意章节,并可以根据本书的介绍来复现书中的应用和项目,由于拥有较好的功底,您最终可以做出属于自己的Arduino与LabVIEW的作品。
致谢
首先,感谢本书的策划编辑张国强先生,他对Arduino的关注促使了本书的出版,并在写作过程中提出了非常宝贵的建议与意见。
其次,感谢我的妻子冯倩女士对我的支持与鼓励,冯倩女士对本书的校对和修改也做了很多的工作。同时,在本书的编写中,南京理工大学的陆旭峰、袁涛、杜超、王荣振,南京创客空间的郑岩峰、金小飞、江玉明、陈大庆、戴晓天、邓豪等人也参与了本书的校对和修改,感谢他们。
另外,感谢成都智能盒子有限公司的陈吕洲先生和杭州橡木桶科技有限公司的郝弘毅先生为我提供Arduino兼容控制器。本书的Arduino程序代码在OPENJUMPER的Zduino Uno和OCROBOT的Mango II兼容控制器上验证通过。
最后,感谢东南大学的匡荛教授和奥松机器人的于欣龙为我作了推荐序,感谢每一位阅读本书的读者。
由于作者经验和时间有限,本书也是对Arduino与LabVIEW的一种探索,书中难免存在错误和不足之处,恳请各位专家和读者不吝赐教。联系邮箱:shenjinxin2008@126.com。
沈金鑫
2013年10月于南京理工大学