内容简介

内容简介:
● 安装软件环境,给Arduino上电,开始上传项目
● 理解C语言编程基础
● 为项目添加函数、数组和字符串
● 用程序控制Arduino的数字和模拟输入/输出接口
● 使用标准Arduino库中的函数
● 编写将数据存储于EEPROM或闪存中的项目
● 连接显示器,包括与OLED和LCD显示器的连接
● 连接到互联网并将Arduino作为Web服务器
● 开发关于物联网的有趣项目
● 构建自己的库文件并使用面向对象编程方法

新版特色:
● 新增介绍Arduino物联网程序设计的内容
● 介绍新的Arduino型号和软件

作者简介

SimonMonk,模拟控制与计算机科学学士,软件工程博士。从少年时代起,他就是一名活跃的电子玩家,并担任业余电路杂志的兼职作者。Monk博士撰写了20余本有关创客和电子题材的著作,尤其是Arduino和树莓派。你可以在网站http://simonmonk.org上找到他的更多作品,也可以关注他的推特@simonmonk2。

目录

第1章Arduino介绍1
1.1微控制器1
1.2Arduino开发板的探索之旅3
1.2.1电源接口4
1.2.2供电接口4
1.2.3模拟输入接口4
1.2.4数字接口5
1.2.5微控制器5
1.2.6其他元件6
1.3Arduino的起源7
1.4Arduino家族8
1.4.1Uno和Leonardo9
1.4.2Mega和Due9
1.4.3微型和小型Arduino开发板10
1.4.4Yun11
1.4.5Lilypad12
1.4.6其他“官方”开发板12
1.5Arduino复制品和变型13
1.6本章小结13
第2章启程15
2.1上电15
2.2安装软件16
2.3上传你的第一个项目16
2.4Arduino应用程序21
2.5本章小结23
第3章C语言基础25
3.1编程25
3.2什么是编程语言?27
3.3Blink——再来一次!31
3.4变量33
3.5C语言实验35
3.6数值变量和算术运算符36
3.7控制语句39
3.7.1if语句39
3.7.2for语句41
3.7.3while语句44
3.8常量45
3.9本章小结45
第4章函数47
4.1什么是函数?47
4.2参数48
4.3全局变量、局部变量和静态变量50
4.4返回值53
4.5其他变量类型54
4.5.1float(浮点型)54
4.5.2boolean(布尔型)55
4.5.3其他数据类型56
4.6代码风格58
4.6.1缩进58
4.6.2花括号59
4.6.3空白60
4.6.4注释60
4.7本章小结62
第5章数组和字符串63
5.1数组63
5.2字符串67
5.2.1字符串常量68
5.2.2字符串变量69
5.3摩尔斯电码转换器70
5.3.1数据71
5.3.2全局变量和setup函数72
5.3.3loop函数72
5.3.4flashSequence函数75
5.3.5flashDotOrDash函数76
5.3.6整合77
5.4本章小结79
第6章输入和输出81
6.1数字输出81
6.2数字输入85
6.2.1上拉电阻85
6.2.2内部上拉电阻88
6.2.3防抖动89
6.3模拟输出94
6.4模拟输入96
6.5本章小结98

第7章Arduino标准类库99
7.1随机数99
7.2数学函数102
7.3位操作103
7.4高级I/O105
7.4.1生成音调105
7.4.2移位寄存器107
7.4.3中断107
7.5本章小结109
第8章数据存储111
8.1常量111
8.2将数据存储在闪存中112
8.3EEPROM114
8.3.1在EEPROM中存储整数116
8.3.2使用AVREEPROM库117
8.3.3在EEPROM中存储浮点数118
8.3.4在EEPROM中存储字符串118
8.3.5清除EEPROM的内容120
8.4压缩121
8.5本章小结122
第9章显示器123
9.1字母数字LCD显示器124
9.2USB留言板125
9.3使用显示器127
9.4其他LCD库函数128
9.5OLED图形显示器128
9.6连接OLED显示器129
9.7软件130
9.8本章小结132
第10章Arduino物联网程序设计133
10.1与Web服务器通信134
10.1.1HTTP134
10.1.2HTML134
10.2将ArduinoUno作为Web服务器136
10.3网络控制的Arduino139
10.4NodeMCUWeb服务器145
10.5网络控制的NodeMCU150
10.6呼叫Web服务器153
10.7ArduinoUno和IFTTT156
10.8NodeMCUESP8266开发板和IFTTT158
10.9其他物联网选择160
10.9.1ArduinoYun160
10.9.2ParticlePhoton161
10.10本章小结161
第11章C++和库163
11.1面向对象163
11.2内置库示例164
11.3编写自己的库165
11.3.1头文件165
11.3.2实现文件166
11.3.3完成你的库167
11.3.4关键字168
11.3.5示例168
11.4本章小结171


