Библиотеки · статья

Библиотеки Arduino: скачать, найти по файлу .h и установить

Библиотека — это готовый код для датчика, экрана или мотора. Разбираем, как по имени файла из строки #include понять, что скачивать, как поставить библиотеку из каталога, по #include и из ZIP-архива, и где всё это лежит на компьютере.

Ищу файл .h — какая это библиотека

Чаще всего библиотеку ищут не по названию, а по имени файла: в скетче написано #include <RTClib.h>, компилятор ругается на этот файл — и человек идёт искать «RTClib.h скачать». Загвоздка в том, что имя файла и название библиотеки часто разные: файл Adafruit_I2CDevice.h лежит в библиотеке Adafruit BusIO, а U8g2lib.h — в библиотеке U8g2.

Если вы идёте с другой стороны — «купил модуль, что ставить?» — смотрите обратную таблицу «модуль → библиотека → урок» в хабе «Модули для Arduino».

Вот соответствия для тех библиотек, которые ищут чаще всего. Все они есть в каталоге libraries.trema.ru либо уже встроены в Trema IDE.

Файл в #includeБиблиотекаЧто это и что ещё понадобится
LiquidCrystal_I2C.hLiquidCrystal I2Cэкран 1602 по I2C (версия Франка де Брабандера 1.1.2); есть русский вариант I2C_LiquidCrystal_RUS — разбор в статье про LCD 1602
LiquidCrystal.hLiquidCrystalуже встроена в Trema IDE — экран 1602 напрямую, без модуля I2C
Adafruit_SSD1306.hAdafruit SSD1306экран OLED 0.96; нужны ещё Adafruit GFX и Adafruit BusIO — сравнение с U8g2 и GyverOLED в статье про OLED
Adafruit_GFX.hAdafruit GFX Libraryобщая графика для экранов Adafruit
Adafruit_I2CDevice.hAdafruit BusIOспутник библиотек Adafruit; отдельного имени BusIO в #include нет
U8g2lib.h, U8x8lib.hU8g2монохромные OLED и LCD; имя библиотеки короче имени файла
Adafruit_ST7735.hAdafruit ST7735 and ST7789 Libraryцветные TFT; нужны Adafruit GFX и BusIO — разбор в статье про TFT-дисплеи
Adafruit_ILI9341.hAdafruit ILI9341цветные TFT 2,4 и 2,8 дюйма; не путать с TFT_ILI9341 — это другая библиотека с другими командами
TFT_eSPI.hTFT_eSPIцветные TFT, чаще на ESP32: в Arduino Uno скетч с ней не помещается
MCUFRIEND_kbv.hMCUFRIEND_kbvTFT-шилды, которые надеваются на Uno сверху; Adafruit GFX ставится отдельно
DHT.h, DHT_U.hDHT sensor libraryдатчики DHT11 и DHT22; нужен Adafruit Unified Sensor
Adafruit_Sensor.hAdafruit Unified Sensorобщая основа датчиков Adafruit и DHT
OneWire.hOneWireшина 1-Wire
DallasTemperature.hDallasTemperatureтермометр DS18B20; ставится вместе с OneWire
RTClib.hRTClibчасы реального времени DS3231, DS1307
MFRC522.hMFRC522считыватель карт RFID RC522
IRremote.hIRremoteинфракрасный приём и передача
FastLED.hFastLEDадресные ленты WS2812
Servo.hServoуже встроена в Trema IDE — сервопривод
Stepper.hStepperуже встроена — шаговый двигатель
SD.hSDуже встроена — карта памяти
Ethernet.hEthernetуже встроена — модуль Ethernet
Keyboard.h, Mouse.hKeyboard, Mouseуже встроены — платы на ATmega32U4 (Leonardo, Micro, Pro Micro)
Wire.hчасть поддержки платышина I2C; отдельно не скачивается
SPI.hчасть поддержки платышина SPI; отдельно не скачивается
EEPROM.hчасть поддержки платыэнергонезависимая память; отдельно не скачивается
Arduino.hядро Arduinoподключается само, скачивать нечего

