Как установить библиотеку в Arduino IDE
Быстрее всего — через менеджер библиотек:
- Откройте его: значок с книгами на панели слева или Sketch → Include Library → Manage Libraries….
- Наберите в поиске название — датчика, дисплея или самой библиотеки (
DHT,LiquidCrystal I2C,Servo). - Найдите нужную по названию и автору, нажмите Install.
- Если библиотеке нужны другие, IDE покажет их список — согласитесь поставить все.
Дальше в начале скетча подключите библиотеку строкой #include, например:
#include <DHT.h>Имя файла для #include есть в описании библиотеки и в её примерах. Примеры открываются через File → Examples — в списке появится раздел с именем библиотеки.
Из ZIP-архива
Если библиотеки нет в менеджере, а у разработчика она лежит архивом (например, на странице проекта на GitHub — кнопка Code → Download ZIP):
- Скачайте
.zip, распаковывать не нужно. - Sketch → Include Library → Add .ZIP Library… и выберите архив.
IDE скопирует библиотеку в папку libraries внутри папки скетчей (Документы/Arduino/libraries в Windows и macOS, ~/Arduino/libraries в Linux). Библиотеки, поставленные из архива, сами не обновляются — следите за новыми версиями на странице проекта.
Ставьте библиотеки из менеджера или со страниц их авторов. Библиотека — это код, который попадает в вашу программу; архив с незнакомого сайта может оказаться чем угодно.
Ошибка No such file or directory
fatal error: DHT.h: No such file or directoryКомпилятор не нашёл файл из строки #include. Причины:
- Библиотека не установлена — поставьте её через менеджер.
- Опечатка или регистр букв —
dht.hиDHT.hдля компилятора разные файлы в Linux и macOS. Скопируйте строку#includeиз примера библиотеки. - Поставлена не та библиотека — у популярных датчиков бывает несколько библиотек от разных авторов с разными именами файлов. Посмотрите имя файла в примерах установленной библиотеки.
- Архив распакован неправильно — при ручном копировании внутри
librariesполучилась лишняя вложенная папка. Удалите её и поставьте через Add .ZIP Library….
Другие ошибки
- Библиотека собирается с ошибками только на вашей плате. Многие библиотеки написаны под конкретные микроконтроллеры. В менеджере у библиотеки указано, для каких архитектур она (например,
avr— Uno, Nano, Mega). - Скетч работает с примером, но не с вашим кодом. Сверьте, как создаётся объект: у разных версий одной библиотеки бывают разные параметры и названия функций.
- Две библиотеки с одинаковым файлом. IDE выбирает одну и пишет в Output
Multiple libraries were found for …со спискомUsed:иNot used:. Удалите лишнюю через менеджер библиотек.
Когда у установленных библиотек выходят новые версии, Arduino IDE сообщает об этом и предлагает обновить их в менеджере библиотек.