Как найти библиотеку для ардуино

Общие сведения:

Многие скетчи (программы) работают с библиотеками. Библиотека облегчает работу с определённым модулем или одним из типов модулей. Например, если Вы хотите вывести текст на 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.h>        // Подключение библиотеки iarduino_4LED для работы с 4 сегментными LED индикаторами.

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

#include <Wire.h>                 // Подключение библиотеки Wire для работы с шиной I2C
#include <LiquidCrystal_I2C.h>    // Подключение библиотеки 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>».

Библиотеки являются очень мощным инструментом при работе с Ардуино, особенно для новичка. Библиотека является файлом (набором файлов), содержащим точно такой же С++ код, на котором мы пишем скетч. Мы можем подключить библиотеку в свой код и использовать возможности, которые она даёт, а вариантов там весьма много: готовые “инструменты” для работы с внешними датчиками и модулями, для работы с внутренней периферией микроконтроллера (таймеры, АЦП, память), библиотеки различных математических инструментов и многое многое другое. Мой личный список интересных библиотек, составленный за годы работы с платформой, можно посмотреть здесь.

Прелесть работы с библиотекой заключается в том, что нам необязательно знать, каким образом работает код внутри неё, мы просто пользуемся готовыми инструментами, которые предоставил разработчик. Очень часто к библиотекам есть описание/документация и примеры использования.

Хотите написать свою библиотеку? Читайте урок.

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


Как я уже говорил, библиотека это набор текстовых файлов с кодом. Библиотеку можно установить двумя способами: из официального репозитория или вручную. У Ардуино есть своя база библиотек (около 4000), которые можно устанавливать и обновлять прямо из Arduino IDE при помощи встроенного менеджера библиотек. Это удобно, но в этом списке есть не все существующие библиотеки. Переходим в Скетч/Подключить библиотеку/Управлять библиотеками… Откроется менеджер библиотек, в котором можно найти и в один клик установить библиотеку из списка. blank
Ручная установка библиотеки подразумевает перемещение папки с библиотекой в папку, в которой Arduino IDE будет эту библиотеку искать. Таких папок две: одна находится в папке с программой:

  • 64-битная версия Windows – C:Program Files (x86)Arduinolibraries
  • 32-битная версия Windows – C:Program FilesArduinolibraries

Вторая находится по пути, указанному в настройках. По умолчанию это Документы/Arduino. Я рекомендую устанавливать библиотеки в папку с программой, так как этот путь не содержит кириллицы и проблем с ним никогда не возникнет. Перемещать библиотеку в папку библиотек нужно так, чтобы в папке с названием библиотеки были файлы библиотеки (файлы с расширениями .h, .cpp, файл keywords, папка examples…).

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

Где брать библиотеки?


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

Большинство библиотек публикуется на GitHub, у неподготовленного человека могу возникнуть проблемы со скачиванием файлов с этого ресурса. Допустим, вы наткнулись на какую-то интересную библиотеку и захотели её скачать. Например, IRLremote – библиотека для работы с ИК приёмниками. Неважно, в какую папку репозитория вы попали – всегда можно нажать на название библиотеки (Имя автора/Название репозитория) и попасть на главную страницу:   С главной страницы можно скачать весь репозиторий как архив, нажав Clone or download, затем Download ZIP. Данный способ универсален для всех библиотек.
Таким образом вы скачаете исходный код библиотеки, в котором могут быть не относящиеся к самой библиотеке файлы. Большинство авторов выпускают релизы, которые находятся во вкладке Releases:   Со вкладки Releases можно загрузить архив с библиотекой нужной версии   Также GitHub позволяет открыть для чтения или скачать единичный файл из репозитория. Для этого нужно открыть файл и нажать кнопку Raw

Решение конфликтов


