猜你喜欢
Arduino基础与应用

Arduino基础与应用

书籍作者:黄明吉 ISBN:9787512428485
书籍语言:简体中文 连载状态:全集
电子书格式:pdf,txt,epub,mobi,azw3 下载次数:4443
创建日期:2021-02-14 发布日期:2021-02-14
运行环境:PC/Windows/Linux/Mac/IOS/iPhone/iPad/Kindle/Android/安卓/平板
内容简介

Arduino是一款便捷灵活、方便上手的开源电子平台。以Arduino硬件为基础,搭配各种传感器和功能模块,开发者便可以凭借天马行空的想象力在Arduino上搭建各种创意十足的作品。本书从Arduino的基础知识讲起,针对拥有硬件开发兴趣的广大初学者,较为详细地介绍了如何从Arduino新手成长为“技术大牛”。书中以图和案例的方式,针对Arduino各个功能模块进行了大量的实例讲解,最后通过智能小车和3D打印机两个综合案例系统、完整地对全书的内容进行了实

战演练。

《Arduino基础与应用》对读者的基础知识要求非常低,非常适合作为学生的课外电子项目的参考书和实验教材;同时,全书内容循序渐进,智能小车和3D打印机两个综合案例对有一定电子基础的爱好者同样具有一定的参考价值。


编辑推荐

《Arduino基础与应用》既有基本理论,又有接近实战的实例,因此既适合初学者,也合适有一定基础的读者。

《Arduino基础与应用》随书免费提供程序代码和数据。

《Arduino基础与应用》针对不用开发套件的读者建有三个QQ群。

《Arduino基础与应用》免费配备实验教材的电子版。

《Arduino基础与应用》配有三套开发套件,读者可根据需要联系作者购买。


前言
在国外,Arduino几乎就是创客和硬件创新的代名词。
  21世纪最重要的科技性事件之一———创客运动兴起的标志,就是2005年冬季第一块Arduino开发板的诞生。这款电路板,在全球范围内瞬间引发了经久不衰的创客风潮。
  之后大量涌现的创客项目,包括机器人、无人机、智能家居控制、3D打印等,都主要是以Arduino为原型或基础研发的;而基于Arduino电路及引申的产业,例如Arduino改进或兼容板,服务创客从Arduino原型到批量生产等业务,也在开源硬件大潮中异常火爆。在全球硬件创客的武器库中,Arduino已经连续十多年独霸头把交椅。
  Arduino最大的贡献就是,给极为复杂难懂的电子制作“装上了扳机”:它把创客们最头疼的电子电路和底层驱动库都打包集成为黑箱,进而省略掉了大部分与电路和硬件驱动相关的操作,最终只剩下了简单的控制逻辑。这让创客无须学习复杂的电子基础,也能够轻松制作出精良且可靠的电子创意产品。
  本书特色
  本书的编写目的是为了向拥有硬件开发兴趣的中学生和非电子、机电专业的大学生等初学者提供系统、完善的基础知识与开发教程。同时,本书深入浅出地介绍了Arduino软硬件的基础知识,并结合多个案例,详细介绍Arduino各个功能模块与相关类库,便于读者有针对性地学习和查阅。本书体系结构清晰,内容丰富,功能模块案例和综合案例相结合,使读者能够系统学习,并进一步提高。
  如何阅读本书
  本书共12章,分为三部分,其中第三部分以接近实战的实例来讲解工程应用,相比于前两部分更为独立。如果读者是经验丰富的资深用户,具有一定的Arduino开发经验,那么可以直接阅读第三部分内容;如果读者是初学者,那么请从第一部分的基础篇开始学习。
  第一部分是基础篇,内容包括第1章和第2章,这一部分简单介绍了Arduino的相关背景资料,然后从Arduino的软硬件基础开始讲解:软件方面包含开发环境的搭建、IDE的介绍以及第一个Arduino程序的使用,详细介绍了Arduino程序结构和基本编程基础;硬件方面以Arduino UNO 为例进行了详细介绍,同时包含基础的电路电子知识。初学者可以通过这一部分的学习为Arduino开发打下牢固的基础。
  第二部分是进阶篇,内容包括第3~10章。这一部分详细介绍了Arduino外围模块以及相应类库的使用方法,包含数字信号、模拟信号、串口通信、显示模块、电机控制、无线通信、SD卡扩展、GPS定位等几大模块,每章结合几个小案例对各个模块功能进行讲解。
  第三部分是综合篇,内容包括第11章和第12章。这一部分介绍了两个综合性的案例,即智能小车和3D打印机,这两个案例涵盖了本书的所有内容。通过这两章的学习,可以对全书内容进行系统的回顾与整理。
  致 谢
  首先感谢Arduino开发团队,开源了整个项目,因为他们的无私,才有了本书的面世。同时还要感谢活跃在Arduino论坛上的所有开发人员,是他们的创新精神和辛勤努力才使得这么多新奇的功能得以实现,使得Arduino第三方类库不断完善,使得Arduino不断向前发展。
  本书列入北京科技大学校级“十二五”规划教材建设项目,书的编写得到了北京科技大学教材建设基金的资助。
  本书由北京科技大学机械工程学院的老师编写完成,其中第1~9章由黄明吉编写,学生任晓文、王星宇、张宗信协助;第10~12章由陈平编写,学生陈文斌、张宗信协助。
  书中的不足与错误之处,敬请读者批评指正。
