Библиотеки Arduino: подключение. Как установить DLL файл на Windows и зарегистрировать? Установка библиотек arduino

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

Уже много было статей на тему ошибок, связанных с библиотеками DLL. Ошибки эти все исправляются единственным способом – установкой этого самого dll-файла на компьютер. В данной статье я напишу, как это сделать.

Скачивание и установка DLL-файлов

При появлении какой-то ошибки обычно указывается название DLL-файла, которого не хватает. Вам нужно ввести название этого файла в поисковике и скачать. Например, нам нужно скачать файл d3dx9_27.dll. Мы вводим это название в Яндексе или Google и скачиваем с какого-нибудь сайта. Наиболее безопасный и популярный сайт, с которого я сам скачиваю DLL-файлы – DLL-FILES.com. Там есть поле, в которое можно ввести название файла.

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

  • Windows 95/98 – помещаем файл в папку C:\Windows\System ;
  • Windows NT или 2000 – помещаем файл в папку C:\WINNT\System32 ;
  • Windows XP, 7, 8, 10 – помещаем файл в папку (для 32-х битных систем в C:\Windows\System32 , а для 64-х битных в C:\Windows\SysWOW64 ).

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

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

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

Как зарегистрировать DLL в Windows

Регистрация библиотек DLL в Windows происходит очень просто и быстро. Вы можете это сделать, если у вас стоит Windows 7, 8 или 10. Еще хочу отметить, что у вас должны быть права администратора. В данном пункте я покажу 3 способа регистрации динамических библиотек.

Первый способ

Он самый популярный и используемый пользователями.

Открываем окно «Выполнить», с помощью клавиш Win+R и вводим туда команду regsvr32.exe название_файла.

Другими словами, команда может выглядеть так (покажу на примере файла d3dx9_27.dll):

regsvr32.exe d3dx9_27.dll


Если способ не сработал, то нужно указать полный путь к этому файлу, то есть путь до папки, куда вы поместили DLL. Например, это может выглядеть так:

regsvr32.exe C:/Windows/system32/d3dx9_27.dll


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

Второй способ

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

regsvr32.exe путь_к_файлу_dll

То есть мы выполняем все тоже самое, только в командной строке.


Должно снова появиться сообщение, что библиотека зарегистрирована, либо ошибка.

Третий способ

Метод редко кем используемый, но тоже рабочий. Берете свой dll-файл и нажимаете на нем правой кнопкой мыши, в появившемся контекстном меню выбираете пункт «Открыть с помощью» и идете в папку Windows/System32 , и ищете там программу regsvr32.exe, через которую и будем открывать библиотеку.

Ошибка при регистрации DLL-файлов

Когда вы пытаетесь зарегистрировать DLL, причем, не важно каким способом, то вы можете получить ошибку, что модуль такого-то DLL несовместим с версией Windows, либо загружен. Что делать?

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

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

Как решить проблему?

  • Опытные пользователи могут использовать regasm.exe;
  • Попробуйте в интернете скачать этот же файл, только из другого источника. Либо посмотрите, что это за файл и воспользуйтесь специальными установщиками DLL-файлов. Некоторые библиотеки поставляются с каким-либо программным обеспечением, например, DirectX.
  • При скачивании какого-то приложения антивирус мог удалить в процессе установки важные DLL-библиотеки, которые были в установщике, поэтому нужно скачать игру с другого источника, либо временно отключить антивирус, и переустановить приложение.

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

Файл DLL – компонент динамически подключаемой библиотеки, чьи элементы используют практически все программы. Библиотека DLL файлов расположена в корневой папке системы. Компоненты должны быть все в наличии, иметь цифровую подпись, правильно работать и быть актуальными по версии. Если одно из требований не соблюдено, при запуске программы пользователь получит информационное уведомление: ошибка DLL. Неисправность свидетельствует о том, что отсутствует DLL файл, поврежден или устарел.

Как установить DLL файл

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

Помещение и регистрация файлов библиотеки