Если Arduino IDE найдёт на компьютере несколько одинаковых библиотек, будет конфликт. Об этом сообщается в логе компиляции предупреждением: “несколько библиотек найдено… используется то, не используется сё“. Если вы ставили некоторые библиотеки через менеджер, они будут воевать с библиотеками, установленными вручную в папку с программой. Где вообще лежат библиотеки?

  • Стандартные общие библиотеки – в папке с программой/libraries
    • 64-битная версия Windows – C:Program Files (x86)Arduinolibraries
    • 32-битная версия Windows – C:Program FilesArduinolibraries
  • Установленные через менеджер – ДокументыArduinolibraries
  • Библиотеки для конкретного ядра:
    • Стандартное ядро Arduino – C:Program Files (x86)Arduinohardwarearduinoavrlibraries
    • Другие ядра – C:UsersusernameAppDataLocalArduino15packagesядроhardwareплатформаверсияlibraries

Конфликтовать могут и ядра, поэтому решением всех проблем может стать чистая установка Arduino IDE с удалением остатков от предыдущей версии. Удаляем программу через “Установку и удаление программ” и вручную сносим папки:

  • Папка с программой
    • 64-битная версия Windows – C:Program Files (x86)Arduinolibraries
    • 32-битная версия Windows – C:Program FilesArduinolibraries
  • ДокументыArduino
  • C:UsersusernameAppDataLocalArduino15

“Внутри” библиотеки


Библиотека, в зависимости от объема кода и настроения программиста, может быть оформлена как очень компактно, так и подробно, с кучей файлов и дополнительных папок. Рассмотрим классический состав библиотеки. Для удобства работы рекомендую включить видимость расширений файлов (Windows).

Все перечисленные ниже файлы являются обычными текстовыми файлами, открыть их можно обычным блокнотом. Рекомендую использовать “блокнот программиста” – Notepad++ (ссылка на официальный сайт), который подсвечивает синтаксис и в целом является очень удобным инструментом разработчика.

  • название_библиотеки.h – заголовочный файл, самый главный файл библиотеки. Он настолько главный, что библиотека может состоять только из него одного. Находится обычно в корне библиотеки, либо в папке src (source, исходник). В этом файле обычно перечислены все классы/методы/функции/типы данных, находится информация о библиотеке, часто встречается расширенное описание для каждого метода или функции. Часто заголовочный файл является мини-документацией на библиотеку.
  • Файл с расширением .cpp – файл реализаци, в котором находится основной исполнительный код программы. Обычно идёт парой к своему заголовочному .h файлу, т.е. название_библиотеки.cpp.
  • keywords.txt – файл, в котором перечислены подсвечиваемые в коде названия функций, методов и прочих рабочих имён библиотеки.
  • Файл library.properties содержит информацию о библиотеке для менеджера библиотек (название, версия, автор, категория и проч.)
  • Папка src – в этой папке могут находиться основные файлы библиотеки (.h, .cpp, .c).
  • Папка examples – папка с примерами использования библиотеки. Помимо перечисленных файлов и папок в папке с библиотекой могут находиться и другие служебные файлы и папки, иногда можно встретить даже полную документацию в виде текстовых файлов или html страниц.

Как работать с библиотекой?


Допустим, вы купили какой то модуль или датчик, загуглили по нему информацию, нашли статью с примером. Примеры обычно простенькие, показать как подключается и работает. Скачали библиотеку из статьи, попробовали, всё работает. Что дальше? Дальше следует открыть папку с библиотекой и посмотреть официальные примеры, разобраться как они работают и что умеют. Примеры находятся в папке examples в папке с библиотекой. Примеры обычно не раскрывают всех возможностей библиотеки, поэтому открываем и читаем заголовочный файл, который название_библиотеки.h. В нем можно найти буквально список инструментов библиотеки, очень часто с описанием для каждого. Вооружившись этой информацией, можно выжать из инструмента все возможности, которые ему прописал разработчик библиотеки.

Давайте рассмотрим стандартную библиотеку Servo, я думаю большинство с ней уже работали (смотри мой видеоурок по работе с Servo). Посмотрим примеры, которые лежат в папке с библиотекой:

Knob.ino

/*
 Controlling a servo position using a potentiometer (variable resistor)
 by Michal Rinott <http://people.interaction-ivrea.it/m.rinott>

 modified on 8 Nov 2013
 by Scott Fitzgerald
 http://www.arduino.cc/en/Tutorial/Knob
*/

#include <Servo.h>

Servo myservo;  // create servo object to control a servo

int potpin = 0;  // analog pin used to connect the potentiometer
int val;    // variable to read the value from the analog pin

void setup() {
  myservo.attach(9);  // attaches the servo on pin 9 to the servo object
}

void loop() {
  val = analogRead(potpin);            // reads the value of the potentiometer (value between 0 and 1023)
  val = map(val, 0, 1023, 0, 180);     // scale it to use it with the servo (value between 0 and 180)
  myservo.write(val);                  // sets the servo position according to the scaled value
  delay(15);                           // waits for the servo to get there
}

Sweep.ino

/* Sweep
 by BARRAGAN <http://barraganstudio.com>
 This example code is in the public domain.

 modified 8 Nov 2013
 by Scott Fitzgerald
 http://www.arduino.cc/en/Tutorial/Sweep
*/

#include <Servo.h>

Servo myservo;  // create servo object to control a servo
// twelve servo objects can be created on most boards

int pos = 0;    // variable to store the servo position

void setup() {
  myservo.attach(9);  // attaches the servo on pin 9 to the servo object
}

void loop() {
  for (pos = 0; pos <= 180; pos += 1) { // goes from 0 degrees to 180 degrees
    // in steps of 1 degree
    myservo.write(pos);              // tell servo to go to position in variable 'pos'
    delay(15);                       // waits 15ms for the servo to reach the position
  }
  for (pos = 180; pos >= 0; pos -= 1) { // goes from 180 degrees to 0 degrees
    myservo.write(pos);              // tell servo to go to position in variable 'pos'
    delay(15);                       // waits 15ms for the servo to reach the position
  }
}

Из этих примеров мы узнали, что есть класс Servo, и нужно создать объект этого класса. В блоке setup() мы можем указать, к какому пину подключена серво (метод attach()), и можем повернуть серво на нужный угол (в градусах) при помощи метода write(). Это в принципе всё, что мы узнали из официального примера.

Теперь откроем заголовочный файл Servo.h, который находится в папке src:

Servo.h

#define Servo_VERSION           2     // software version of this library

#define MIN_PULSE_WIDTH       544     // the shortest pulse sent to a servo  
#define MAX_PULSE_WIDTH      2400     // the longest pulse sent to a servo 
#define DEFAULT_PULSE_WIDTH  1500     // default pulse width when servo is attached
#define REFRESH_INTERVAL    20000     // minumim time to refresh servos in microseconds 

#define SERVOS_PER_TIMER       12     // the maximum number of servos controlled by one timer 
#define MAX_SERVOS   (_Nbr_16timers  * SERVOS_PER_TIMER)

#define INVALID_SERVO         255     // flag indicating an invalid servo index

#if !defined(ARDUINO_ARCH_STM32F4)

typedef struct  {
  uint8_t nbr        :6 ;             // a pin number from 0 to 63
  uint8_t isActive   :1 ;             // true if this channel is enabled, pin not pulsed if false 
} ServoPin_t   ;  

typedef struct {
  ServoPin_t Pin;
  volatile unsigned int ticks;
} servo_t;

class Servo
{
public:
  Servo();
  uint8_t attach(int pin);           // attach the given pin to the next free channel, sets pinMode, returns channel number or 0 if failure
  uint8_t attach(int pin, int min, int max); // as above but also sets min and max values for writes. 
  void detach();
  void write(int value);             // if value is < 200 its treated as an angle, otherwise as pulse width in microseconds 
  void writeMicroseconds(int value); // Write pulse width in microseconds 
  int read();                        // returns current pulse width as an angle between 0 and 180 degrees
  int readMicroseconds();            // returns current pulse width in microseconds for this servo (was read_us() in first release)
  bool attached();                   // return true if this servo is attached, otherwise false 
private:
  uint8_t servoIndex;               // index into the channel data for this servo
  int8_t min;                       // minimum is this value times 4 added to MIN_PULSE_WIDTH    
  int8_t max;                       // maximum is this value times 4 added to MAX_PULSE_WIDTH   
};