目录

第一部分 基础篇

第1章 认识Arduino 2

1.1 Arduino的来历 2

1.2 Arduino的优点 2

1.3 Arduino硬件与选择 3

1.3.1 认识不同型号的Arduino 4

1.3.2 Arduino外围模块 9

1.4 Arduino扩展模块图解 11

1.4.1 电源扩展板 11

1.4.2 SD卡读/写扩展板 12

1.4.3 GSM 扩展板 12

1.4.4 电机扩展板 14

1.4.5 传感器扩展板 14

1.4.6 Wi-Fi扩展板 15

1.5 从Arduino UNO开始 16

第2章 建立开发环境 19

2.1 项目开发流程 19

2.2 Arduino开发软件 19

2.2.1 下载配置Arduino开发环境 19

2.2.2 认识Arduino IDE 20

2.2.3 安装Arduino驱动程序 22

2.3 自带程序范例与类库介绍 24

2.3.1 Arduino自带范例介绍 24

2.3.2 Arduino自带类库介绍 28

2.4 如何导入第三方库 35

2.5 Arduino语言及程序结构 36

2.5.1 Arduino语言 36

2.5.2 Arduino程序结构 36

2.6 从例程Hello World开始 38

第二部分 进阶篇

第3章 数字信号及应用案例 42

3.1 数字信号简介 42

3.2 LED及应用案例 42

3.2.1 心形LED闪烁案例 42

3.2.2 跑马灯案例 46

3.3 指拨开关控制应用案例 48

3.4 7段数码显示器案例 50

3.5 PWM 及应用案例 55

3.6 蜂鸣器案例 57

3.7 数字输出案例 60

3.8 限位开关案例 63

第4章 模拟信号及应用案例 64

4.1 可变电阻测量案例 64

4.2 光敏电阻测量案例 67

4.3 温度感测案例 69

4.4 压力感测案例 71

第5章 Arduino与外设通信 73

5.1 串口通信 73

5.1.1 其他Arduino上的串口位置 75

5.1.2 Arduino与电脑通信设置 76

5.1.3 Arduino串口通信函数 77

5.1.4 串口通信案例 80

5.2 IIC总线通信 85

5.2.1 IIC主机、从机和引脚 86

5.2.2 Wire类库成员函数 86

5.2.3 IIC连接方法 88

5.2.4 IIC总线通信案例 89

5.3 SPI总线通信 93

5.3.1 SPI引脚 93

5.3.2 SPI总线上的从设备选择 94

5.3.3 SPI类库成员函数 94

5.3.4 SPI总线上的数据发送与接收 95

5.3.5 SPI总线通信案例 95

5.4 USB类库 100

5.4.1 USB类库相关函数 100

5.4.2 模拟键盘输入信息 102

第6章 LCD显示与控制 105

6.1 液晶显示模板1602 LCD 105

6.2 Arduino相关函数库 107

6.3 启动LCD 109

6.3.1 需要的元器件 109

6.3.2 4位数据线接法 110

6.3.3 连接元件 110

6.4 1602 LCD控制案例 111

6.4.1 LCD显示 111

6.4.2 LCD换行控制 112

6.4.3 移动的字幕 113

6.4.4 显示输入数据 114

第7章 Arduino电机控制 117

7.1 直流电机 117

7.1.1 直流电机的选型 117

7.1.2 直流电机接线图解 118

7.1.3 直流电机驱动外围模块 119

7.1.4 直流电机控制案例 120

7.1.5 AFMotor类库 124

7.2 舵 机 125

7.2.1 舵机选型 125

7.2.2 舵机接线图解 126

7.2.3 舵机控制案例 126

7.2.4 Servo类库 127

7.3 步进电机 128

7.3.1 步进电机选型 128

7.3.2 步进电机接线图解 129

7.3.3 步进电机驱动外围模块 130

7.3.4 步进电机控制案例 132

7.3.5 Stepper类库 136

第8章 Arduino与无线通信 138

8.1 无线通信概述 138