Вашего файла нет в таблице? Каталог понимает имя файла и целую строку подключения: введите в поиск RTClib.h или даже #include <DHT.h> — библиотека найдётся так же, как по обычному названию.

Про экраны есть отдельные разборы с измеренными размерами: LCD 1602 по I2C (какую из одноимённых LiquidCrystal_I2C ставить и почему падает begin()) и OLED SSD1306 (Adafruit против U8g2 и GyverOLED по памяти).

Ошибка «No such file or directory» — какую библиотеку ставить

Если библиотеки нет, сборка останавливается такой строкой:

fatal error: DHT.h: No such file or directory

Читать её нужно так: компилятору не хватило файла DHT.h — значит, не установлена библиотека, в которой этот файл лежит. Если выше стоит строка In file included from…, файла не хватает не вашему скетчу, а библиотеке, которую он подключает: у библиотек тоже бывают зависимости.

Trema IDE разбирает эту ошибку сама: достаёт из вывода компилятора имена недостающих файлов, проверяет, не установлена ли библиотека уже, а если нет — показывает окно «Нужна библиотека» с подходящими вариантами из каталога и меткой «Подходит лучше всего». Нажатие на «Установить и продолжить сборку» ставит библиотеку и возвращает вас к компиляции.

Trema IDE сообщает, что библиотека Arduino не найдена, и предлагает установить её из каталога
Библиотека из #include не найдена: программа объясняет это по-русски и предлагает установить её сама.

Подробный разбор ошибки — в статье «Библиотека не найдена», а другие сообщения компилятора — на странице «Ошибки компиляции».

Способ 1. Скачать библиотеку из каталога

Откройте раздел «Библиотеки» в левой панели. Это каталог libraries.trema.ru прямо внутри программы: 9 916 библиотек Arduino с русскими описаниями (данные на 18 августа 2026 года), зеркало работает из России без обходных путей. Найдите нужную библиотеку по имени, нажмите «Установить» — и через несколько секунд она готова к работе.