Что мы можем узнать из этого кода? Достаточно много всего интересного!

  • Минимальный импульс – 544 мкс
  • Максимальный импульс – 2400 мкс
  • Стандартный импульс после attach() – 1500 мкс – значит серво повернётся на соответствующий угол после подключения!
  • Максимальное количество серво можно узнать, выведя дефайн MAX_SERVOS в порт (Serial.print(MAX_SERVOS);) – для Arduino NANO это будет 12 штук
  • В классе Servo мы можем увидеть методы, которые не были раскрыты в примерах:
    • Версия attach() с возможностью указать мин. и макс. длину импульса вручную
    • detach() – отключить серво от управления
    • writeMicroseconds() – подать управляющий сигнал в мкс, а не в градусах
    • read() – считать текущее положение серво (последнее отправленное через write())
    • И некоторые другие

Перед кодом также находится весьма подробное описание библиотеки и расписаны некоторые тонкости. Что я хочу этим сказать: очень часто именно заголовочный файл несёт основную массу полезной информации по возможностям библиотеки, и в “статьях” о модулях и датчиках вы эту информацию скорее всего не найдёте. Всегда изучайте заголовочный файл, если нужно серьёзно поработать с каким-то модулем или вообще библиотекой в целом!

Полезные страницы


  • Набор GyverKIT – большой стартовый набор Arduino моей разработки, продаётся в России
  • Каталог ссылок на дешёвые Ардуины, датчики, модули и прочие железки с AliExpress у проверенных продавцов
  • Подборка библиотек для Arduino, самых интересных и полезных, официальных и не очень
  • Полная документация по языку Ардуино, все встроенные функции и макросы, все доступные типы данных
  • Сборник полезных алгоритмов для написания скетчей: структура кода, таймеры, фильтры, парсинг данных
  • Видео уроки по программированию Arduino с канала “Заметки Ардуинщика” – одни из самых подробных в рунете
  • Поддержать автора за работу над уроками
  • Обратная связь – сообщить об ошибке в уроке или предложить дополнение по тексту ([email protected])

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

Содержание

  • Зачем нужны библиотеки
  • Где взять библиотеки
  • Установка библиотеки
    • Установка библиотеки через Arduino IDE
    • Установка библиотеки вручную
    • Установка с GitHub
  • Какие библиотеки уже установлены?
    • Способ 1
    • Способ 2
  • Подключение библиотеки
  • Файлы библиотек (из чего состоит)
  • Библиотеки с примерами
  • Поиск библиотек
  • Возможные ошибки и конфликты
    • ‘xxxx’ does not name a type
    • Неправильное расположение папки
    • Неправильное наименование библиотеки
    • Неполная библиотека
    • Зависимости библиотеки

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

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

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

Допустим, у нас есть задача вывести текст на ЖК-дисплей без подключения библиотеки. Для этого нам нужно:

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

Легче всего будет установить библиотеку Ардуино LiquidCrystal, добавить в скетч и одной строкой вывести текст на ЖК-дисплей:

lcd.print("my text");

Где взять библиотеки

Библиотеки для Ардуино можно найти и скачать в трех основных местах:

  1. В разделе Библиотеки сайта АрдуиноПлюс.ру.
  2. На сайте arduinolibraries.info.
  3. В «Менеджере библиотек» среды Arduino IDE.
  4. На сайте GitHub.com.

Для удобства на нашем сайте есть целый раздел, который так и называется — Библиотеки Ардуино. В своих уроках мы как, правило, приводим ссылки на используемые библиотеки в проекте.

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

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

Установку библиотек в Ардуино можно двумя основными способами:

  1. Через «Менеджера библиотек» среды разработки Arduino IDE.
  2. Вручную через скачивание и установку нужной библиотеки.

Установка библиотеки через Arduino IDE

Первый способ установки библиотеки в Ардуино — это использование среды разработки и меню этой программы.

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

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

Зайдите в меню:

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

В появившемся окне нажмите на иконку «Этот компьютер» и выберите папку «Загрузки».

Стандартные библиотеки Arduino находятся в:

C:Program Files (x86)Arduinolibraries // 64-битная версия Windows
C:Program FilesArduinolibraries //32-битная версия Windows

