Библиотеки для Arduino
Библиотеки для Arduino - это удобное средство для распространения кода. Например, это могут быть драйвера к оборудованию или часто используемые функции.
В этом гайде подробно рассмотрено как устанавливать библиотеки на ваш компьютер.
Существует два основных вида библиотек Arduino: стандартные и дополнительные.
Стандартные библиотеки
В Arduino IDE есть набор стандартных библиотек, которые используются очень часто. Эти библиотеки поддерживают все примеры, которые включены в Arduino IDE. Стандартные библиотеки поддерживают функции для работы с наиболее распространенным периферийным оборудованием, например: серводвигатели или LCD экраны.
Стандартные библиотеки устанавливаются в папку "Libraries" при установке Arduino IDE. Если у вас установлено несколько версий IDE, в каждой версии будет свой набор библиотек. Настоятельно не рекомендуется изменять стандартные библиотеки и устанавливать дополнительные в ту же папку.
Дополнительные библиотеки

В интернете выложено огромное количество дополнительных библиотек с удобным функционалом и драйверами для различного периферийного оборудования. В основном библиотеки выкладываются на Arduino Playground, Github и Google Code. Написанием библиотек для Arduino часто занимаются компании-производители сенсоров, датчиков, печатных плат и т.п. Например, Adafruit предлагает более 100 библиотек, которые поддерживают все модели плат Arduino.
Устанавливайте дополнительные библиотеки в папку Libraries. Благодаря этому их можно использовать во всех версиях Arduino IDE. После обновления версии вам не придется их переустанавливать!
Куда устанавливать библиотеки
Важно установить библиотеки в правильную папку. Иначе компилятор не сможет их отыскать, когда вы будете компилировать и загружать ваш код.
Папка, где хранятся все скетчи Arduino, создается автоматически при установке IDE.
На Linux папка называется "Scetchbook" и обычно расположена в /home/<username>
На Windows и Macintosh, папка называется "Arduino" и находится она папке Documents (Мои документы).
Обратите внимание, это важно! В папке "Мои документы" автоматически создается еще папка под названием "Arduino"!
Дополнительные библиотеки должны располагаться в папке "Libraries", которая находится внутри "Scetchbook" или "Arduino". Именно там IDE будет искать дополнительно установленные библиотеки.
Начиная с версии Arduino IDE 1.0.2 и позже, папка "Libraries" создается автоматически. На более ранних версиях ее надо создать перед установкой вашей первой библиотеки.
Откройте меню и выберите "File->Preferences" в Arduino IDE.

Найдите расположение ваших скетчей. Обычно это папка "Arduino" в папке "Мои документы".
После того, как вы определили путь, перейдите в эту папку с помощью проводника.

Если папка "Libraries" отсутствует, создайте новую папку.

Переименуюте ее в "Libraries".

Установка библиотек в Windows
Для установки библиотеки в Windows, следуйте инструкции, приведенной ниже.
Закройте Arduino IDE
Убедитесь, что Arduino IDE закрыта, так как сканирование библиотек происходит только при загрузке IDE. Новая библиотека не будет работать, пока вы не перезагрузите IDE.
Скачайте Zip Файл с Github.

Скопируйте разархивированную папку

Вставьте ее в вашу папку с библиотеками.

Дайте ей корректное имя. Arduino IDE не распознает папки с тире в названии. Так что придется переименовать папку. Можно использовать нижние тире.

Перезапустите Arduino IDE и проверьте, появилась ли библиотека в пункте меню File->Examples.
Для проверки загрузите один из примеров.

Перед загрузкой примера на плату, проведите проверку скетча.

Установка библиотек на Mac OSX
Для корректной установки дополнительных библиотек на Mac OSX, следуйте инструкции, которая приведена ниже
Закройте Arduino IDE.
Скачайте архив с библиотекой с Github.

Найдите скачанный архив в папке загрузок на вашем маке.

Разархивируйте и скопируйте библиотеку в папку с библиотеками, которая была создана при установке Arduino IDE.