Менеджер библиотек Arduino в Trema IDE: поиск, установка и русские описания библиотек
У установленной библиотеки появляются кнопки INCLUDE (вставить #include в скетч) и «Примеры».

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

Способ 2. Автоматически — по строке #include

Самый удобный путь: просто напишите в скетче #include <ИмяБиблиотеки.h> и нажмите «Проверить». Если библиотека не установлена, Trema IDE заметит это и предложит скачать её из каталога — в один клик, без поиска вручную. Зависимости при этом ставятся вместе с библиотекой.

Это работает и с чужими скетчами из интернета: откройте скетч, нажмите «Проверить» — и программа сама предложит доустановить всё, чего не хватает.

Библиотека находится и тогда, когда имя файла не совпадает с её названием: по Adafruit_I2CDevice.h программа предложит Adafruit BusIO. Если подходящей библиотеки не нашлось, программа честно скажет об этом и предложит поискать вручную — тогда пригодится таблица выше.

Способ 3. Из ZIP-файла: архив «имя-master.zip» с GitHub

Библиотеку с GitHub скачивают кнопкой «Code → Download ZIP», и файл получается с хвостом: ИмяБиблиотеки-master.zip или -main.zip. Это не версия — так GitHub называет архив по имени ветки. В классической Arduino IDE такую папку после распаковки приходится переименовывать, убирая -master.

В Trema IDE переименовывать ничего не нужно: в шапке менеджера библиотек нажмите «Источники», выберите тип «ZIP-библиотека» и укажите файл — настоящее имя программа прочитает из library.properties внутри архива. Подробности — в статье «ZIP и свои источники».

Одно отличие от каталога: из ZIP-архива зависимости не подтягиваются. Если библиотека требует соседнюю (например, Adafruit GFX), поставьте её отдельно.

Две ошибки, на которые натыкаются именно с архивами.

  • «Specified folder/zip file does not contain a valid library». Так Arduino IDE отвечает, когда внутри архива оказалась лишняя папка: сначала ИмяБиблиотеки-master, а внутри ещё одна с тем же именем, и уже в ней library.properties. Распакуйте архив, найдите папку, в которой лежат src и library.properties, и заархивируйте именно её.
  • «Multiple libraries were found for …». Не ошибка, а предупреждение: одинаковый заголовок нашёлся в двух библиотеках сразу — обычно потому, что одна и та же поставлена и из каталога, и из ZIP. Компилятор ниже пишет «Used:» — какую он взял, и «Not used:» — какую отбросил. Если взял не ту, удалите лишнюю копию.

Библиотека нужна под конкретный модуль? Тогда проще начать с железа. Вот к чему относятся самые ходовые строки из таблицы выше: часы реального времени DS3231 (артикул 877, 486 ₽) — RTClib.h; датчик температуры и влажности (артикул 619, 620 ₽) — DHT.h; адаптер карт microSD (артикул 55, 176 ₽) — SD.h, которая уже встроена; микросервопривод (артикул 104, 308 ₽) — Servo.h, тоже встроенная. Полезная тонкость: у модулей Trema нередко есть своя библиотека (для тех же часов — iarduino_RTC), и это нормально: под одно железо бывает несколько библиотек разных авторов.

Где лежат библиотеки Arduino на компьютере

  • Библиотеки пользователя Arduino IDE — C:\Users\Имя\Documents\Arduino\libraries, в Linux ~/Arduino/libraries. Именно сюда кладут распакованную папку при ручной установке.
  • Комплектные библиотеки Arduino IDE — C:\Program Files (x86)\Arduino\libraries. Свои туда класть не стоит: при обновлении программы они теряются.
  • Библиотеки Trema IDE — C:\Users\Имя\AppData\Local\Trema IDE\cache\libraries\TremaApproved, в Linux ~/.trema/cache/libraries/TremaApproved. К имени папки добавляется короткий хвост, чтобы одноимённые библиотеки из разных источников не столкнулись. Руками туда лазить не нужно.
Документы\Arduino\libraries\ваши библиотеки — сюда кладут руками
LiquidCrystal_I2C\
library.propertiesпо нему среда узнаёт библиотеку
src\сам код
Program Files (x86)\Arduino\libraries\комплектные — теряются при обновлении
AppData\Local\Trema IDE\cache\libraries\каталог Trema IDE — руками не трогать
Три места из списка выше — одной картинкой. Практика простая: всё, что ставите сами, живёт в зелёной папке; Trema IDE видит её без всякой настройки, поэтому библиотеки после переезда переустанавливать не нужно.

Если на компьютере уже стоит Arduino IDE, Trema IDE видит её библиотеки прямо на месте и ничего не копирует — переустанавливать ранее скачанное не нужно.

Библиотеки, которые уже есть в среде

Часть библиотек скачивать не нужно вообще — они приходят с программой или с поддержкой платы. В установщик Trema IDE вшиты восемь классических библиотек Arduino: LiquidCrystal 1.0.7, Servo 1.3.0, Stepper 1.1.3, SD 1.3.0, Ethernet 2.0.2, Firmata 2.5.9, Keyboard 1.0.6 и Mouse 1.0.1.

Вместе с поддержкой платы приходят Wire.h (шина I2C), SPI.h, EEPROM.h, SoftwareSerial.h и сам Arduino.h. Практический вывод: если сборка ругается на Wire.h или SPI.h, дело почти всегда не в библиотеке, а в том, что не выбрана или не установлена плата. Что это за шины: I2C и UART.

Библиотека или поддержка платы — это разное

Две вещи, которые часто путают. Библиотека нужна для железки на проводах: экрана, датчика, мотора — она живёт в каталоге libraries.trema.ru. Поддержка платы — это ядро и компилятор для самого микроконтроллера (ESP32, ESP8266, STM32, RP2040); она ставится в менеджере плат, а ссылки вида package_index.json относятся именно к платам, а не к библиотекам. Пакеты плат у нас лежат на packages.trema.ru, и в программе это отдельный раздел — см. «ESP32 в Trema IDE».

Библиотека
для железки на проводах
Экран, датчик, мотор
↓Каталог libraries.trema.ru
↓Менеджер библиотек
↓Папка libraries на диске
Поддержка платы
для самого микроконтроллера
ESP32, ESP8266, STM32…
↓Зеркало packages.trema.ru
↓Менеджер плат
↓Ядро + компилятор на диске
Два разных пути, которые не пересекаются: ссылки вида package_index.json относятся к правой колонке — к платам, а не к библиотекам. Если сборка ругается на Wire.h или SPI.h — это тоже правая колонка: такие файлы приходят с поддержкой платы.

Кстати, о менеджере библиотек в Arduino IDE: из России он не находит ничего вообще. Все ссылки на архивы в её списке — 53 тысячи с лишним — ведут на один сервер, который российским адресам отвечает отказом. Разбор с проверкой — «Ошибка 403 в Arduino IDE».

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

Если у библиотеки вышла новая версия, в её строке появляется кнопка «Обновить» с номером. В карточке библиотеки можно выбрать и конкретную версию — это выручает, когда скетч написан под старую. Удаляется библиотека кнопкой «Удалить» там же; библиотеки из папки Arduino IDE программа не трогает — их папку убирают вручную. Подробнее — «Удаление и восстановление».

Если интернета нет или это школьный класс

Искать библиотеки можно и без интернета: копия каталога вшита в установщик, поиск и карточки работают офлайн. А вот скачать сам архив без сети не получится — для класса на этот случай есть школьный пакет библиотек, который разворачивают локально (статья «Библиотеки в классе»). Если учитель включил замок, установка подтверждается PIN-кодом — урок при этом не прерывается.

Вопросы

Частые вопросы о библиотеках

Не нашли ответа? Напишите в поддержку

Что такое библиотека и зачем она нужна?

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

Откуда Trema IDE берёт библиотеки?

Из каталога libraries.trema.ru — это зеркало библиотек Arduino с русскими описаниями, работающее из России. Установленные библиотеки хранятся на вашем компьютере и дальше работают без интернета.

Подойдут ли библиотеки от Arduino IDE?

Да. Формат библиотек общий. Библиотеку можно установить из каталога или из ZIP-файла — например, скачанного с GitHub или с сайта производителя модуля.

Скетч пишет, что библиотека не найдена

Trema IDE сама замечает незнакомый #include и предлагает установить недостающую библиотеку в один клик. Если этого не произошло — откройте менеджер библиотек и найдите её по имени.

Можно ли скачать один файл .h?

Нет, и это частая ошибка. Файл .h — только список команд, сама работа лежит в соседних файлах .cpp. Скачивают библиотеку целиком, а понять по имени файла, какая это библиотека, помогает таблица на этой странице.

Что делать с архивом «имя-master.zip» с GitHub?

Хвост -master или -main — это имя ветки, а не версия. В Trema IDE архив добавляют как источник типа «ZIP-библиотека», настоящее имя программа читает из library.properties. В классической Arduino IDE распакованную папку переименовывают, убирая -master.

Где Trema IDE хранит установленные библиотеки?

На Windows — в папке C:\Users\Имя\AppData\Local\Trema IDE\cache\libraries\TremaApproved, в Linux — ~/.trema/cache/libraries/TremaApproved. Библиотеки Arduino IDE из папки Documents\Arduino\libraries программа видит на месте и не копирует.

Библиотека и поддержка платы — это одно и то же?

Нет. Библиотека нужна для внешней железки: экрана, датчика, мотора. Поддержка платы — это ядро и компилятор для микроконтроллера, она ставится в менеджере плат. Ссылки вида package_index.json относятся к платам, а не к библиотекам.

Попробуйте на своём проекте

Скачайте Trema IDE и откройте любой скетч — недостающие библиотеки программа предложит поставить сама. Где взять сам скетч — в каталоге готового кода. Все статьи — в базе знаний, раздел «Библиотеки».