Дополнительные библиотеки в:

C:Users{Имя Пользователя}DocumentsArduinolibraries

Библиотеки, установленные через менеджер лежат в:

ДокументыArduinolibraries

Стандартное ядро Ардуино:

C:Program Files (x86)Arduinohardwarearduinoavrlibraries

Для другого ядра:

C:Users{username}AppDataLocalArduino15packages{ядро}hardware{платформа}{версия}libraries

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

Выберите ZIP-файл библиотеки, который Вы скачали. Название файла может не соответствовать названию библиотеки.

После чего нажмите на кнопку «Открыть» (англ. — Open).

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

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

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

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

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

После чего можно запустить (открыть) заново среду разработки и приступать к подключению библиотеки в скетч.

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

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

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

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

Установка с GitHub

Есть еще один вариант — забирать библиотеки непосредственно с GitHub.com.

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

Например, Git-репозиторий компании Adafruit — github.com/adafruit.

Или вот пример репозитория библиотеки IRLremote на нашем сайте или на Github.

На GitHub любой репозиторий можно клонировать или скачать себе на компьютер в виде ZIP-архива.

Для этого нажимаем на Code и затем Download ZIP:

Стоит сказать, что раньше была кнопка Clone or download.

Нажав Download ZIP вы скачаете последнюю версию репозитория со всеми файлами, даже теми, которые вам могут не пригодиться.

Кроме того, вы можете скачать отдельные релизы (версии) библиотеки через вкладку Releases:

На вкладке Releases вы найдете исходный код (Source Code) для скачивания:

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

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

Интегрированная среда разработки Arduino IDE уже идет с некоторым набором встроенных библиотек.

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

Способ 1

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

Файл -> Примеры (File -> Example)

Далее прокрутите вниз и вы увидите установленный набор библиотек (на рисунке ниже выделен красным):

Способ 2

Второй способ через который также можно увидеть список библиотек — воспользоваться меню «Скетч» и подменю «Подключить библиотеку».

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

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

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

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

#include <файл.h>

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

Например, в статье Wi-Fi WebServer на WeMos D1 R2 мы подключаем библиотеку ESP8266WiFi.h следующим образом:

#include <ESP8266WiFi.h>

Дополнительные примеры подключения библиотек:

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

Кроме того, есть вариант размещения библиотеки в одной папке проекта со скетчем, т.е. файл библиотеки располагается рядом с файлом .ino.

Тогда для подключения библиотеки мы используем кавычки:

#include "arduinoplus.h"

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

Но важно понимать — такой способ не подходит для библиотек со множеством файлов.

Файлы библиотек (из чего состоит)

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

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

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

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

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

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

Дополнительно нужно понимать, что файлы .h и .cpp могут не лежать в корне скачанного архива.

Примечание. С основными файлами также могут идти «keywords.txt» и папка с примерами («examples«).

library.properties (файл) — файл с информацией о библиотеке для менеджеров библиотек и различных агрегаторв. Данный файл содержит:

  • название,
  • версия,
  • автор,
  • категория
  • и т.д.

src (папка) — в ней находятся основные файлы библиотеки — .h.cpp.c.

examples (папка) – здесь находятся примеры использования библиотеки.

Библиотеки с примерами

Многие библиотеки могут идти с примерами работы. Такие примеры демонстрируют работу библиотеки после установки библиотеки в Ардуино и показывают её функциональные возможности.

В Arduino IDE переходим в меню:

Файл -> Примеры

В этом меню вы сможете увидеть какие библиотеки идут с примерами, если наведете курсор на имя библиотеки:

Можно также попробовать запустить файлы скетчей из папки библиотеки:

путь -> libraries -> название библиотеки -> examples -> название примера

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

Искать библиотеки можно вручную или через среду разработки Ардуино IDE (Integrated development environment).

Переходим в меню среды:

Скетч -> Подключить библиотеку -> Управлять библиотеками

Выглядите это так:

Мы откроем «Менеджер библиотек», о котором мы говорили выше.

Здесь мы увидим поле поиска и два выпадающих меню с названиями Тип и Тема. Введя в поисковое поле нужное название библиотеки нам Менеджер покажет подходящие варианты библиотек.

Выбираем библиотеку и видим появления кнопок Версия и Установка:

Далее жмем Установка и потом уже подключаем библиотеку в скетч нашего проекта:

#include <файл.h>

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

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

Очень часто помогает установка Arduino IDE с чистого листа и удаление всех файлов предыдущей версии.

‘xxxx’ does not name a type

  • Ошибка появляется тогда, когда библиотека еще не установлена.
  • Также ошибка возникает если папка или библиотека имеет неправильное название.
  • Может быть указан неправильный адрес расположения папки или не перезапущена среда разработки Arduino IDE!

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

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

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

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

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

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

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

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

28 мая 2017 в 16:58
| Обновлено 4 декабря 2020 в 00:39 (редакция)
Опубликовано:

Статьи, Arduino

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

Что такое библиотеки?

Библиотеки представляют собой набор кода, который упрощает вам, например, подключение к датчику, дисплею, модулю и т.д. Например, встроенная библиотека LiquidCrystal позволяет легко «разговаривать» с символьными ЖК-дисплеями. В Интернете доступны для загрузки сотни дополнительных библиотек. Встроенные библиотеки и некоторые дополнительные перечислены по этой ссылке . Чтобы использовать дополнительные библиотеки, вам необходимо их установить.

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

Использование менеджера библиотек

Чтобы установить новую библиотеку в вашу среду разработки Arduino, вы можете использовать менеджер библиотек (доступный в IDE с версии 1.6.2). Откройте среду IDE и перейдите в меню «Скетч» > «Подключить библиотеку» > «Управлять библиотеками» .

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

Нажмите «Установка» и подождите, пока среда IDE установит новую библиотеку. Загрузка может занять некоторое время в зависимости от скорости вашего соединения. Как только он закончит, тег Installed должен появиться рядом с библиотекой Bridge. Теперь вы можете закрыть менеджер библиотек.

Новую библиотеку можно найти  в меню «Скетч» > «Подключить библиотеку». Если вы хотите добавить свою библиотеку в менеджер библиотек, следуйте этим инструкциям.

Импорт библиотеки .zip

Библиотеки часто распространяются как ZIP-файл или папка. Имя папки — это имя библиотеки. Внутри папки будет файл .cpp, файл .h и часто файл keywords.txt, папка примеров и другие файлы, необходимые библиотеке. Начиная с версии 1.0.5, вы можете установить сторонние библиотеки в среде IDE. Не распаковывайте загруженную библиотеку, оставьте ее как есть.

В среде разработки Arduino перейдите в «Скетч» > «Подключить библиотеку» > «Добавить .ZIP библиотеку».

Вам будет предложено выбрать библиотеку, которую вы хотите добавить. Перейдите в расположение файла .zip и откройте его.

Вернитесь в меню «Скетч» > «Подключить библиотеку». Теперь вы должны увидеть библиотеку внизу раскрывающегося меню. Она готова к использованию в вашем эскизе. Zip-файл будет распакован в папку библиотеки в каталоге эскизов Arduino.

Ручная установка

Если вы хотите добавить библиотеку вручную, вам необходимо загрузить ее в виде ZIP-файла, распаковать его и поместить в соответствующий каталог. ZIP-файл содержит все, что вам нужно, включая примеры использования, если автор их предоставил. Менеджер библиотек обеспечит установку ZIP-файла автоматически, как было показано в предыдущей главе, но есть случаи, когда вы можете выполнить процесс установки вручную и поместить библиотеку в папку библиотеки своего альбома самостоятельно. Вы можете найти или изменить расположение папки своего альбома в меню «Файл» > «Настройки» > «Размещение папки скетчей» . 

Перейдите в каталог, в который вы загрузили ZIP-файл библиотеки

Извлеките ZIP-файл со всей структурой папок во временную папку, затем выберите основную папку, название которой должно повторять имя библиотеки

Скопируйте его в папку «libraries» внутри вашего альбома.

