Arduino技术指南

Arduino技术指南

编辑推荐

本书针对想了解Arduino细节、追求个性和新鲜事物的爱好者,详尽介绍了使用Arduino开发板与扩展板的过程中应该了解的技术细节、注意事项。

内容简介

本书主要讲解了Arduino开发板的物理特性与接口功能,Arduino使用的各种AVR微控制器,Arduino特有的编程环境,各种扩展板,可与Arduino一起工作的传感器、继电器模块、小键盘以及其他附加组件,从零开始创建自定义扩展板的步骤,介绍各种分析设计问题、定义实体与可测试需求的方法,确保开发成功。

作者简介

作者John M. Hughes,嵌入式系统工程师,在电子学、嵌入式系统及软件、航天系统和科学应用开发等领域拥有30余年的从业经验。 曾负责为凤凰号火星探测器开发表面成像软件。他所在的一个小组还开发了新型合成外差激光干涉仪,用于校正韦伯太空望远镜镜片的位置控制。 另著有《电子工程师必读:元器件与技术》,为没有电子学专业背景的爱好者和创客系统介绍电子学中的硬件、元件、工具和技术。

章节目录

版权信息

O'Reilly Media, Inc. 介绍

业界评论

前言

目标读者

这本书是什么

这本书不是什么

专业术语

本书内容

产品宣传

排版约定

Safari®Books Online

联系我们

致谢

第1章 Arduino 家族

1.1 Arduino简史

1.2 Arduino设备类型

1.3 Arduino实物展示

1.4 Arduino兼容设备Arduino兼容设备

1.4.1 硬件兼容设备

1.4.2 软件兼容设备

1.5 Arduino命名约定

1.6 使用Arduino可以实现的目的

1.7 更多信息

第2章 AVR 微控制器

2.1 背景

2.2 内部架构

2.3 内部存储器

2.4 外围功能

2.4.1 控制寄存器

2.4.2 数字I/O端口

2.4.3 8位定时器/计数器

2.4.4 16位定时器/计数器

2.4.5 定时器/计数器预分频器

2.5 模拟比较器

2.6 模数转换器

2.7 串行I/O

2.7.1 USART

2.7.2 SPI

2.7.3 TWI

2.8 中断

2.9 看门狗定时器

2.10 电气特性

2.11 更多信息

第3章 Arduino 专用 AVR 微控制器

3.1 ATmega168/328

3.1.1 内存

3.1.2 特性

3.1.3 封装

3.1.4 端口

3.1.5 引脚电路

3.1.6 模拟比较器输入

3.1.7 模拟输入

3.1.8 串行接口

3.1.9 定时器/时钟I/O

3.1.10 外部中断

3.1.11 Arduino引脚分配

3.1.12 基本电气特性

3.2 ATmega1280/ATmega2560

3.2.1 内存

3.2.2 特性

3.2.3 封装

3.2.4 端口

3.2.5 引脚功能

3.2.6 模拟比较器输入

3.2.7 模拟输入

3.2.8 串行接口

3.2.9 定时器/时钟I/O

3.2.10 外部中断

3.2.11 Arduino引脚分配

3.2.12 电气特性

3.3 ATmega32U4

3.3.1 内存

3.3.2 特性

3.3.3 封装

3.3.4 端口

3.3.5 引脚功能

3.3.6 模拟比较器输入

3.3.7 模拟输入

3.3.8 串行接口

3.3.9 定时器/时钟I/O

3.3.10 外部中断

3.3.11 USB 2.0接口

3.3.12 电气特性

3.3.13 Arduino引脚分配

3.4 熔丝位

3.5 更多信息

第4章 Arduino 技术细节

4.1 Arduino特性与功能

4.2 Arduino USB接口

4.3 Arduino物理大小

4.3.1 全尺寸基本Arduino PCB类型

4.3.2 Mega类型的Arduino PCB

4.3.3 小型Arduino PCB

4.3.4 特殊用途PCB类型

4.4 Arduino引脚布局

4.4.1 Arduino基线引脚布局

4.4.2 扩展基线引脚布局

4.4.3 Mega引脚布局

4.4.4 非标准布局

4.5 更多信息

第5章 对 Arduino 与 AVR 微控制器编程

5.1 微控制器交叉编译

5.2 BootLoader

5.3 Arduino IDE环境

5.3.1 安装Arduino IDE

5.3.2 配置Arduino IDE

5.4 使用Arduino IDE进行交叉编译

5.4.1 Arduino可执行映像

5.4.2 Arduino软件创建过程

5.4.3 程序标签卡

5.4.4 Arduino软件架构

5.4.5 运行时支持:main()函数

5.4.6 程序示例

5.4.7 常量

5.4.8 全局变量

5.5 库

5.5.1 在Arduino程序中使用库

5.5.2 将库添加到Arduino IDE

5.5.3 创建自定义库

5.6 Arduino源代码

