Библиотеки Arduino: подключение
Библиотеки Arduino представляют собой наиболее удобный способ разделения кода вроде кода драйверов устройств или часто используемых полезных функций.
В данном материале будет показано, как установить библиотеки Arduino для Windows, Mac OSX и Linux, а также будут рассмотрены общие проблемы, связанные с библиотеками Arduino. Статья будет полезна новичкам, впрочем, и заядлые пользователи Arduino могут узнать для кое-что новое.
Существует два типа библиотек: стандартные и пользовательские библиотеки.
Стандартные библиотеки Arduino
Среда разработки Arduino IDE поставляется вместе с набором стандартных библиотек основных полезных функций. Эти библиотеки поддерживают все примеры, включенные в IDE. Функционал стандартных библиотек включает в себя функции базовых видов коммуникации и поддерживает наиболее распространенные устройства вроде сервомоторов и символьных LCD-дисплеев. Стандартные библиотеки располагаются в каталоге Libraries (в папке с Arduino IDE). Если у вас установлены IDE разных версий, то каждая из них будет использовать свои библиотеки.
Пользовательские библиотеки
Сегодня существует большое количество библиотек для большей функциональности и для различных устройств. Такие библиотеки и драйверы зачастую доступны на Arduino Playground, Github и Google Code. Эти библиотеки желательно устанавливать в папку Libraries, которую нужно создать в общей папке с вашими скетчами. Тогда все версии IDE смогут использовать эти библиотеки. В Windows и Mac OS обычно папка со скетчами называется Arduino и располагается в папке Документы или Documents. Для Linux папка называется Sketchbook, и расположена она в /home/(username).
Версии IDE 1.0.2 создают папку Libraries автоматически, младшие версии это делать не умеют, поэтому данную процедуру нужно выполнить вручную.
Для начала откройте File-Preferences (Файл-Настройки).
Найдите расположение папки со скетчами (Sketchbook location).
Создайте там новую папку и назовите ее Libraries.
Устанавливаем библиотеки Arduino под Windows
Для начала закройте Arduino IDE, поскольку эта среда сканирует наличие библиотек только при своем запуске. Скачайте необходимую вам библиотеку в zip-архиве, например, с Github.
Откройте zip-файл и разархивируйте библиотеку в папку Libraries.
Дайте библиотеке нормальное имя. Например, IDE не воспримет библиотеку с дефисами в названии.
Запустите IDE и зайдите в File-Examples (Файл-Примеры). Там будут располагаться примеры, использующие возможности новой библиотеки.
Откройте пример и скомпилируйте его, чтобы удостовериться, что все работает правильно.
Устанавливаем библиотеки Arduino для Mac OSX
Закройте Arduino IDE. Скачайте zip-файл с репозитория.
Найдите скачанную библиотеку в папке Downloads. OSX автоматически откроет zip-файл в данное месторасположение.
Перенесите библиотеку в папку Libraries.
При необходимости дайте библиотеке понятное имя без дефисов и прочих лишних символов. Перезапустите IDE и откройте один из примеров.
Его компиляция без ошибок будет означать правильность установки библиотеки.
Устанавливаем библиотеки Arduino для Linux
Закройте Arduino IDE. Скачайте zip-файл с репозитория.
Сохраните zip-файл в удобном для вас месте.
Откройте файл и распакуйте (Extract) содержимое в папку Sketchbook/Libraries.
При необходимости дайте библиотеке понятное имя без дефисов и прочих лишних символов. Перезапустите IDE и откройте один из примеров.
Его компиляция без ошибок будет означать правильность установки библиотеки.
Распространенные проблемы, связанные с библиотеками Arduino
„xxxx“ does not name a type
Это наиболее частая ошибка, и связана она с тем, что компилятор не может найти библиотеку. Это может быть по следующим причинам: библиотека не установлена, неправильное расположение папки, неправильное наименование папки, неправильное наименование библиотеки, зависимости библиотеки, не перезапущена среда Arduino IDE.
Неправильное расположение папки
IDE ищет библиотеки только в папке стандартных библиотек и папке пользовательских библиотек. Библиотеки, расположенные в других местах, просто недоступны для поиска. Также библиотеку нельзя организовывать как подкаталог внутри другого каталога.
Неправильное наименование папки
Как ранее было указано, IDE не поймет названия, содержащие в себе символ ‘-‘. Обычно его заменяют на ‘_’.
Неправильное наименование библиотеки
Наименование, идущее после #include в вашей программе, должно полностью соответствовать имени библиотеки.
Неполная библиотека
Еще одной причиной, по которой библиотека может не заработать, является неполное ее скачивание с репозитория. Нужно скачивать все предлагаемые файлы и папки.
Несколько версий
Если у вас есть несколько версий библиотеки, то IDE попытается загрузить их все. Это вызовет ошибки при компиляции. Недостаточно просто переименовать библиотеки, лишние нужно убрать за пределы папки Libraries.
Зависимости библиотеки
Некоторые библиотеки зависят от других библиотек, поэтому нужно следить за тем, чтобы все необходимые библиотеки были запущены.
И не забудьте перезапустить Arduino IDE!