Дайте библиотеке корректное имя. Как и в случае с Windows, папки с тире не читаются.

Перезапустите Arduino IDE. Библиотека должна появиться в меню File->Examples.
Загрузите один из примеров.

Проверьте корректность скетча перед его загрузкой на вашу Arduino.

Установка библиотек на Linux
Для установки пользовательских библиотек на Linux, следуйте инструкции, которая представлена ниже.
Опять таки, закрываем Ardino IDE.
Скачиваем архив с нужной нам библиотекой.

Сохраняем архив на жесткий диск нашего ПК.

Находим скачанный архив в папке для загрузок.

Разархивируем библиотеку и копируем в папку Sketchbook/Libraries.

Даем папке корректное имя. Без тире!

Перезапускаем Arduino IDE и проверяем, появилась ли библиотека в папке File->Examples menu.
Загружаем один из примеров.

Проверяем, компилируется ли файл примера без ошибок.

Распространенные ошибки при установке библиотек для Arduino
'xxxx' does not name a type

Это самая распространенная ошибка при работе с внешними библиотеками. Причина - компилятор не может найти библиотеку. Возможные причины возникновения этой ошибки:
- Библиотека не установлена (смотрите инструкцию по установке выше).
- Неправильное расположение папки.
- Неправильное имя папки.
- Неправильное имя библиотеки.
- Вы забыли перезагрузить Arduino IDE.
Ниже расписаны решения возможных проблем
Неправильное расположение папки
IDE находит только стандартные библиотеки и дополнительные, которые установлены в папке "Libraries". Библиотеки, которые расположены в других местах, не будут инициализироваться
Папка с библиотекой должна быть в корне папки "Libraries". Если вы создадите дополнительную подпапку, IDE не обнаружит библиотеку.
Примечание: в некоторых хранилищах в интернете, библиотеки выложены с дополнительным уровнем вложенности папок. Проверьте этот момент. Файлы библиотеки должны находится в первой папке, без дополнительных подпапок.
Не полная библиотека
Не стоит переименовывать файлы в библиотеке с использованием заглавных букв, тире и т.п.
Неправильное имя папки
IDE не обнаруживает папки с определенными символами в названии. К сожалению, IDE не поддерживает тире, которые генерируются в именах файлов на Github. Поэтому после скачивания архива, переименуйте папку. Новое имя не должно содержать тире. Можно просто заменить все символы (‘-‘) на (‘_’).
Неправильное имя библиотеки
Имя, которые вы указываете в директиве #include в вашем скетче, должно полностью соответствовать имени класса в библиотеке (с учетом регистра букв!). Если имя не будет совпадать, IDE не подключит нужные функции, классы и т.п. В примерах, которые прилагаются к библиотекам, имена указаны правильно. Так что для избежания случайных ошибок, можно их просто копировать и вставлять в ваш код.
Несколько версий библиотек
Если у вас несколько версий библиотеки, Arduino IDE будет пытаться одновременно прогрузить их все. В результате может вылезти ошибка при компиляции. Так что старые или нерабочие версии надо удалять или перемещать из каталога библиотек.
Зависимые библиотеки
Некоторые библиотеки зависят от других библиотек. Например, большинство библиотек Graphic Display Libraries от Adafruit зависят от Adafruit GFX Library. То есть, для использования первой библиотеки вам надо иметь установленную вторую.
“Базовые” библиотеки
Некоторые библиотеки нельзя использовать напрямую. Хороший пример, библиотека GFX Library. Эта библиотека обеспечивает работу большинства дисплеев от Adafruit, но не может использоваться без библиотеки драйверов для этого дисплея.
Забыли закрыть Arduino IDE
Не забывайте, что IDE ищет библиотеки при загрузке. Перед использованием новой установленной библиотеки, Arduino IDE надо перезагрузить.
Оставляйте Ваши комментарии, вопросы и делитесь личным опытом ниже. В дискуссии часто рождаются новые идеи и проекты!