第6章 不使用 Arduino IDE 编程

6.1 IDE替换方案

6.1.1 PlatformIO

6.1.2 Ino

6.2 AVR工具链

6.2.1 安装工具链

6.2.2 make

6.2.3 avr-gcc

6.2.4 binutils

6.2.5 avr-libc

6.3 从零开始构建C或C++程序

6.3.1 使用avr-gcc或avr-g++进行编译

6.3.2 多个源文件与make程序

6.4 AVR汇编语言

6.4.1 AVR编程模型

6.4.2 创建AVR汇编语言程序

6.4.3 AVR汇编语言资源

6.5 上传AVR可执行代码

6.5.1 系统内编程

6.5.2 使用Bootloader编程

6.5.3 不使用Bootloader上传

6.5.4 JTAG

6.5.5 AVRDUDE

6.5.6 将Arduino用作ISP

6.5.7 Bootloader运作

6.5.8 更换Bootloader

6.6 小结

第7章 Arduino 库

7.1 库组件

7.1.1 EEPROM

7.1.2 Ethernet

7.1.3 Firmata

7.1.4 GSM

7.1.5 LiquidCrystal

7.1.6 SD

7.1.7 Servo

7.1.8 SPI

7.1.9 SoftwareSerial

7.1.10 Stepper

7.1.11 TFT

7.1.12 Wi-Fi

7.1.13 Wi-Fi类

7.1.14 IPAddress类

7.1.15 Server类

7.1.16 Client类

7.1.17 UDP类

7.1.18 Wire

7.1.19 Esplora

7.2 第三方库

第8章 扩展板

8.1 扩展板的电气特性

8.2 扩展板的物理特性

8.3 堆叠扩展板

8.4 常用Arduino扩展板

8.4.1 输入/输出

8.4.2 I/O扩展板

8.4.3 I/O拓展板

8.4.4 继电器扩展板

8.4.5 信号路由扩展板

8.4.6 存储器

8.4.7 通信

8.4.8 串行I/O与MIDI

8.4.9 Ethernet

8.4.10 蓝牙

8.4.11 USB

8.4.12 ZigBee

8.4.13 CAN

8.4.14 原型

8.4.15 制作自定义原型扩展板

8.4.16 运动控制

8.4.17 DC与步进电机控制

8.4.18 PWM与舵机控制

8.4.19 显示器

8.4.20 仪表扩展板

8.4.21 适配器扩展板

8.4.22 混杂扩展板

8.5 非常见Arduino扩展板

8.6 资源

第9章 模块与I/O组件

9.1 模块

9.1.1 物理外形

9.1.2 接口

9.1.3 模块来源

9.1.4 模块说明

9.2 Grove模块

9.3 传感器与模块介绍

9.4 传感器

9.4.1 温度、湿度、压力传感器

9.4.2 倾斜传感器

9.4.3 声音传感器

9.4.4 光线传感器

9.4.5 磁场传感器

9.4.6 振动与敲击传感器

9.4.7 运动传感器

9.4.8 接触与位置传感器

9.4.9 距离传感器

9.5 通信

9.5.1 APC220无线模块

9.5.2 315/433 MHz RF模块

9.5.3 ESP8266收发器

9.6 输出设备与元件

9.6.1 光源

9.6.2 继电器、电机与舵机

9.6.3 模拟信号输出

9.7 用户输入

9.7.1 键盘

9.7.2 摇杆

9.7.3 电位器与旋转编码器

9.8 用户输出

9.8.1 文本显示器

9.8.2 图形显示器

9.9 支持功能

9.9.1 时钟

9.9.2 定时器

9.10 连接

9.10.1 使用裸露跳线

9.10.2 模块连接系统

9.10.3 自己动手制作连接器

9.10.4 选择连接方法

9.11 供应商资源

9.12 小结

第10章 自己动手制作元件

10.1 准备工作

10.2 制作扩展板

10.2.1 物理考虑

10.2.2 堆叠扩展板

10.2.3 电气考虑

10.3 制作GreenShield扩展板

10.3.1 目标

10.3.2 定义与规划

10.3.3 设计

10.3.4 制作原型

10.3.5 最终软件

10.3.6 装配

10.3.7 最终验收测试

10.3.8 运行

10.3.9 后续步骤

10.4 制作与Arduino兼容的PCB

为你的板子编程

10.5 Switchinator

10.5.1 定义与规划

10.5.2 设计

10.5.3 原型

10.5.4 软件

10.5.5 制造

10.5.6 验收检测

10.5.7 后续步骤

10.6 资源

第11章 项目:可编程信号发生器

11.1 项目目标

11.2 定义与规划

11.3 设计

11.3.1 功能

11.3.2 外壳

11.3.3 电路图

11.4 搭建原型

11.4.1 控制输入与模式

11.4.2 显示输出

11.4.3 DDS模块

11.5 软件

11.5.1 源代码组织

