Домой / Faq / Установка и подключение библиотеки ардуино. Установка библиотек в Arduino IDE

Установка и подключение библиотеки ардуино. Установка библиотек в Arduino IDE

Одной из причин популярности Arduino является простота использования разнообразных периферийных устройств (модулей): дисплеев, драйверов двигателей, модулей беспроводной связи (Bluetooth, wi-fi, XBee или ISM) и т. д.

Программная среда Arduino (IDE) включает в себя множество полезных функций, облегчающих создание программ для новых проектов. Но, к сожалению, она не может иметь встроенную поддержку для каждого вновь появившегося нового оборудования (модуля) или компонента программного обеспечения.

Вместо этого осуществляется поддержка «библиотек», которые являются автономными модулями, предназначенными для расширения программной среды, добавления определенных функций или аппаратной поддержки.

Основным источником библиотек для Arduino являются производители аппаратного обеспечения, создающие их для обеспечения поддержки в IDE Arduino.

Где можно найти библиотеки к Ардуино

Если вам нужна поддержка Arduino для определенного оборудования (модуля), попробуйте просмотреть сайт производителя модуля. Вы также можете посетить сайт Arduino , в котором собрано множество популярных библиотек.

В противном случае попробуйте выполнить поиск в Google, например, наберите «Arduino library» и название вашего оборудования.

Как было уже сказано выше, в среде разработки Arduino есть предустановленные библиотеки. Чтобы функции библиотеки были доступны в нашей программе сначала необходимо ее подключить. Для этого используется директива #include.

Подключение встроенной библиотеки вызывается из меню «Скетч — Подключить библиотеку — …» далее выбираем необходимую библиотеку (в нашем случае «Servo»).

При выборе библиотеки, Arduino IDE автоматически добавит в ваш код соответствующую директиву #include.

#include // подключаем библиотеку поддержки сервоприводов.

Если в IDE нет необходимой предустановленной библиотеки, то ее необходимо установить самостоятельно. Для этого есть 2 способа.

Первый способ: Добавление библиотеки из репозитория Ардуино.

Создатели Arduino разместили в интернете базу различных библиотек. Если вам не хватает какой-то библиотеки, то вы можете поискать ее в репозитории. Для этого выберите в меню «Скетч – Подключить библиотеку – Управлять библиотеками».

В этом окне вы можете скачать из интернета новую или обновить уже существующую библиотеку.

Второй способ: Добавление библиотеки, скаченной из интернета.

Поскольку в среде Arduino почти все легко и просто, установка дополнительных библиотек тоже не вызывает больших сложностей. В качестве примера мы покажем установку библиотеки для работы с радиомодулем системы беспроводной связи NRF24L01 от компании Nordic Semiconductor.

Библиотеки для Arduino, предназначенные для самых популярных модулей доступны на странице http://arduino.cc/libraries. Программное обеспечение (библиотеки) для менее популярных модулей, как правило, находятся на сайтах производителей этих модулей.

В случае радиомодуля NRF24L01, библиотека поддержки этого модуля в среде Arduino была создана на базе библиотеки, разработанной для микроконтроллеров AVR . Документацию по этой библиотеке и саму библиотеку можно скачать с сайта https://github.com/stanleyseow/arduino-nrf24l01

После того как вы скачали архив библиотеки arduino-nrf24l01-master.zip, необходимо ее установить в IDE. Для этого перейдите в меню «Скетч – Подключить библиотеку – Добавить ZIP библиотеку»

Затем укажите местоположение скаченного файла arduino-nrf24l01-master.zip и нажмите кнопку Open.

После этого, как правило, мы имеем установленную библиотеку. Но, к сожалению, часто бывает так, что Arduino сигнализирует ошибку «Выбранная папка/zip файл не содержит корректных библиотек»

В таком случае библиотеку можно установить вручную. Для этого необходимо распаковать скачанный файл arduino-nrf24l01-master.zip и папку «Mirf» скопировать в папку «libraries». Либо можно поместить папку «Mirf» в C:\….\Documents\Arduino\libraries (тогда библиотека будет доступна из IDE разных версий).

После перезагрузки IDE Arduino мы можем подключить данную библиотеку, а также воспользоваться примерами для радиомодуля NRF24L01

Как удалить библиотеку в Aрдуино

Если вы разобрались, как можно установить новую библиотеку в IDE, то для вас не будет проблемой и с ее удаление (в случае необходимости).

Все, что требуется от вас для удаления библиотеки, это удалить папку библиотеки из каталога «libraries» в IDE или (если библиотека установлена в «Документы») из каталога C:\….\Documents\Arduino\libraries

Очень часто одни и те же части кода кочуют из программы в программу. Например, код для работы с датчиком. Чтобы не писать этот код каждый раз заново, его выносят в отдельные файлы - библиотеки. Огромное количество готового кода уже написано другими людьми, и с помощью библиотек его можно легко использовать в своих программах.

Подключение библиотек

Библиотеки в составе Arduino IDE

Очень много библиотек идет в составе Arduino IDE. Добавить библиотеку в свой код можно из меню Эскиз Импорт библиотек… Название библиотеки :

После выбора пункта «Servo» Arduino IDE сама вставит в код нужные строчки:

#include void setup() { // установочный код, выполняется один раз } void loop() { // основной код, выполняется циклично после установочного кода }

Конечно, если вы знаете название нужной библиотеки, можно просто написать в самом верху скетча #include - результат будет тем же самым.

Чтобы посмотреть пример работы с библиотекой, идущей в составе Arduino IDE необходимо выбрать в меню Файл Образцы Название библиотеки Название примера

Сторонние библиотеки

Библиотек для Arduino действительно очень много. И только незначительная часть из них входит в состав Arduino IDE. Многие библиотеки можно найти на сайте GitHub .

Давайте попробуем добавить в свой проект библиотеку для работы с четырёхразрядным индикатором . Ссылка на библиотеку для работы с ним есть на странице описания товара. Если зайти на страницу библиотеки, можно увидеть множество файлов библиотеки и примеры работы с ней. Но нас пока будет интересовать только кнопка Download ZIP :
После нажатия на неё начнётся загрузка.zip-архива со всеми файлами библиотеки. В данном случае это будет файл QuadDisplay-master.zip . Название библиотеки может состоять только из латинских букв и цифр, при этом название не может начинаться с цифры, поэтому давайте сразу переименуем наш архив. Теперь он будет называться QuadDisplay.zip .

После загрузки архива нужно зайти в Arduino IDE и выполнить импорт библиотеки в вашу рабочую папку Sketchbook/libraries , в которой должны находится все сторонние библиотеки. Сделать это можно прямо из Arduino IDE, в меню Эскиз Импорт библиотек… Добавить библиотеку… :
Откроется диалоговое окно, в котором необходимо выбрать наш архив QuadDisplay.zip и нажать кнопку Open . Готово. Теперь библиотеки можно добавлять в код. Примеры работы с библиотекой доступны в меню Файл Sketchbook libraries Название библиотеки Название примера

В Arduino 1.6.7 и выше: Файл Примеры Название библиотеки Название примера

Создание библиотеки

Обычно, при создании библиотеки создаются два файла: заголовочный файл и файл с кодом библиотеки. Давайте попробуем написать библиотеку, которая бы позволяла нам посчитать площадь круга. Создадим в директории %Sketchbook%\Arduino\libraries папку с названием нашей библиотеки (название может состоять только из латинских букв и цифр, при этом не может начинаться с цифры). Давайте назовём нашу библиотеку circleArea. Перейдём в созданную нами папку %Sketchbook%\Arduino\libraries\circleArea и создим там два файла:

    circleArea.h - заголовочный файл

    circleArea.cpp - файл с кодом библиотеки.

Код circleArea.h будет таким:

circleArea.h #include #define PI 3.14 // два знака после запятой - достаточная точность. //Объявляем нашу библиотечную функцию, ради которой все и затевалось float circleArea(float radius) ;

Код circleArea.cpp будет таким:

circleArea.cpp #include // пригодится, мы будем использовать числовые типы #include // функцию pow() мы возьмём отсюда #include // в заголовочном файле находится PI и объявление функции //Реализуем нашу библиотечную функцию, ради которой все и затевалось float circleArea(float radius) { return PI* pow (radius, 2 ) ; }

Использование библиотеки в скетче будет таким:

circleArea.ino #include void setup() { // put your setup code here, to run once: Serial.begin (9600 ) ; } void loop() { // put your main code here, to run repeatedly: for (int i= 1 ; i< 5 ; ++ i ) { Serial.print ("circle area with radius " ) ; Serial.print (i) ; Serial.print (" = " ) ; Serial.println (circleArea(i) ) ; } }

