Скачать библиотеку arduino в папке. Ошибки при подключении библиотеки Arduino. Установка библиотеки средствами Arduino IDE

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

К примеру если вы хотите вывести текст на LCD дисплей без подключения библиотеки, то Вам нужно передать ему несколько байт команд и данных, что займет несколько строк кода, а главное, что Вам нужно знать тип микроконтроллера под управлением которого работает LCD дисплей, назначение команд которыми он управляется, знать архитектуру его памяти, адреса и назначение регистров, для чего потребуется найти и перечитать его datasheet.

В то время как при написании кода с использованием библиотеки (например LiquidCrystal_I2C.h) Вы сможете вывести текст на дисплей вызвав всего одну функцию библиотеки:

Lcd.print(“my text”);

Подключить любую библиотеку можно такой командой:

"#include <файл.h>"

<файл.h> – это и есть та самая библиотека, которую мы подключаем.

Так же вы можете посмотреть пример подключения библиотеки в статье .

Перед тем как начать пользоваться методами и функциями библиотеки, её нужно:

  • скачать (загрузить на Ваш компьютер),
  • установить (разместить в нужной папке),
  • подключить (вставить текст “#include <файл.h>” в скетч).

Каждая библиотека должна содержать 2 файла с расширениями .h и .cpp .

Файлы первого типа содержат:

  • описание класса,
  • константы,
  • переменные.

Второй тип содержит коды методов.

Дополнительно нужно понимать, что файлы .h и .cpp могут не лежать в корне скачанного архива. Также могут с основными файлами идти "keywords.txt" и папка с примерами (examples).

Как установить библиотеку?

После того как Вы скачали (загрузили) библиотеку на свой компьютер, её нужно установить. Установить библиотеку можно вручную или сделать это средствами Arduino IDE:

Установка библиотеки посредством Arduino IDE

Это мы сделаем через меню. Зайдите в меню:

Скетч – Подключить библиотеку – Добавить.ZIP библиотеку

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

Выберите ZIP файл библиотеки, который Вы скачали. Название файла может не соответствовать названию библиотеки. После чего нажмите на кнопку «Открыть » (Open ).

На этом установка библиотеки завершена, можно приступить к её подключению в скетч.

Важно! После установки Arduino IDE на компьютере создается отдельная папка для хранения всех библиотек. Для ОС Linux "Scetchbook", располагается в /home/. Для ОС Windows папка "Arduino", располагается в /Мои документы/.

Установка библиотеки вручную

Распакуйте скаченный Вами ZIP архив и поместите папку (имя папки обычно совпадает с названием библиотеки) из данного архива в папку:

Этот компьютер Документы Arduino libraries

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

Дело в том, что программа постоянно развивается и количество её версий постоянно растёт. Если Вы захотите установить новую версию Arduino IDE, то библиотеки находящиеся в папке (Этот компьютер → Документы → Arduino → libraries) будут доступны и в старой, и в новой (установленной) версии Arduino IDE, а библиотеки находящиеся в папке libraries программы Arduino IDE старой версии (которая была установлена ранее) будут доступны только в ней (пока Вы их не скопируете в новую).

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

Для удобства на нашем сайте есть целый раздел, который так и называется - . Большинство библиотек можно найти в Интернете в открытом доступе.

Также ряд стандартных наборов можно найти на официальном сайта Ардуино: arduino.cc .

Какие библиотеки уже установлены?

Как мы уже обсуждали - сама интегрированная среда разработки уже идет с некоторым .

Есть два способа посмотреть установленные библиотеки.

Способ 1

Чтобы посмотреть какой набор уже установлен нужно перейти во вкладку:

Способ 2

Второй способ - воспользоваться меню "Скетч" и подменю "Подключить библиотеку". Таким образом можно также увидеть список библиотек.

Заходим в Скетч и выбираем Подключить библиотеку:

Скетч → Подключить библиотеку

Возможные ошибки

Иногда при установке библиотек или в процессе их использования могут возникать некоторые ошибки. Ниже разберем основные.

‘xxxx’ does not name a type

Ошибка появляется тогда, когда библиотека еще не установлена.

Также ошибка возникает если папка или библиотека имеет неправильное название.

Может быть указан неправильный адрес расположения папки или не перезапущена среда разработки Arduino IDE!

Неправильное расположение папки

Проверьте, находятся ли все библиотеки по нужному адресу. Адреса папок для разных операционных систем мы приводили выше.

Неправильное наименование библиотеки

Ошибка появляется тогда, когда имя после тега #include не соответствует названию библиотеки.

Неполная библиотека

Не хватает всех нужных файлов и папок.

Зависимости библиотеки

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

Многие скетчи (программы) работают с библиотеками. Библиотека облегчает работу с определённым модулем или одним из типов модулей. Например, если Вы хотите вывести текст на LCD дисплей без подключения библиотеки, то Вам нужно передать ему несколько байт команд и данных, что займет несколько строк кода, а главное, что Вам нужно знать тип микроконтроллера под управлением которого работает LCD дисплей, назначение команд которыми он управляется, знать архитектуру его памяти, адреса и назначение регистров, для чего потребуется найти и перечитать его datasheet. В то время как при написании кода с использованием библиотеки (например LiquidCrystal_I2C.h) Вы сможете вывести текст на дисплей вызвав всего одну функцию библиотеки: lcd.print("my text");

Перед тем как начать пользоваться методами и функциями библиотеки, её нужно скачать (загрузить на Ваш компьютер), установить (разместить в нужной папке) и подключить (вставить текст "#include <файл.h>" в скетч).

Скачивание библиотеки:

Если в наших уроках, описаниях или примерах используется библиотека, то мы указываем ссылку на скачивание этой библиотеки. Все наши библиотеки находятся в zip архиве, но не спешите доставать файлы из архива, это может не понадобиться, т.к. Arduino IDE сама может распаковывать архивы и размещать библиотеки в нужных папках (см. дальше).

Если Вы скачали архив библиотеки с сайта не указывая путь для сохранения файла, то скаченный (загруженный) Вами файл скорее всего находится в папке: Этот компьютер > Загрузки.

Установка библиотеки:

После того как Вы скачали (загрузили) библиотеку на свой компьютер, её нужно установить. Установить библиотеку можно вручную или сделать это средствами Arduino IDE:

Установка библиотеки средствами Arduino IDE:

Войдите в меню: Скетч > Подключить библиотеку > Добавить.ZIP библиотеку... .


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


Выберите ZIP файл библиотеки, который Вы скачали. Название файла может не соответствовать названию библиотеки. После чего нажмите на кнопку «Открыть » (Open ).


На этом установка библиотеки завершена, можно приступить к её подключению в скетч.

Установка библиотеки вручную:

Распакуйте скаченный Вами ZIP архив и поместите папку (имя папки обычно совпадает с названием библиотеки) из данного архива в папку: Этот компьютер > Документы > Arduino > libraries .


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

Примечание: папка libraries есть не только по указанному выше пути, но и в папке программы Arduino IDE (где находится файл arduino.exe). Скопировав библиотеку в эту папку, она тоже установится, но Мы не рекомендуем это делать. Дело в том, что программа Arduino IDE постоянно развивается и количество её версий постоянно растёт. Если Вы захотите установить новую версию Arduino IDE, то библиотеки находящиеся в папке Этот компьютер > Документы > Arduino > libraries, будут доступны и в старой, и в новой (установленной) версии Arduino IDE, а библиотеки находящиеся в папке libraries программы Arduino IDE старой версии (которая была установлена ранее) будут доступны только в ней (пока Вы их не скопируете в новую).

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

Для того чтобы подключить библиотеку, нужно написать всего одну строку в начале скетча: "#include <файл.h>", например:

#include // Подключение библиотеки iarduino_4LED для работы с 4 сегментными LED индикаторами.

Некоторые библиотеки работают используя методы и функции других библиотек, тогда нужно подключать две библиотеки, сначала подключается та, методы и функции которой использует вторая, например:

#include // Подключение библиотеки Wire для работы с шиной I2C #include // Подключение библиотеки LiquidCrystal_I2C для работы с LCD дисплеем по шине I2C // Библиотека LiquidCrystal_I2C использует методы и функции библиотеки Wire

Для работы с большинством библиотек, нужно создать объект (экземпляр класса библиотеки), через который будут доступны их функции и методы, например:

LiquidCrystal_I2C lcd(0x27,20,4); // lcd это объект библиотеки LiquidCrystal_I2C // через объект обращаются к функциям и методам библиотеки

Вместо lcd можно написать любое слово или сочетание букв и цифр, это название объекта через который можно обращаться к методам и функциям библиотеки. Если Вместо lcd Вы написали myLCD, то и ко всем методам и функциям библиотеки LiquidCrystal_I2C, нужно обращаться через указанное Вами имя объекта, например: myLCD.print("my text");

Примеры из библиотек:

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


Альтернативный способ просмотра примеров заключается в запуске файлов скетчей из папки:
путь > libraries > название библиотеки > examples > название примера .

Поиск библиотек:

Библиотеки можно искать самостоятельно, а можно воспользоваться функционалом Arduino IDE.

Выберите пункт меню: Скетч > Подключить библиотеку > Управлять библиотеками... .


Откроется «Менеджер библиотек », в котором можно найти интересующую Вас библиотеку введя её название в строку поиска, дополнительно можно установить пункты «Тип» и «Тема».


Нажатие на описании библиотеки приведёт к появлению вкладки «Версия » и кнопки «Установка ». После нажатия на кнопку «Установка» можно приступать к подключению библиотеки в скетч "#include <файл.h>".

Доброго времени суток, уважаемые читатели и пользователи портала Трешбокс! Задавались ли вы вопросом, что такое библиотеки и зачем они нужны в программировании Arduino? В любом случае, ответы на оба эти вопроса узнаете в этой статье.

Что это такое?

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

Для большей понятности, приводу пример. Вы подключили сервопривод к Arduino. Для того, чтобы с ним взаимодействовать, вам нужно подключить встроенную библиотеку Servo.h . Делается это в самом начале вашего скетча при помощи команды #include Servo.h.
Библиотека Servo.h включает в себя набор команд, для удобного управления сервоприводом.

Сервопривод


Ниже будет пример кода с объяснениями.

#include // команда #include подключает библиотеку
Servo myservo; // объявляем переменную с названием myservo типа Servo
void setup() // стандартная процедура setup
{
myservo.attach(10); // команда.attach привязывает сервопривод к порту 10 (можно любой другой)
}
void loop()
{
myservo.write(0); // команда.write поворачивает вал сервопривода под нужный угол (можно от 0 до 180)

myservo.write(180); // поворачиваем вал на 180 градусов
delay(2000); // пауза 2 секунды
}

Что нужно выделить для себя из данного кода:

  • С помощью // обозначается однострочный комментарий, если нужен многострочный комментарий, то помещаем его в /*… */.
  • С помощью команды #include можно подключить любую библиотеку.
  • Команды .attach() и .write() относятся к библиотеке Servo.h.
  • Команда delay() не относится к библиотеке Servo.h, она принадлежит к стандартным командам языка Arduino.
  • Перед любой командой пишется название переменной типа Servo.
  • Одна переменная относится только к одному сервоприводу.
Библиотек бывает очень много, и их можно скачать в интернете, если начнете поиск по подключению нужного вам модуля. К слову, язык программирования Arduino называется Wiring и является упрощенной версией C++.

Как устанавливать библиотеки?

Для внедрения библиотеки в код, ее нужно установить, а до этого ее нужно скачать. Скачанная вами библиотека будет в виде архива, который потребуется распаковать для дальнейшей установки. Далее, папку с библиотекой необходимо перенести в папку Arduino/libraries. Подробную установку можете посмотреть ниже на скриншотах.




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


Важно сказать, что перед использованием свежеустановленной библиотеки, Arduino IDE необходимо перезагрузить.

Виды библиотек

Все библиотеки библиотеки Arduino можно разделить на несколько видов:
  • Стандартные (встроенные) библиотеки - те библиотеки, которые встроены в Arduino IDE. Они не нуждаются в отдельной установке и доступны для использования сразу после установки Arduino IDE.
  • Дополнительные библиотеки - те библиотеки, которые не встроены в Arduino IDE. Их можно найти в интернете, например, на Github. Разработкой данных библиотек занимаются производители датчиков, в основном.
  • Зависимые библиотеки - эти библиотеки относятся к дополнительным. Библиотека, которая не может работать без другой, называют зависимой.

Зачем нужны библиотеки?

Библиотеки в языке программирования Arduino нужны для упрощения кода и для работы с различными модулями. По сути, в одной команде из библиотеки скрывается несколько строчек кода, написанные создателем библиотеки. Теоретически, большинством модулей можно управлять и без библиотек, однако, написания скетча для этого займет очень много времени и сил. Но все же, управлять lcd дисплеем без помощи библиотек у вас вряд ли получится.

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


lcd дисплей с протоколом I2C


Однако, рассмотрим мы не простой текстовый дисплей, а с протоколом I2C. Протокол I2C - это небольшая черная плата на обратной стороне дисплея (вторая фотография). Эта плата вместе с соответствующей библиотекой призвана сократить строки кода и уменьшить количество проводов для подключения, ограничиваясь всего четырьмя.

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

LiquidCrystal_I2C lcd(0x27, 16, 2);
/* Для того, чтобы дисплей работал, нужно найти его адрес, но мы не будем это рассматривать в данной статье. 16 - количество ячеек на строку. 4 - количество строк. Эти параметры можно менять, в зависимости от дисплея. */

void setup()

{
lcd.begin(); // включение дисплея
lcd.backlight(); // включение подсветки
lcd.print(«Hello, world!»); // вывод текста
}

void loop()
{
// Здесь ничего не пишем
}

Уверен, вы уже нашли команды относящиеся к библиотеке LiquidCrystal_I2C.h. Это .begin .backlight и .print . В этом скетче библиотека Wire.h нужна для корректной работы протокола I2C.

Итог

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

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

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

Библиотеки в составе 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) ) ; } }

Понравилась статья? Поделиться с друзьями: