Далее следует краткое описание глав.
Глава 1 «Программирование Arduino». Эта глава содержит сводную информацию о программировании Arduino. Это учебник для тех, кому требуется быстро ознакомиться с основами Arduino.
Глава 2 «Под капотом». В этой главе мы заглянем под капот и посмотрим, как работают программы для Arduino и откуда они берутся.
Глава 3 «Прерывания и таймеры». Новички обычно стараются не использовать прерывания, и совершенно напрасно, так как часто они оказываются удобным инструментом и их программирование не представляет никаких сложностей. Однако прерывания имеют свои ловушки, и эта глава расскажет вам все, что вы должны знать, чтобы не попасть в них.
Глава 4 «Ускорение Arduino». Платы Arduino оснащены маломощными процессорами с невысоким быстродействием, поэтому иногда требуется выжать из них все, что только можно. Например, встроенная функция digitalWrite надежна и проста в использовании, но неэффективна, что особенно заметно, когда требуется одновременно включить несколько выходов. В этой главе вы узнаете, как увеличить ее производительность, а также познакомитесь с другими приемами создания быстродействующих скетчей.
Глава 5 «Снижение потребления электроэнергии». Когда для питания платы Arduino используются аккумуляторы или солнечные батареи, желательно уменьшить потребление электроэнергии. Этого можно добиться не только оптимизацией конструкции устройства, но и применением особых приемов программирования.
Глава 6 «Память». В этой главе мы посмотрим, как уменьшить потребление памяти, а также познакомимся с достоинствами и недостатками, связанными с динамическим распределением памяти в скетчах.
Глава 7 «Интерфейс I2C». Интерфейс I2C на плате Arduino может существенно упростить взаимодействие с модулями и компонентами и позволит обойтись меньшим числом контактов на плате. Эта глава описывает, как действует интерфейс I2C и как им пользоваться.
Глава 8 «Взаимодействие с устройствами 1-Wire». В этой главе рассказывается о шине 1-Wire для связи с устройствами, такими как датчики температуры компании Dallas Semiconductor, которые часто применяются с платами Arduino. Здесь вы узнаете, как действует эта шина и как ею пользоваться.
Глава 9 «Взаимодействие с устройствами SPI». SPI — еще один стандартный интерфейс, поддерживаемый платами Arduino. В этой главе описывается, как он действует и как им пользоваться.
Глава 10 «Программирование последовательного интерфейса». Поддержка передачи данных через последовательный порт, порт USB или контакты Rx и Tx на плате Arduino — отличный способ организовать обмен данными с периферийными устройствами и другими платами Arduino. В этой главе вы узнаете, как пользоваться последовательным портом.
Глава 11 «Программирование интерфейса USB». В этой главе рассматриваются разные аспекты использования порта USB на плате Arduino. Вы познакомитесь с возможностью эмуляции клавиатуры и мыши, поддерживаемой платой Arduino Leonardo, а также узнаете, как подключить клавиатуру или мышь к соответственно оборудованной плате Arduino.
Глава 12 «Программирование сетевых взаимодействий». Плата Arduino давно стала обычным компонентом «Интернета вещей». В этой главе вы узнаете, как программировать Arduino для работы в Интернете. В число обсуждаемых здесь тем входит описание плат расширения Wi-Fi и Ethernet, использования веб-служб и применения Arduino в качестве маленького веб-сервера.
Глава 13 «Цифровая обработка сигналов». Плата Arduino способна выполнять простую обработку сигналов. В этой главе обсуждаются разные способы такой обработки, от фильтрации сигнала, поступающего на аналоговый вход, с применением программного обеспечения вместо внешних электронных устройств до вычисления относительной величины различных частотных сигналов с применением быстрого преобразования Фурье.
Глава 14 «Многозадачность с единственным процессом». Программисты, пришедшие в мир Arduino из мира больших систем, часто отмечают отсутствие поддержки многозадачности в Arduino как существенное упущение. В этой главе я попробую исправить его и покажу, как преодолеть ограничения однопоточной модели встроенных систем.
Глава 15 «Создание библиотек». Рано или поздно вы создадите нечто замечательное, что, по вашему мнению, могли бы использовать другие. Это будет самый подходящий момент оформить свой код в виде библиотеки и выпустить ее в свет. Эта глава покажет вам, как это сделать.