Запустите программное обеспечение Arduino (IDE), перейдите в «Скетч» > «Подключить библиотеку». Убедитесь, что только что добавленная библиотека доступна в списке.


Обратите внимание: библиотеками можно управлять в трех разных местах: внутри папки установки IDE, внутри основной папки и в папке библиотек внутри вашего альбома. Выбор библиотек во время компиляции приведет к обновлению библиотек, присутствующих в дистрибутиве. Это означает, что библиотека, размещенная в папке «libraries» в вашем альбоме имеет преимущество над другими версиями библиотек.
То же самое происходит с библиотеками, присутствующими в дополнительных ядрах процессора. Важно отметить, что версия библиотеки, которую вы помещаете в ваш альбом, может быть ниже той, что находится в папках дистрибутива IDE или ядра процессора. Тем не менее она будет использоваться во время компиляции. Когда вы выбираете конкретное ядро ​​для своей платы, библиотеки, присутствующие в папке ядра, используются вместо тех же библиотек, которые присутствуют в папке дистрибутива IDE.
Последнее, но не менее важное — это то, как обновляется программное обеспечение Arduino (IDE): все файлы в папке, где вы устанавливали IDE удаляются, и создается новая папка со свежим контентом.
Поэтому рекомендуется устанавливать библиотеки только в папку эскизов, чтобы они не удалялись во время процесса обновления среды IDE.

Подобрать диплом срочно Октябрьск. Это еще один кусок территории, который они собираются «оккупировать». Если компания предлагает только http://diploman-ru.com/ дипломы или сертификаты, это обычно остается незамеченным. Так что если вы хотите что-то предложить нашим менеджерам, пожалуйста, сэкономьте свое вре

Ардуино

29 апреля 2020 1491

Стандартные библиотеки Arduino хранятся в папке:

«C:Program Files (x86)Arduinolibraries»

Дополнительные библиотеки устанавливаются в папку:

«C:Users*Имя Пользователя*DocumentsArduinolibraries»

В вашем случае эти пути могут быть другими из-за другой буквы основного жесткого диска и другого имени пользователя. Если у вас установлена 32х битная операционная система то папка «Program Files (x86)» будет называться «Program Files».

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

Установить библиотеки в Arduino IDE очень просто. Можно сделать это двумя способами. Через интерфейс программы или копированием скачанной библиотеки в папку «libraries». Рассмотрим подробнее оба варианта:

Установка библиотек через Arduino IDE

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

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

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

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

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

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

Второй вариант — это установка библиотеки из скачанной .zip папки. Через интерфейс Arduino IDE это можно сделать всего за пару кликов. В верхнем меню программ выбираем «Скетч -> Подключить библиотеку -> Добавить .ZIP библиотеку». Откроется окно файлового менеджера, где необходимо выбрать папку или .zip архив с вашей библиотекой.

Еще один способ установки библиотек Ардуино

Вы можете просто перенести папки библиотек по пути:

«C:Program Files (x86)Arduinolibraries»

После того как вы добавили свои библиотеки необходимо перезапустить Arduino IDE. Теперь вы можете использовать сторонние библиотеки в своих проектах.

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

Мало установить библиотеку. Для использования ее необходимо подключить в скетч. Сделать это очень просто. Можно в начале скетча вручную написать подобную строчку:

#include <ESP8266WiFi.h>

Обратите внимание, что после этой инструкции не ставится точка с запятой. Так же можно подключить библиотеку ардуино через меню программы Arduino IDE. «Скетч -> Подключить библиотеку -> Название необходимой библиотеки». После этого в начало вашего скетча автоматически добавится нужная строчка. Теперь вы можете использовать библиотеки Arduino в своих проектах.

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

Не пропустите также:

  • Как найти сотрудника если нет денег
  • Как найти блоггеров программа
  • Как найти pop3 сервера
  • Как найти перенос контактов
  • 403 forbidden request forbidden by administrative rules как исправить

  • 0 0 голоса
    Рейтинг статьи
    Подписаться
    Уведомить о
    guest

    0 комментариев
    Старые
    Новые Популярные
    Межтекстовые Отзывы
    Посмотреть все комментарии