前言/序言

  前言
  Arduino接口的开发板提供了一种低成本、便于使用的技术来创作基于微控制器的项目。只需要掌握很少的电子学基础知识,就可以让Arduino实现从控制艺术装置的灯光到管理太阳能系统的电力在内的方方面面。
  有很多基于项目的书会向你展示如何把设备连接到你的Arduino上,包括《Arduino编程从零开始使用C和C++(第2版)》作者的30ArduinoProjectsfortheEvilGenius一书。但是,《Arduino编程从零开始使用C和C++(第2版)》重点关注如何编写Arduino程序。
  《Arduino编程从零开始使用C和C++(第2版)》将会向你讲解如何让Arduino编程变得简单有趣,避免使用那些往往会让项目受阻的、棘手的代码。在《Arduino编程从零开始使用C和C++(第2版)》指导下,你会从Arduino使用的最基础的C语言开始,一步步彻底了解Arduino编程过程。
  0.1什么是Arduino
  Arduino是一款小型微控制器开发板,使用USB(UniversalSerialBus,通用串口总线)接口连接到计算机,并且拥有大量可以用来连接像电机、继电器、光传感器、激光二极管、扩音器、麦克风等外部电子元件的接口。这些外部设备可以通过计算机的USB连接、9V电池或外部电源供电。它们可以通过计算机直接控制或在编程后独立运行。
  Arduino开发板的设计是开源的,这意味着任何人都可以制作Arduino兼容的开发板。这种竞争带来了低成本的开发板和在“标准”开发板基础上加以改型的各类板型。
  Arduino主控板可以通过在顶部插入扩展板的方式进行功能扩充。
  用于Arduino编程的软件简单易用,并且可以轻松地为Windows、Mac和Linux系统免费获得。
  0.2需要准备什么?
  这是一本面向初学者的书,但也可以为那些已经用过一段时间Arduino,并且想了解关于Arduino编程更多知识,或者想更深入了解其中原理的人带来帮助。依照这个定位,《Arduino编程从零开始使用C和C++(第2版)》把注意力放在ArduinoUno开发板的使用上;当然,几乎所有的代码都可以不经修改地直接在Arduino的其他型号和变种上使用。
  不需要拥有任何编程经验或技术背景,《Arduino编程从零开始使用C和C++(第2版)》的全部练习也不需要焊接。你所需要的全部就是对创造的渴望。
  如果想充分利用《Arduino编程从零开始使用C和C++(第2版)》并尝试其中的一些实验,那么手头有以下物品是很有帮助的:
  ·几根实心导线
  ·一台便宜的数字万用表
  只需要花几块钱就可以很容易地从电子元器件商店或网络经销商(如Adafruit或Sparkfun)那里买到它们。当然,你还需要一块ArduinoUno开发板。
  如果想要更进一步了解并且尝试一些使用显示器和网络连接的实验,需要从网上购买一些扩展板,详见第9章和第10章。
  0.3如何使用《Arduino编程从零开始使用C和C++(第2版)》
  《Arduino编程从零开始使用C和C++(第2版)》在内容安排上循序渐进,可以让你用一种简单的方式上手。但是当你找到合适的定位并开始阅读《Arduino编程从零开始使用C和C++(第2版)》时,你可能会发现自己可以跳过或只需要粗略阅读前面的章节。
  《Arduino编程从零开始使用C和C++(第2版)》按如下顺序组织章节内容:
  第1章:Arduino介绍。这是关于Arduino硬件的引言,该章介绍Arduino的功能和大量可获得的不同型号的Arduino开发板。
  第2章:启程。你将使用Arduino开发板开始自己的首个实验:安装软件,上电,下载你的第一个项目。
  第3章:C语言基础。该章涵盖C语言的基础语法;对于编程初学者,该章也可以作为一本大体的编程教材。
  第4章:函数。该章讲解在Arduino项目中使用和编写函数的关键概念。这些项目都包含用来示范的可运行的示例代码。
  第5章:数组和字符串。该章将介绍如何使用比整型变量更高级的数据结构。通过逐步开发一个摩尔斯电码例程来解释这些概念。
  第6章:输入和输出。该章介绍如何在程序中使用Arduino开发板上的数字和模拟输入/输出接口。通过万用表有助于了解Arduino输入/输出接口上所发生的情况。
  第7章:Arduino标准类库。该章讲解如何利用Arduino标准类库中的函数。
  第8章:数据存储。在该章中可以学习如何编写可以在EEPROM(ElectricallyErasableProgrammableReadOnlyMemory,电可擦可编程只读存储器)中存储数据并利用Arduino内置闪存(FlashMemory)的项目。
  第9章:显示器。在该章中,你会学到如何将Arduino和显示器连接起来并制作USB留言板。
  第10章:Arduino物联网程序设计。该章讲解如何让Arduino像网络服务器那样运行并像dweet和IFTTT那样与互联网应用服务通信。
  第11章:C++和库。你已经攻克了C语言,尝试一下面向对象编程,然后编写自己的Arduino类库。
  0.4资源
  《Arduino编程从零开始使用C和C++(第2版)》由以下网站提供技术支持:www.arduinobook.com。
  可以从这个网站以及诸如勘误表之类的其他来源找到《Arduino编程从零开始使用C和C++(第2版)》使用的所有源代码。也可以通过扫描封底的二维码来得到这些资源。

其他推荐