8.2 无线通信网络框架 138

8.2.1 一对多通信架构 139

8.2.2 多对多通信架构 139

8.2.3 混合式通信架构 140

8.3 常见的无线通信协议 140

8.4 RF模块 141

8.4.1 315 MHz RF模块及案例 141

8.4.2 RFID与读卡器及案例 144

8.5 红外线与超声波案例 146

8.5.1 红外线与超声波简介 147

8.5.2 简单的红外信号传输案例 147

8.5.3 简单的红外线测距仪案例 149

8.5.4 红外线人体感测案例 150

8.5.5 简单的超声波测距案例 153

8.6 蓝牙模块与案例 155

8.7 Wi-Fi模块与案例 157

第9章 Arduino存储技术 159

9.1 EEPROM 存储技术 159

9.1.1 EEPROM 介绍 159

9.1.2 EEPROM 类库 159

9.1.3 EEPROM 简单读、写案例 160

9.1.4 EEPROM 存储各类型数据案例 163

9.2 SD卡存储技术 _(_y_>奯__165

9.2.1 SD卡介绍 165

9.2.2 SD卡类库 166

9.2.3 SD卡外围模块 169

9.2.4 SD卡简单读/写案例 170

9.2.5 SD卡温度采集案例 176

第10章 GPS室外定位 182

10.1 GPS简介 182

10.2 GPS模块介绍 182

10.2.1 GPS有源天线 182

10.2.2 GPS模块特性参数 183

10.3 GPS使用设定 183

10.4 GPS室外定位案例 185

10.4.1 简单定位案例 185

10.4.2 便携定位装置案例 190

第三部分 综合篇

第11章 智能小车 198

11.1 智能小车结构及功能分析 198

11.1.1 智能小车结构 198

11.1.2 智能小车功能分析 200

11.2 智能小车基本功能实现 202

11.2.1 全向运行 202

11.2.2 实时启动 206

11.3 智能小车黑线循迹 208

11.3.1 黑线循迹原理 208

11.3.2 软、硬件分析 208

11.3.3 操作说明 211

11.4 智能小车红外避障 211

11.4.1 红外避障原理 211

11.4.2 软、硬件分析 211

11.4.3 操作说明 214

11.5 智能小车超声波避障 214

11.5.1 超声波避障原理 214

11.5.2 软、硬件分析 214

11.5.3 操作说明 218

11.6 智能小车红外遥控 218

11.6.1 红外遥控原理 218

11.6.2 软、硬件分析 218

11.6.3 操作说明 221

11.7 智能小车蓝牙遥控 221

11.7.1 蓝牙遥控原理 221

11.7.2 软、硬件分析 221

11.7.3 操作说明 229

11.8 智能小车Wi-Fi遥控 230

11.8.1 Wi-Fi遥控原理 230

11.8.2 软、硬件分析 230

11.8.3 操作说明 234

第12章 桌面式3D打印机 238

12.1 3D打印技术介绍 238

12.1.1 3D打印原理 238

12.1.2 3D打印流程 239

12.1.3 3D打印特点 240

12.2 桌面式3D打印机结构 240

12.3 3D打印机打印使用说明 241

12.3.1 3D打印机软件使用说明 241

12.3.2 3D打印机硬件使用说明 245

12.3.3 3D打印使用案例 246

12.3.4 3D打印机维护与保养 248

12.3.5 3D打印机常见故障分析 249

12.4 3D打印机功能技术分析 250

12.4.1 3D打印机控制系统分析 250

12.4.2 G代码文件分析 263

12.4.3 存储模块 266

12.4.4 显示模块 275

12.4.5 运动控制模块 283

12.4.6 加热与温度测量模块 294

12.4.7 限位开关模块 298

12.4.8 3D打印总流程分析 300

附 录 305

A.1 使用专业的IDE编写Arduino项目 305

A.2 常见问题及解决方法 308

A.2.1 驱动无法正常安装 308

A.2.2 avrdude:stk500_getsync():notinsync:resp=0x00错误 310

A.2.3 WProgram.h:Nosuchfile ordirectory:编译错误 311

A.2.4 Arduino是否支持其他型号的芯片 311

A.2.5 Arduino开源使用的协议是什么 312

A.2.6 能否使用AVR.Libc和汇编等开发Arduino 312

A.3 数值计算 312

A.3.1 十进制计算 312

A.3.2 二进制计算 312

A.3.3 十六进制计算 313

A.4 ASCII码对照表 314

A.5 串口通信可用的config配置 315

A.6 USB键盘库支持的键盘功能列表 315

A.7 循环冗余检查码 317

A.8 Checksum 318

A.9 G代码含义注解 319

参考文献 323__