Для более легкой и продуктивной работы с Arduino есть возможность использовать дополнительные библиотеки. Библиотеки Arduino — это части программы для выполнения конкретных задач. С помощью библиотек можно выполнять сложные действия всего парой строк кода, потому что кто-то другой уже написал часть кода за вас.

В Arduino IDE удобный интерфейс для работы с библиотеками ардуино. Прямо из меню программы вы можете скачать, установить и подключить в свой скетч множество библиотек. Для большинства библиотек Arduino можно посмотреть примеры использования. Это поможет понять принцип работы библиотеки. Примеры можно доработать под свои нужды и использовать для реализации своих устройств.

Существуют стандартные библиотеки, которые устанавливаются вместе с Arduino IDE. Некоторые из них даже автоматически подключаются в скетч (например Serial).

Скачать стандартные библиотеки Arduino

Скачать стандартные библиотеки можно на официальном сайте Arduino .

Там вы найдете описания и примеры использования стандартных библиотек. Так же вы можете скачать все стандартные библиотеки одним архивом . В этом архиве не только стандартные библиотеки, но и множество дополнительных самых популярных библиотек для Ардуино.

Ниже приведены подробные описания и примеры использования стандартных библиотек Arduino.

  • — Библиотека для обмена данными через последовательный порт (UART).
  • — Библиотека для легкого и точного управления сервоприводами.
  • — Библиотека для работы с интерфейсами связи TWI/I2C. Упрощает обмен данными с устройствами, датчиками и сенсорами.
  • WiFi — Подключение к интернету с использованием WiFi шилда.
  • TFT — Нужна для отрисовки текста, изображений и картинок на TFT дисплее Arduino.
  • Stepper — Библиотека для управления шаговыми моторами.
  • LiquidCrystal — Для работы Arduino с жидкокристаллическими экранами (LCD)
  • Ethernet — Для подключения к интернету с использованием .
  • SD — Библиотека для записи и считывания информации с SD карт памяти.
  • GSM — Библиотека для подключения Ардуино к GSM сети. Необходима для отправки и получения SMS и звонков, а так же для выхода в интернет с помощью GPRS. Используется с .
  • EEPROM — Библиотека для чтения и записи в энергонезависимую память Arduino.

Установка и подключение библиотеки к arduino – достаточно распространенная операция, любой разработчик рано или поздно обязательно сталкивается с нею. Внешний подключаемый код во всех языках программирования используется для экономии времени. Ардуино не исключение: многие датчики, модули, экраны и двигатели требуют достаточно сложные схемы взаимодействия, которые трудно реализовывать в своем коде. Гораздо проще и быстрее скачать нужную библиотеку, быстро подключить ее вручную или с помощью Arduino IDE, а потом использовать во всех своих скетчах. В этой статье вы найдете короткую инструкцию по подключению и использованию библиотек.

Библиотека в Ардуино – это программный код во внешних файлах, которые можно установить и подключить к вашему скетчу. В библиотеке хранятся различные методы и структуры данных, которые нужны для упрощения работы с датчиками, индикаторами, модулями и другими компонентами. Использование библиотек существенно упрощает работу над проектами, потому что можно сосредоточиться на основной логике программы, не тратя время на множество мелочей. Сегодня огромное количество библиотек выложено в интернете, где их можно легко скачать, причем совершенно бесплатно. можно найти на нашем сайте.

С точки зрения файловой системы библиотека представляет собой каталог, содержащий определенные папки. Во время компиляции и сборки проекта Arduino IDE автоматически включает в код те классы, структуры данных и методы из библиотек, которые включены и используются в скетче. Таким образом, единственное, что нам нужно сделать – это выставить в свой код соответствующие инструкции, предварительно убедившись, что нужная библиотека установлена.

Как узнать список подключенных библиотек к Arduino IDE

Каждая установленная библиотека содержит один или несколько примеров для работы. Они используются для того, чтобы отобразить возможности подключенного к Ардуино устройства. Поэтому самым быстрым способом получить список всех установленных библиотек ардуино – воспользоваться списком примеров в Arduino IDE. Для этого в главном меню выберите Файл,а затем откройте подменю Примеры.

