Arduino Cookbook 3rd Edition
作者: Michael Margolis, Brian Jepson and Nicholas Robert Weldin
语言: 英文
出版年份: 2020
下载链接:
书籍均收集自互联网,仅供学习和研究使用,请莫用于商业用途。谢谢合作。

书籍摘要

书籍简介:Arduino Cookbook

书籍定位

《Arduino Cookbook》第三版是Michael Margolis、Brian Jepson和Nicholas Robert Weldin于2020年出版的实用技术手册,专注于为Arduino爱好者提供超过200个实用技巧和技术。本书采用"食谱"形式,每个技巧都像烹饪食谱一样提供明确的步骤和解决方案,帮助读者快速实现特定功能。无论你是完全没有编程或电子经验的初学者,还是希望扩展项目能力的有经验开发者,这本书都能提供从基础到高级的全面指导。第三版更新了最新的Arduino开发环境(1.8.x版本),涵盖了新出现的Arduino板卡、更强大的处理能力、更多内存、通信能力和外形尺寸。

核心内容

本书按照功能模块组织为18个核心章节和7个附录,每个章节都包含多个具体的"食谱":

第一部分:入门与基础编程(第1-4章) 第1章《入门》介绍了Arduino环境,帮助读者安装开发环境和硬件,并介绍了最流行的新板卡。第2章《Arduino编程》涵盖了基本的软件概念和任务,包括变量、函数、控制结构和代码组织。第3章《数学运算》展示了如何使用最常见的数学函数。第4章《串行通信》描述了如何让Arduino与计算机和其他设备连接通信,这是Arduino输入输出的最常见方法。

第二部分:输入与传感器(第5-6章) 第5章《简单数字和模拟输入》介绍了读取数字和模拟信号的基本技术。第6章《从传感器获取输入》构建在前一章概念基础上,提供了使用设备让Arduino感知触摸、声音、位置、热量和光的食谱。

第三部分:输出与控制(第7-10章) 第7章《视觉输出》涵盖了光控制,包括开关一个或多个LED、控制亮度和颜色,驱动条形图和数字LED显示器,以及在LED阵列上创建模式和动画。第8章《物理输出》解释了如何通过控制电机让物体移动,涵盖了多种电机类型:电磁铁、伺服电机、直流电机和步进电机。第9章《音频输出》展示了如何通过扬声器等输出设备用Arduino生成声音,包括播放简单音调和旋律、WAV文件和MIDI。第10章《远程控制外部设备》描述了可用于与几乎任何使用某种形式遥控器的设备交互的技术,包括电视、音频设备、相机、车库门、电器和玩具。

第四部分:显示与时间(第11-12章) 第11章《使用显示器》涵盖了文本和图形LCD显示器的接口,展示了如何连接这些设备来显示文本、滚动或高亮单词,以及创建特殊符号和字符。第12章《使用时间和日期》涵盖了内置的Arduino时间相关函数,并介绍了许多处理时间延迟、时间测量以及现实世界时间和日期的附加技术。

第五部分:通信与网络(第13-15章) 第13章《使用I2C和SPI通信》涵盖了I2C(内部集成电路)和SPI(串行外设接口)标准,这些标准提供了在传感器和Arduino之间传输数字信息的简单方法。第14章《简单无线通信》涵盖了使用XBee、蓝牙和其他无线模块的无线通信,提供了从简单的无线串口替换到连接多个板卡到多个传感器的网状网络的示例。第15章《WiFi和以太网》描述了使用Arduino与互联网的多种方式,包括构建和使用Web客户端和服务器,以及如何使用最常见的互联网通信协议。

第六部分:高级主题(第16-18章) 第16章《使用、修改和创建库》解释了如何使用和修改软件库,并提供了创建自己的库的指导。第17章《高级编码和内存处理》涵盖了高级编程技术,这些主题比其他章节的食谱更技术性,因为它们涵盖了通常被友好的Arduino包装器隐藏的内容。第18章《使用控制器芯片硬件》展示了如何访问和使用未通过文档化的Arduino语言完全公开的硬件功能,涵盖了硬件输入/输出寄存器、定时器和中断的低级使用。

第七部分:附录(A-G) 附录A《电子元件》概述了全书使用的组件。附录B《使用原理图和数据表》解释了如何使用原理图和数据表。附录C《构建和连接电路》提供了使用面包板、连接和使用外部电源和电池以及使用电容器进行去耦的简要介绍。附录D《软件问题故障排除技巧》提供了修复编译和运行时问题的技巧。附录E《硬件问题故障排除技巧》涵盖了电子电路问题。附录F《数字和模拟引脚》提供了标准Arduino板卡上引脚功能的表格。附录G《ASCII和扩展字符集》提供了显示ASCII字符的表格。

适用读者

本书适合以下几类读者:

  1. 完全没有编程和电子经验的初学者:有交互项目的想法但缺乏开发技能,可以通过示例学习编写有效代码。
  2. 有编程经验但Arduino新手:希望快速掌握Arduino特定功能以实现项目。
  3. 已经在使用Arduino的用户:希望快速学习新技术,通过实际示例解决问题。
  4. 经验丰富的C/C++程序员:寻找如何使用AVR低级资源(中断、定时器、I2C、以太网等)在Arduino环境中构建应用程序的示例。
  5. 教育工作者和学生:在课堂或自学环境中使用Arduino进行物理计算教学。
  6. 创客和DIY爱好者:希望构建物联网解决方案、环境监测器、位置感知系统或响应触摸、声音、热量和光的产品。

阅读建议

  1. 非顺序阅读:本书设计为食谱形式,读者可以根据当前项目需求直接跳转到相关章节,无需按顺序阅读。
  2. 实践导向:每个食谱都包含具体步骤和代码示例,建议读者动手实践,边学边做。
  3. 循序渐进:初学者建议从前几章开始,建立基础后再进入更复杂的主题。
  4. 结合硬件:Arduino学习需要实际硬件,建议准备基本的Arduino板卡和相关组件。
  5. 利用在线资源:本书提供了GitHub代码仓库和Arduino论坛链接,遇到问题时可参考这些资源。
  6. 安全第一:特别是涉及电源和电机的项目,务必注意安全,遵循正确的电路连接方法。
  7. 社区参与:Arduino拥有活跃的全球社区,遇到困难时可以在论坛寻求帮助。

本书的核心价值在于它提供了大量经过测试的实用解决方案,帮助读者快速实现Arduino项目中的各种功能,从简单的LED控制到复杂的物联网应用,是一本真正实用的技术参考手册。

期待您的支持
捐助本站