编辑推荐
适读人群 :有意向机器人领域展开探索的极客、创客及电子爱好者阅读,以及高等院校自动化、机电一体化、机器人等相关专业的师生 为你的机器人梦注入新动力——无需高级的电子电路或者编程技巧《Arduino机器人制作指南》向你展示了如何仅仅使用普通的工具和零件来制作自动机器人。你可以学到如何进行电路连接,如何对机器人“大脑”编程,为机器人添加的特性等技能,本书内容通俗易懂,全景式讲解如何从轮式机器人平台Teachbot逐渐扩展到功能更加复杂的机器人项目,还有音乐机器人Tunebot、遥控机器人Telebot、机器蛇Snakebot.以及一个工作满园约50cm的机械手
内容简介
《Arduino机器人制作指南》通过几个廉价且可以对零件重复利用的教学机器人案例,向读者展示了貌似高科技且神秘的机器人科技。《Arduino机器人制作指南》是一本机器人科技入门的“大百科全书”,不仅系统地讲解基于Arduino的机器人编程技术,还详细介绍机器人科技必涉的传感器技术、运动控制技术、人工智能技术等。在完成《Arduino机器人制作指南》的学习之后,读者不仅能够了解到现代机器人的理论框架,随着《Arduino机器人制作指南》内容的逐步展开,如果有兴趣同步动手实践,还能逐渐提高自己制作机器人的能力。本书适合有意向机器人领域展开探索的极客、创客及电子爱好者阅读,也适合高等院校自动化、机电一体化、机器人等相关专业的师生参考。
作者简介
Gordon McComb,已经写作了65本书籍和上千篇杂志文章,累计发行量超过100万,并被翻译成十几种语言。在过去的13年中,Gordon一直在为计算机和高科技方面报刊撰写专栏文章,影响着全世界范围内的几百万读者。他还是SERVO Magazine及其他许多杂志的主要撰稿人,并维护着一个用于教授机器人制作科学的网站。他是畅销书Robot Builder's Bonanza(《机器人设计与实现》)的作者,该书目前已经是第四版了。
唐乐,网名风的孩子,匪号“疯叫兽”,湖南人,出生于70年代末期。由于毕业于和Arduino毫不相干的经济学专业,在跌跌撞撞地成“神”之路中,犯过了所有“菜鸟”所能犯的一切错误。
为了显摆自己“想当年”百折不挠的创客精神,“疯叫兽”总是摆出“诲人不倦”的嘴脸,在包括QQ群、技术社区在内的各种场合“拉人下水”,用大白话和冷幽默“忽悠”新人玩Arduino。
好在“疯叫兽”英文还不错,自信对Arduino已经滚瓜烂熟,遂常常挑选国外很棒的Arduino书籍在国内翻译出版,并乐此不疲,以证明自已的“学霸”地位。“学霸”的理想是联合圈内有识之士编写一套有影响的本土原创Arduino丛书。
内页插图
目录
第1章 Arduino开发平台介绍
为何制作机器人
为何用Arduino制作机器人
Ardruno可以为机器人做什么
Ardtuno:硬件和软件的整合
近距离观察Arduino硬件
Arduino主板上需要关注的重点
可用内存
关于电压和处理速度
Arduino工作电压:3.3V或5V
Arduino工作速度
了解主板上所有的LED
旧版本的ArdLuno主板
了解Arduino软件
IDE版本
USB驱动
使用面包板或扩展板扩展
第2章 让Arduino跑起来
所需零件
Arduino快速上手
步骤1——下载Arduino IDE
步骤2——解压缩软件包
步骤3——安装USB驱动
步骤4——确认Arduino正常工作
步骤5——启动Arduino IDE
步骤6——选定Arduino主板类型和通信端口
步骤7——上传测试Sketch
步骤8——修改测试Sketch
再次了解Arduino
微控制器编程入门
概念:全都是“数字
HIGH到底是多高
bit、byte、word
烦人的概念:命令、函数、声明、数据类型、运算符及变量名
语法和结构
Sketch的结构分析
上手实验1:我们的LED闪光灯
上手实验2:我们的LED闪光灯,镜头2
上手实验3:读取按键状态
上手实验4:让Arduino发出声音
第3章 制作Teachbot学习平台
舵机版Teachbot概述
舵机版Teachbot的功能
制作舵机版Teachbot机体
切割零件
开孔技巧
添加甲板
组装Teachbot
步骤0——准备好基本零件
步骤1——将舵机安装到舵机固定座上
步骤2——将L支架和舵机固定座连接在一起
步骤3——将舵机固定座安装到底层甲板上
步骤4——安装平衡支撑杆
步骤5——给舵机安装轮子
步骤6——安装电池
步骤7——将Arduino安装到第二层甲板上
……
第4章 Teachbot编程:行走
第5章 Teachbot编程:碰撞检测与循迹
第6章 Teachbot编程:避障
第7章 机械制作
第8章 电子电路制作
第9章 加强版Teachbot
第10章 神奇的音乐机器人
第11章 遥控机器人到达指定位置
第12章 机器蛇
第13章 机械手
前言/序言
掌控智能:Arduino驱动的未来创造之旅 在瞬息万变的科技浪潮中,动手实践的能力显得尤为宝贵。从简单的电路搭建到复杂的自动化系统,Arduino以其开放、易用的特性,为无数创客、学生、工程师和爱好者打开了通往电子世界和机器人技术的大门。本书并非仅仅罗列枯燥的代码和电路图,而是旨在引领您踏上一段充满惊喜与创造的旅程,让您深刻理解智能硬件背后的逻辑,并亲手赋予它生命。 第一部分:Arduino的奥秘——基础概念与入门探索 我们将从最基础的概念入手,深入浅出地剖析Arduino的硬件架构和核心原理。您将了解微控制器(MCU)在现代电子设备中的核心作用,以及Arduino开发板如何通过其独特的接口设计,让复杂的电子元器件变得触手可及。 理解微控制器: 我们会详细介绍微控制器的基本构成,包括中央处理器(CPU)、内存(RAM和ROM)、输入/输出(I/O)接口以及各种内置外设(如ADC、PWM、定时器等)。您将明白Arduino开发板是如何将这些强大的计算能力封装起来,让普通用户也能轻松驾驭。 Arduino开发板家族: 从经典的Arduino Uno到功能更强大的Mega,再到小巧玲珑的Nano,我们会逐一介绍不同型号Arduino开发板的特点、适用场景以及它们的硬件差异。您将学会如何根据您的项目需求选择最适合您的Arduino平台。 搭建您的第一个Arduino项目: 理论的学习离不开实践。本书将引导您完成一系列入门级的实践项目,例如点亮LED、读取按钮状态、控制蜂鸣器发声等。这些看似简单的操作,将是您理解数字输入/输出、基本数字逻辑以及与硬件交互的关键一步。 Arduino IDE:您的代码创作平台: 我们将全面讲解Arduino集成开发环境(IDE)的使用方法。从下载安装、编写第一个“Hello World”程序(即点亮LED),到上传代码、调试程序,您将熟悉Arduino IDE提供的强大功能,如代码编辑器、串口监视器、库管理器等,为后续更复杂的编程打下坚实基础。 C/C++语言基础与Arduino编程: Arduino的编程语言是基于C/C++的,本书将为您系统地梳理C/C++语言中与Arduino开发密切相关的基础知识,包括变量、数据类型、运算符、控制语句(if-else, for, while)、函数以及数组等。我们将强调这些语言特性如何在Arduino环境中实现对硬件的控制。 函数与库:解放你的双手: 理解函数的重要性,学习如何编写自定义函数来组织和重用代码。同时,我们将介绍Arduino的强大之处——丰富的内置库和社区共享的第三方库。您将学会如何利用这些库来轻松实现各种复杂功能,如处理传感器数据、控制显示屏、进行通信等,而无需从零开始编写所有代码。 模拟与数字的世界: 深入理解数字信号和模拟信号的区别。学习如何使用Arduino的数字引脚进行高低电平的读写,以及如何利用其模拟输入(ADC)读取连续变化的传感器信号,如电位器、光敏电阻等。 第二部分:感知世界——传感器技术与数据采集 智能硬件的核心在于“感知”。通过各种传感器,Arduino能够“看到”、“听到”、“触摸”甚至“感知”周围的环境。本部分将带您走进多样化的传感器世界,学习如何读取、处理和利用来自传感器的数据,为您的机器人赋予“智慧”。 温度与湿度传感器: 学习使用DHT11/DHT22等温湿度传感器,了解如何读取当前环境的温度和湿度数值,并将其显示在屏幕上。这将是理解模拟传感器数据采集和数值处理的绝佳起点。 光照强度传感器: 通过光敏电阻或光照传感器模块,学习如何检测环境光的强度,并根据光照变化触发相应的动作,例如在光线变暗时自动打开LED灯。 距离传感器: 探索超声波传感器(HC-SR04)和红外测距传感器,学习如何测量物体与Arduino之间的距离。这对于避障、自动泊车等机器人应用至关重要。 声音传感器: 学习使用声音传感器来检测声音的强度,并根据声音的大小或是否有声音触发特定的反应,例如拍手响应灯光。 运动与姿态传感器: 深入理解加速度计和陀螺仪(如MPU6050)的工作原理。学习如何利用这些传感器来检测设备的运动方向、速度和姿态,为构建平衡车、姿态识别系统奠定基础。 GPS模块: 了解GPS模块的工作原理,学习如何获取设备的经纬度、速度等地理位置信息,为实现导航和定位功能提供可能。 数据采集与可视化: 学习如何将传感器采集到的数据通过串口发送到电脑,并利用Arduino IDE的串口绘图器或者更专业的软件(如Processing)进行实时数据可视化。这有助于您直观地理解传感器的工作状态和数据变化趋势。 第三部分:驱动未来——电机控制与执行机构 机器人的“行动”离不开驱动。电机是机器人最基本的执行部件。本部分将聚焦于Arduino如何精确地控制各种电机,实现机器人的移动、抓取等功能。 直流电机控制: 学习使用L298N等电机驱动模块来控制直流电机的转向和速度。理解PWM(脉冲宽度调制)在实现电机调速中的关键作用。 伺服电机控制: 探索伺服电机(Servo Motor)的特点,学习如何利用Arduino的PWM功能来精确控制伺服电机的角度,实现精密的机械臂动作或转向控制。 步进电机控制: 了解步进电机的原理,学习如何使用步进电机驱动器来精确控制电机的旋转步数和方向,这在需要高精度定位的场合非常有用。 舵机(SG90)的应用: 学习如何使用常见的SG90舵机,通过简单的代码实现其精确的转向控制,为机器人添加灵活的“手臂”或“头部”。 电机驱动模块解析: 详细介绍常用的电机驱动模块(如L298N、A4988等)的接线方式、工作原理以及它们如何解决Arduino直接驱动大功率电机的问题。 第四部分:交互之道——显示、通信与人机接口 一个完整的智能系统需要与外界进行信息交流。本部分将重点介绍如何利用Arduino实现与用户的交互,以及与其他设备进行通信。 LCD显示屏应用: 学习如何连接和控制常见的LCD1602、OLED显示屏,在屏幕上显示传感器数据、状态信息或简单的文字。 数码管显示: 掌握如何使用数码管来显示数字,并了解如何通过芯片(如MAX7219)来简化数码管的控制。 按钮与开关: 学习如何连接和读取各种类型的按钮和开关,作为触发指令的输入设备。 蓝牙通信: 了解蓝牙模块(如HC-05/HC-06)的工作原理,学习如何通过蓝牙与手机App或电脑进行无线通信,实现远程控制和数据传输。 Wi-Fi通信: 探索ESP8266或ESP32等Wi-Fi模块,学习如何将Arduino连接到互联网,实现物联网(IoT)应用,如远程监控、数据上传云平台等。 红外通信: 学习使用红外收发模块,实现简单的红外遥控功能,例如用遥控器控制Arduino板上的LED灯。 第五部分:构建智能——综合项目与进阶实践 在掌握了基础知识和各项核心技术后,我们将通过一系列综合项目,将零散的知识点融会贯通,让您亲身体验构建一个完整的智能硬件作品。 智能小车系统: 从基础的两轮驱动小车开始,逐步增加避障功能(超声波传感器)、循迹功能(红外传感器)、远程控制功能(蓝牙/Wi-Fi)。您将学习如何集成多个模块,并编写复杂的控制逻辑。 环境监测站: 结合温度、湿度、光照、PM2.5等多种传感器,构建一个能够实时监测环境数据的智能系统,并将数据通过Wi-Fi上传至云平台进行展示和分析。 机械臂控制: 利用伺服电机和舵机,设计并控制一个简单的机械臂,学习如何编写复杂的运动序列,实现抓取、放置等动作。 智能家居设备原型: 尝试搭建一个简单的智能灯光控制系统,通过手机App或语音指令控制灯光的开关和亮度。 趣味机器人挑战: 设计并实现一些具有挑战性的机器人项目,例如能够跳舞的机器人、能够画画的机器人等,激发您的创造力和解决问题的能力。 第六部分:优化与进阶——调试技巧、代码优化与未来展望 在项目制作的过程中,难免会遇到各种问题。本部分将为您提供实用的调试技巧,并指导您如何优化代码,提高程序的效率和可读性。 调试方法与工具: 深入讲解如何利用串口监视器、LED闪烁、断点调试等方法来定位和解决程序中的错误。 代码优化策略: 学习如何编写更简洁、高效的代码,例如使用更优的数据结构、避免不必要的计算、合理利用中断等。 电源管理: 了解在不同项目中如何选择合适的电源,以及如何进行简单的电源管理。 故障排除指南: 针对常见的硬件连接问题、软件bug等,提供排查和解决问题的建议。 拓展与开源社区: 介绍Arduino强大的开源社区资源,如何查找更多项目灵感、学习他人经验,以及如何为开源社区贡献自己的力量。 面向未来: 展望Arduino在人工智能、嵌入式系统、物联网等前沿领域的应用前景,鼓励您不断学习,探索更多可能性。 本书将以详实的图文讲解、清晰的代码示例和循序渐进的实践项目,帮助您从零开始,逐步掌握Arduino机器人制作的核心技术。无论您是初学者还是有一定基础的创客,都能从中找到乐趣并获得宝贵的实践经验,开启属于您的智能创造之旅。让我们一同迈出第一步,让您的创意在Arduino的驱动下,化为触手可及的智能现实。
这本书带给我的惊喜远不止于此。 我之前一直认为机器人制作是一个非常烧钱的爱好,但《Arduino 机器人制作指南》却展现了如何在有限的预算内,也能做出功能强大、创意十足的机器人。 书中推荐的许多零配件都非常常见,而且价格合理,这大大降低了入门的门槛。 更重要的是,它激发了我用现有材料进行二次创作的灵感。 看到书中那些用废弃零件改造的机器人,我顿时觉得,原来身边的很多东西都可以成为机器人身体的一部分。 这种“变废为宝”的理念,不仅环保,也让机器人制作充满了更多的可能性。 我现在已经开始尝试用自己收集的一些旧玩具零件来制作我的下一个机器人了,感觉比直接购买套件更有趣,也更有意义。