Другим способом является использование меню Скетч и подменю – Подключить библиотеку. Там вы тоже сможете увидеть список библиотек:

Подключение оператором #include заголовочного h файла

Чтобы начать пользоваться библиотекой, нужно в начале программы включить заголовочный h файл директивой include. Например, подключение библиотеки LiquidCrystal.h будет выглядеть так: #include

Вы можете посмотреть полный пример, воспользовавшись самой библиотекой.

Обязательные файлы в библиотеке

Каждая библиотека должна содержать как минимум 2 файла – это заголовочный файл с расширением.h и файл с исходным кодом с расширением.cpp. В заголовочном файле находятся описание класса, константы и переменные. Во втором файле содержатся коды методов. Помимо двух основных файлов может содержаться текстовый документы keywords.txt и папка examples с кодами примеров использования библиотеки. Файлы h и cpp не обязательно лежат в корне

Редактирование файлов невозможно в Arduino IDE, все изменения можно проводить в любом текстовом редакторе, либо среде разработки C++. Это связано с тем, что в Arduino IDE мы не работаем с файлами cpp, редактор кода не предназначен для “чистого” C, он работает только с языком Arduino.

Где найти нужную библиотеку

Необходимую библиотеку можно загрузить через интернет. Большинство библиотек имеется на сайте Github. После загрузки библиотеки важно ее добавить в правильную папку, чтобы компилятор смог ее найти и загрузить скетч. Папка, в которой сохранены все коды, создается на компьютере после установки Arduino IDE. Для операционной системы Linux папка имеет название “Scetchbook” и располагается в /home/, на Windows папку «Arduino» можно найти в разделе «Мои документы».

Все библиотеки, которые установлены дополнительно, расположены в папке “Libraries”. Для ранних версий Ардуино папку нужно создать самостоятельно, а начиная с версии 1.0.2, она добавляется при установке Arduino IDE автоматически.

Как установить библиотеку. Пошаговая инструкция

Как только библиотека будет загружена на ПК, нужно начать ее установку. Установить библиотеку можно двумя способами – при помощи средств Arduino IDE и вручную.

Подключение при помощи Arduino IDE

Библиотека скачивается в виде zip-архива. Для ее включения этим способом архив не нужно распаковывать. Чтобы установить ее, нужно зайти в меню Скетч – Подключить библиотеку – Добавить.Zip библиотеку.

Когда откроется окно, нужно выбрать папку «загрузки» в разделе «Этот компьютер». Если же после загрузки библиотеки она была сохранена в другое место, нужно указать его.

Затем нужно выбрать скачанный файл и нажать «открыть».

Библиотека будет установлена, и ей можно пользоваться. Для того, чтобы начать пользоваться примерами Файл – примеры, нужно перезагрузить среду разработки Ардуино.

Установка библиотеки вручную из zip-файла

Перед началом установки нужно выйти из Arduino IDE. Скачанный zip-файл с библиотекой нужно распаковать. В результате мы получим папку, в которой будут располагаться файлы библиотеки с расширением.cpp и.h и каталоги. Полученную папку нужно будет поместить в libraries.

В ОС Windows папку libraries можно найти по маршруту Мои документы – ардуино – libraries. В Linux это будет папка libraries со скетчами.

В конце нужно перезапустить Arduino IDE, загруженная библиотека будет доступна для включения через Скетч – Подключить библиотеку.

Ошибки при подключении библиотеки Arduino

Ниже перечислен перечень возможных ошибок при установке библиотеки и способы борьбы с ними:

  • ‘xxxx’ does not name a type – подобная ошибка появляется, если библиотеку еще не установили, папка или библиотека названа неверно, указан неправильный адрес расположения папки или не перезапущена среда разработки Arduino IDE.
  • Неправильное расположение папки – если высветилась эта ошибка, нужно проверить, находится ли библиотека в папке, доступной для поиска средой.
  • Неправильное наименование библиотеки – ошибка появляется, если имя после #include не соответствует названию библиотеки.
  • Неполная библиотека – может появиться, если были скачаны не все нужные файлы и папки.
  • Зависимости библиотеки – так как этот тип библиотек работает только с дополнительными, нужно изначально подключить именно их.

Библиотеки для 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 надо перезагрузить.

Оставляйте Ваши комментарии, вопросы и делитесь личным опытом ниже. В дискуссии часто рождаются новые идеи и проекты!