图书前言

在英、美、日、德等工业发达的国家中,工业型机器人(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章 超声波避障自动机器人实习:认识与使用PING)))TM超声波模块及伺服马达,并且利用伺服马达转动超声波模块检测自动机器人右方(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(外接函数库)”文件夹中找到,必须将它们解压缩并且存入Arduino/libraries文件夹中才能使用。

下载地址

本书配套的范例程序、外接函数库和附录内容可以从以下网址下载(注意区分数字和英文字母大小写):

http://pan.baidu.com/s/1cD1bUu

如果下载有问题,请发送电子邮件至booksaga@163.com进行咨询,邮件主题设置为“Arduino自动小车配套资源”。

致谢

本书能够顺利完成,要感谢基峰信息公司的企划与协调,以及慧手科技有限公司的协助与全力配合,他们开发了书中各种自动机器人所需的部件与模块。期盼通过本书的学习,能让读者快快乐乐、轻轻松松地制作出一台属于自己的自动小车!

杨明丰