11.5.2 软件描述

11.5.3 DDS库

11.5.4 测试

11.6 最终组装

11.6.1 上拉电阻阵列

11.6.2 输入保护

11.6.3 机箱外壳

11.6.4 DC电源

11.7 最终测试与结束

11.8 削减开支

11.9 成本明细

11.10 资源

第12章 项目:智能调温器

12.1 背景

12.1.1 HVAC概述

12.1.2 温度控制基础

12.1.3 智能温度控制

12.2 项目目标

12.3 定义与规划

12.4 设计

12.4.1 功能

12.4.2 外壳

12.4.3 电路图

12.4.4 软件

12.4.5 用户输入/输出

12.4.6 控制输出

12.5 原型

12.5.1 DHT22传感器

12.5.2 旋转编码器

12.5.3 实时时钟模块

12.5.4 LCD扩展板

12.6 软件

12.6.1 源代码组织

12.6.2 软件描述

12.6.3 测试

12.7 最终版本

12.7.1 组装

12.7.2 测试与运行

12.8 成本明细

12.9 后续步骤

12.10 资源

第13章 模型火箭发射器:设计研究

13.1 概览

13.2 设计周期

13.3 目标

13.4 选择与定义功能需求

13.5 进行初步设计

13.5.1 设计可行性

13.5.2 初始元件列表

13.6 原型

13.7 最终设计

13.7.1 电气特征

13.7.2 物理外形

13.7.3 软件

13.7.4 测试与运行

13.8 成本分析

附录A 工具与配件

A.1 手工工具

A.1.1 螺丝刀

A.1.2 各种钳子

A.1.3 剥线钳

A.1.4 连接器压接钳

A.1.5 手锯

A.2 电动工具

A.2.1 电钻

A.2.2 小型研磨机

A.2.3 小型钻床

A.3 焊接

A.3.1 电烙铁

A.3.2 焊接辅件

A.4 工具购买渠道

附录B AVR ATmega 控制寄存器

B.1 ATmega 168/328

B.2 ATmega 1280/2560

B.3 ATmega32U4

附录C Arduino 与兼容产品厂商

C.1 Arduino产品

C.1.1 硬件可兼容开发板与扩展板

C.1.2 软件可兼容开发板

C.1.3 传感器、扩展板、模块

C.2 电子软件

C.2.1 开源电路图绘制工具

C.2.2 CAE软件工具

C.2.3 PCB布局设计工具

C.3 硬件、元件与工具

C.3.1 电子元件制造商

C.3.2 电子元件分销商(USA)

C.3.3 折扣与多余电子元件

C.3.4 机械配件与硬件(螺丝钉、螺母、螺栓)

C.3.5 外壳与机箱

C.3.6 工具

C.3.7 测试设备

C.4 印制电路板供应商与制造商

C.4.1 原型与快速周转制造商

C.4.2 PCB工具厂商

C.5 其他购买渠道

附录D 推荐阅读

D.1 Arduino

D.2 AVR

D.3 C与C++编程

D.4 常见电子元器件

D.5 接口

D.6 仪器

D.7 印制电路板

附录E Arduino 与 AVR 软件开发工具

E.1 编译器/汇编器

E.2 集成开发环境

E.3 编程工具

E.4 模拟器

关于作者

关于封面

Arduino技术指南是2017年由人民邮电出版社·图灵出品出版,作者。

得书感谢您对《Arduino技术指南》关注和支持,如本书内容有不良信息或侵权等情形的,请联系本网站。

你可能喜欢
华为VPN学习指南 电子书

1.本书针对目前市场上没有专门图书的华为ARG3系列路由器传统VPN(包括L2TPVPN、IPSecVPN、GREVPN、SSLVPN和DSVPN)技术原理、配置方法进行介绍。...
Java架构师指南 电子书

知名Java专家多年经验总结,介绍从程序员进阶到架构师需要具备的技能的完整教程基于Java官方API的解读,从架构师的独特角度讲解Java知识和技能企业级开发的经典示例,全程项...
Go语言趣学指南 电子书

Go是谷歌公司为了解决重大问题而设计的一种小型编程语言。完成大型项目需要大型团队,而大型团队中团队成员的经验水平往往各不相同。Go是一种小巧却功能强大的语言,它能够被任何人理解...
Hadoop3实战指南 电子书

基于全新的Hadoop3.x,主要分析Hadoop3.2.0的新特性和新功能,以企业级真实案例详细解读,带你全方位掌握大数据处理分析、分布式计算等。
抖音营销实战指南 电子书

这不是抖音的官方使用指南,但这会是你当下了解和掌握抖音营销的“知网”。
SpringBoot+MVC实战指南 电子书

本书讲解SpringBootMVC的具体使用,帮你快速上手Java企业级应用开发工作。
算法学习指南 电子书

本书深入阐述关键算法、数据结构、数据类型的基本原理。