《编程Arduino》一书。 用草图进行专业工作

图片 认识传奇畅销书《编程Arduino》的作者Simon Monk的新书。 素描基础!” 电子专家将帮助您克服从初学者到专业人士的难题,他们可以轻松解决编程草图中最复杂的任务。 现在该继续前进了!

项目变得越来越复杂,并且在某些时候,有关其实施的知识还不够。 阅读本书之后,您将学习如何使用中断,管理内存,为Internet编写程序,执行数字信号处理,掌握多任务处理以及创建自己的库。

本书旨在作为畅销书“ Programming Arduino:Sketchings Basics”的延续。 第二版。 ”。 尽管本书简要回顾了Arduino编程基础知识,但它向读者介绍了Arduino板编程的更多高级方面。 特别是,这本书将告诉您如何:

-以最少的可用内存量确保高效运行;
-无需多线程执行机制即可立即解决多个问题;
-将代码打包到库中,以便其他人可以使用它;
-使用硬件中断和计时器中断;
-达到最佳性能;
-减少能源消耗;
-与各种类型的串行总线(I2C,1-Wire,SPI和串行端口)交互;
-与USB端口交互;
-与网络互动;
-执行数字信号处理(数字信号处理,DSP)。

可下载的示例


本书包括75个草图示例,这些示例已公开分发,可以在作者的网站www.simonmonk.org上找到 。 通过单击本书页面上的链接,您可以下载示例的源代码以及本书中发现的最新错误和错别字列表。

你需要读什么书


本书主要致力于编程问题。 因此,要测试大多数示例,Arduino板,LED和万用表就足够了。 如果您还有其他Arduino扩展卡,它们也将派上用场。 要查看第12章中的示例,您需要以太网或Wi-Fi卡。 在整本书中,我们将使用不同的模块来演示不同的界面。

重点是使用最广泛的Arduino板Arduino Uno,但有关USB端口编程和数字信号处理的章节讨论了其他Arduino板的某些功能,例如Leonardo和Arduino Due。 在本书末尾的附录中,您会找到可以从中购买所有这些组件的供应商列表。

如何使用这本书


每章重点讨论与Arduino编程相关的单独主题。 本书的各个章节(第1章除外)可以按任何顺序阅读,第1章提供了Arduino基础的简要概述。 如果您是一位经验丰富的开发人员,请从第14章开始了解Arduino编程的某些功能。 以下是各章的简要说明。

第1章“ Arduino编程”。 本章提供了Arduino编程的摘要。 这是为那些需要快速学习Arduino基础知识的人提供的教程。

第2章“引擎盖下”。 在本章中,我们将深入研究并了解Arduino程序的工作方式以及它们的来源。

第3章“中断和计时器”。 初学者通常尝试不使用中断,但是徒劳无功,因为他们通常被证明是一种方便的工具,并且他们的编程不会带来任何困难。 但是,中断有其自身的陷阱,本章将告诉您所有您需要了解的知识,以免陷入中断。

第4章Arduino的加速。 Arduino板配备有低速低功耗处理器,因此有时您需要挤出所有可能的东西。 例如,内置的digitalWrite函数可靠且易于使用,但是效率低下,当您要同时打开多个输出时,这一点尤其明显。 在本章中,您将学习如何提高其性能,并熟悉其他用于创建高速草图的技术。

第5章,“减少用电量”。 当使用电池或太阳能电池板为Arduino板供电时,建议降低功耗。 这不仅可以通过优化设备的设计来实现,而且可以通过使用特殊的编程技术来实现。

第6章“内存”。 在本章中,我们将研究如何减少内存消耗,并熟悉草图中动态分配内存所带来的优缺点。

第7章,“ I2C接口”。 Arduino板上的I2C接口可以大大简化与模块和组件的交互,这将使您可以管理板上的更少触点。 本章介绍I2C接口的工作方式和使用方法。

第8章,“与1-Wire器件的交互”。 本章讨论了1-Wire总线,用于与Dallas Semiconductor温度传感器之类的设备通信,该设备通常与Arduino板一起使用。 在这里,您将了解此总线的工作方式以及使用方法。

第9章,“与SPI设备的交互”。 SPI是Arduino开发板支持的另一个标准接口。 本章介绍其工作方式和使用方法。

第10章,编程串行接口。 支持通过串行端口,USB端口或Arduino板上的Rx和Tx触点传输数据,是组织与外围设备和其他Arduino板进行数据交换的好方法。 在本章中,您将学习如何使用串行端口。

第11章“对USB接口进行编程”。 本章讨论了在Arduino板上使用USB端口的各个方面。 您将了解Arduino Leonardo开发板支持的键盘和鼠标仿真,以及如何将键盘或鼠标连接到适当配备的Arduino开发板。

第12章,“编程网络交互”。 Arduino长期以来一直是物联网的通用组件。 在本章中,您将学习如何对Arduino进行编程以在Internet上工作。 此处讨论的主题包括Wi-Fi和以太网扩展卡的描述,使用Web服务以及将Arduino用作小型Web服务器。

第13章,数字信号处理。 Arduino能够进行简单的信号处理。 本章讨论了这种处理的各种方法,从使用软件而不是外部电子设备对模拟输入处接收的信号进行滤波,到使用快速傅立叶变换来计算各种频率信号的相对幅度。

第14章,使用单个进程进行多任务处理。 从大型系统世界进入Arduino世界的程序员经常指出,缺少Arduino中的多任务支持是一个重大的遗漏。 在本章中,我将尝试对其进行修复,并展示如何克服嵌入式系统的单线程模型的局限性。

第15章“创建库”。 迟早,您将创造出您认为其他人可以使用的奇妙事物。 这是以库的形式设计代码并将其发布的最佳时机。 本章将向您展示如何进行。

»这本书的更多信息可以在出版商的网站上找到
» 目录
» 摘录

为该博客读者提供25%的优惠券-Monk

Source: https://habr.com/ru/post/zh-CN401367/


All Articles