描述
开 本: 32开纸 张: 胶版纸包 装: 平装-胶订是否套装: 否国际标准书号ISBN: 9787302635789
新的Arduino编程指南,无需任何编程经验!
本版进行了全面更新,逐步介绍了如何使用修改后的C语言和Arduino IDE快速、轻松地编写所有基于Arduino模型的程序。电子学大师Simon Monk通过简单的语言和清晰的指导,引导你快速掌握所有概念。书中提供了数十个易跟学的示例和高质量的插图,所有的sketch示例程序都可直接使用,也可根据需要进行修改。书中还介绍了使用Arduino框架编写其他主流开发板程序的全部新知识。
内容涵盖
● 配置Arduino并开始编写sketch程序
● 了解C语言和Arduino IDE的基本知识
● 向sketch程序添加函数、数组和字符串
● 设置Arduino的数字和模拟I/O
● 使用Arduino兼容板,包括ESP32、Pico和micro:bit
● 使用内置和自定义Arduino库
● 编写sketch程序,将数据存储在EPROM或闪存中
● 实现与各种显示器(包括LCD)的接口
● 连接到Internet并将Arduino配置为Web服务器
● 开发有趣且实用的物联网程序
新的Arduino编程指南,无需任何编程经验! 本版进行了全面更新,逐步介绍了如何使用修改后的C语言和Arduino IDE快速、轻松地编写所有基于Arduino模型的程序。电子学大师Simon Monk通过简单的语言和清晰的指导,引导你快速掌握所有概念。书中提供了数十个易跟学的示例和高质量的插图,所有的sketch示例程序都可直接使用,也可根据需要进行修改。书中还介绍了使用Arduino框架编写其他主流开发板程序的全部新知识。 内容涵盖 ● 配置Arduino并开始编写sketch程序 ● 了解C语言和Arduino IDE的基本知识 ● 向sketch程序添加函数、数组和字符串 ● 设置Arduino的数字和模拟I/O ● 使用Arduino兼容板,包括ESP32、Pico和micro:bit ● 使用内置和自定义Arduino库 ● 编写sketch程序,将数据存储在EPROM或闪存中 ● 实现与各种显示器(包括LCD)的接口 ● 连接到Internet并将Arduino配置为Web服务器 ● 开发有趣且实用的物联网程序
第1章 Arduino入门 1
1.1 微控制器 1
1.2 Arduino Uno开发板的探索之旅 3
1.2.1 电源接口 3
1.2.2 供电接口 4
1.2.3 模拟输入接口 4
1.2.4 数字接口 4
1.2.5 微控制器 5
1.2.6 其他元件 5
1.3 支持WiFi的Arduino兼容板 6
1.4 Arduino的起源 7
1.5 上电 8
1.6 安装软件 8
1.7 上传你的第一个sketch程序 10
1.8 Arduino应用程序 14
1.9 本章小结 16
第2章 C语言基础 17
2.1 编程 17
2.2 什么是编程语言 18
2.3 Blink——再来一次 23
2.4 变量 25
2.5 C语言实验 27
2.6 数值变量和算术运算符 28
2.7 控制语句 30
2.7.1 if语句 30
2.7.2 for语句 32
2.7.3 while语句 35
2.8 常量 36
2.9 本章小结 36
第3章 函数 37
3.1 什么是函数 37
3.2 参数 38
3.3 全局变量、局部变量和静态变量 39
3.4 返回值 42
3.5 其他变量类型 43
3.5.1 float(浮点型) 43
3.5.2 Boolean(布尔型) 44
3.5.3 其他数据类型 45
3.6 编码风格 47
3.6.1 缩进 47
3.6.2 花括号 48
3.6.3 空白 48
3.6.4 注释 49
3.7 本章小结 50
第4章 数组和字符串 51
4.1 数组 51
4.2 字符串数组 55
4.2.1 字符串常量 56
4.2.2 字符串变量 56
4.3 摩尔斯电码转换器 57
4.3.1 数据 58
4.3.2 全局变量和setup函数 59
4.3.3 loop函数 60
4.3.4 flashSequence函数 62
4.3.5 flashDotOrDash函数 63
4.3.6 整合所有部分 63
4.3.7 String类 65
4.4 本章小结 66
第5章 输入和输出 67
5.1 数字输出 67
5.2 数字输入 70
5.2.1 上拉电阻 71
5.2.2 内部上拉电阻 73
5.2.3 防抖动 74
5.3 模拟输出 79
5.4 模拟输入 81
5.5 本章小结 82
第6章 开发板 83
6.1 Arduino Nano 83
6.2 Arduino Pro Mini 85
6.3 Breadboard 85
6.4 Boards Manager 86
6.5 ESP32开发板 88
6.6 Raspberry Pi Pico 90
6.7 BBC micro:bit 91
6.8 Adafruit Feather系统 92
6.9 本章小结 93
第7章 高级Arduino 95
7.1 随机数 95
7.2 数学函数 97
7.3 位操作 98
7.4 高级I/O 100
7.4.1 生成音调 100
7.4.2 移位寄存器 101
7.4.3 中断 102
7.4.4 编译时常量 104
7.4.5 Arduino Web编辑器 105
7.5 本章小结 105
第8章 数据存储 107
8.1 大型数据结构 107
8.2 将数据存储在闪存中 108
8.3 EEPROM 110
8.3.1 在EEPROM中存储整数 112
8.3.2 将任何内容写入EEPROM 113
8.3.3 在EEPROM中存储浮点数 115
8.3.4 在EEPROM中存储字符串 115
8.3.5 清除EEPROM中的内容 117
8.4 压缩 117
8.5 本章小结 119
第9章 显示器 121
9.1 字母数字LCD显示器 121
9.2 USB留言板 122
9.3 使用显示器 125
9.4 其他LCD库函数 125
9.5 OLED图形显示器 126
9.6 连接OLED显示器 127
9.7 软件 127
9.8 本章小结 130
第10章 Arduino物联网程序设计 131
10.1 IoT开发板 131
10.2 将ESP32安装到Arduino IDE中 132
10.3 连接WiFi 133
10.4 运行Web服务器 135
10.5 提供传感器读数 137
10.6 提供传感器读数——改进版 138
10.7 从网页打开和关闭内置的LED 142
10.8 连接到Web服务 144
10.9 本章小结 149
在创建基于微控制器的项目方面,Arduino接口的开发板提供了一种低成本、便于使用的技术。只需要掌握很少的电子学基础知识,就可以让Arduino实现从控制布景灯光到管理太阳能系统的电力在内的方方面面。
有很多基于项目的书籍会向你介绍如何把设备连接到Arduino上,包括本书作者的30 Arduino Projects for the Evil Genius一书。但是,本书重点关注如何使用Arduino IDE来编写Arduino程序和Arduino兼容板。
本书将讲解如何让Arduino编程变得简单有趣,避免使用那些往往会让项目受阻的、棘手的代码。在本书的指导下,你会从Arduino使用的最基础的C语言开始,一步步了解Arduino编程过程。
0.1 什么是Arduino
Arduino是指用于微控制器板编程的硬件和软件环境。因为微控制器板有各种形状和尺寸,所以标准开发板将选择最受欢迎的官方出品的Arduino板Arduino Uno。
Arduino Uno是一款小型微控制器开发板,使用USB(Universal Serial Bus,通用串口总线)接口连接到计算机,并且拥有大量可以用来连接像电机、继电器、光传感器、激光二极管、扩音器、麦克风等外部电子元器件的接口。这些外部设备可通过计算机的USB接口连接,可通过电池或外部电源供电。它们可由计算机直接控制或在编程后独立运行。
官方出品的Arduino开发板和许多Arduino兼容板的设计是开源的,这意味着任何人都可以制作Arduino兼容的开发板。这种竞争带来了低成本的开发板和在“标准”开发板基础上加以改进的各类板型。
可通过在顶部插入扩展板的方式对Arduino主控板的功能进行扩充。
Arduino编程软件简单易用,并且可免费在Windows、macOS和Linux系统中使用。该软件还有一个基于浏览器的版本。
0.2 需要准备什么
本书面向初学者,但也可为那些已使用过Arduino,并且想了解关于Arduino编程的更多知识,或者想深入探究其中原理的人带来帮助。依照这个定位,除了第10章使用了与 ESP32 Arduino兼容的开发板,本书将重点放在了Arduino Uno开发板的使用上。当然,几乎所有的代码都可以不经修改地直接在所有Arduino模型和各种与Arduino兼容的微控制器板上使用。
学习本书,读者不需要拥有任何编程经验或技术背景,本书的全部练习也不需要去动手焊接。你所需要的就是对创造的渴望。
如果想充分利用本书并尝试其中的一些实验,那么手头有以下物品是很有帮助的:
● 几根实心导线
● 一台便宜的数字万用表
只需要花几块钱就可以很容易地从电子元器件商店或网络经销商(如Adafruit或Sparkfun)那里买到它们。当然,你还需要一块Arduino Uno开发板。在第10章,还需要用到一款便宜的ESP32 Arduino兼容软件,如Lolin32 Lite。
如果想要进一步了解并尝试一些使用显示器和网络连接的实验,需要从网上购买一些扩展板,详见第9章和第10章。
0.3 如何使用本书
本书在内容安排上循序渐进,能够让你以一种简单的方式上手。但是当你找到合适的定位并开始阅读本书时,你可能会发现自己可以跳过或只需要粗略阅读前面的章节。
本书按如下顺序组织章节内容。
第1章:Arduino入门。你将使用Arduino开发板开始自己的实验,即安装软件,上电,然后上传你的第一个项目。
第2章:C语言基础。该章涵盖C语言的基础语法。对于编程初学者,该章也可作为一本普通的编程教材。
第3章:函数。该章讲解在Arduino项目中使用和编写函数的关键概念。这些项目都包含可运行的示例代码以进行演示。
第4章:数组和字符串。该章介绍如何使用比整型变量更高级的数据结构。通过逐步开发一个摩尔斯电码例程来解释这些概念。
第5章:输入和输出。该章介绍如何在程序中使用Arduino开发板上的数字和模拟输入/输出接口。通过万用表有助于了解Arduino输入/输出接口上所发生的情况。
第6章:开发板。该章介绍各种Arduino和Arduino兼容板,以帮助你为项目选择合适的板。
第7章:高级Arduino。该章介绍如何使用Arduino标准库中的Arduino函数以及Arduino编程的一些其他高级功能。
第8章:数据存储。该章介绍如何编写可在EEPROM (Electrically Erasable Programmable Read Only Memory,电可擦可编程只读存储器)中存储数据并利用Arduino内置闪存(Flash Memory)的项目。
第9章:显示器。该章讲解如何将Arduino和显示器连接起来并制作简单的USB留言板。
第10章:Arduino物联网程序设计。该章讲解如何让Arduino像Web服务器那样运行并使用服务与互联网通信。
0.4 下载资源
本书由专门的网站(见链接[1])提供技术支持。
可从这个网站找到本书使用的所有源代码以及其他资源,如勘误表。也可通过扫描封底的二维码来获取这些资源。
0.5 有关书中链接的说明
注意,读者在阅读本书时会看到一些有关链接的编号,其形式是数字编号加方括号([]),例如[1]表示读者可扫描本书封底二维码下载Links文件,找到对应章节中[1]所指向的链接。
评论
还没有评论。