Перед тем как установить DLL файл на Windows 7,8,10, их нужно скачать, причем точно под разрядность системы.

Давайте определим, какая разрядность у Вашей системы (если вы точно знаете, может пропустить этот шаг)

Шаг 1 . Кликаем правой кнопкой мыши по "Мой компьютер" и выбираем "Свойства"

Шаг 2. В открывшемся окне, мы может прочитать свойства компьютера, версию операционной системы и её разрядность 32 (х86) или 64 бит. В нашем случаи стоит 64-разрядная операционная система Windows 10.

·

Шаг 3. После скачивания файлов их нужно поместить в корневую папку, зарегистрировать

для х32 (х86) систем компонент необходимо заменить или поместить в папку C:\Windows\System32;

для х64 необходимо выполнить замену или переместить в папку C:\Windows\ SysWOW64;

Шаг 4. Файл нужно зарегистрировать в системе.

Сделать это можно, открыв командную строку комбинацией «Win» + «R», или нажать «Пуск» и «Выполнить»;

в открывшемся окне ввести через пробел следующее: regsvr32 имя файла.dll – где, «regsvr32» ─ команда для регистрации, а «имя файла.dll» – полное имя вставленного компонента;

или же можно прописать расположение файла вручную - regsvr32.exe + путь к файлу

Шаг 5. Нажмите "ОК", и перезагрузите компьютер, и новые параметры вступят в силу.

Сразу хочется отметить, что при регистрации возможны появления ошибок. Например: "Не удалось загрузить модуль". Обычно они возникают по 3 причинам

  1. Не правильно прописан путь к файлу, или файл не был перемещен в каталог System32 или SysWOW64
  2. Не все файлы DLL вообще нуждаются в регистрации, иногда достаточно просто скопировать их в каталок System32 или SysWOW64 или поместить в корень проблемной игры или программы
  3. Файлы уже были зарегистрированы ранее

Второй способ регистрации

Шаг 1. Зарегистрировать файл можно с помощью командой строки, которую нужно запустить от имени администратора.

Шаг 2. Пишем команду regsvr32.exe + путь к файлу и жмём "Enter"

Шаг 3. Появится сообщение что "Всё прошло удачно", и просто перезагружаем компьютер

Вот и всё, файл зарегистрирован, можете пробовать запускать вашу игру или программу

А вот, некоторые советы, которые могут вам пригодиться.

  • Помещайте элементы только в указанную папку (возможно, она будет скрыта по умолчанию). Вам нужно убрать галочку «Не показывать скрытые папки» в настройках отображения.
  • Если при замене файла требуется разрешение администратора – подтвердите действие.
  • Выбирайте только актуальные файлы на момент загрузки и сохраните их себе в компьютер отдельно. Вам они могут еще пригодиться. В случае если проблема образуется вновь, вы быстро восстановите работоспособность системы.

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

К примеру если вы хотите вывести текст на 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 не соответствует названию библиотеки.

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

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

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

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

Библиотеки 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




Найдите скачанную библиотеку в папке Downloads. OSX автоматически откроет zip-файл в данное месторасположение.



Перенесите библиотеку в папку Libraries.








Устанавливаем библиотеки Arduino для Linux


Закройте Arduino IDE. Скачайте zip-файл с репозитория.



Сохраните zip-файл в удобном для вас месте.



Откройте файл и распакуйте (Extract) содержимое в папку Sketchbook/Libraries.





При необходимости дайте библиотеке понятное имя без дефисов и прочих лишних символов. Перезапустите IDE и откройте один из примеров.




Его компиляция без ошибок будет означать правильность установки библиотеки.



Распространенные проблемы, связанные с библиотеками Arduino



"xxxx" does not name a type


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


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


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


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


Как ранее было указано, IDE не поймет названия, содержащие в себе символ ‘-‘. Обычно его заменяют на ‘_’.


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


Наименование, идущее после #include в вашей программе, должно полностью соответствовать имени библиотеки.


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


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


Несколько версий


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


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


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