Библиотеки · статья
Библиотеки 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.h | LiquidCrystal I2C | экран 1602 по I2C (версия Франка де Брабандера 1.1.2); есть русский вариант I2C_LiquidCrystal_RUS — разбор в статье про LCD 1602 |
LiquidCrystal.h | LiquidCrystal | уже встроена в Trema IDE — экран 1602 напрямую, без модуля I2C |
Adafruit_SSD1306.h | Adafruit SSD1306 | экран OLED 0.96; нужны ещё Adafruit GFX и Adafruit BusIO — сравнение с U8g2 и GyverOLED в статье про OLED |
Adafruit_GFX.h | Adafruit GFX Library | общая графика для экранов Adafruit |
Adafruit_I2CDevice.h | Adafruit BusIO | спутник библиотек Adafruit; отдельного имени BusIO в #include нет |
U8g2lib.h, U8x8lib.h | U8g2 | монохромные OLED и LCD; имя библиотеки короче имени файла |
Adafruit_ST7735.h | Adafruit ST7735 and ST7789 Library | цветные TFT; нужны Adafruit GFX и BusIO — разбор в статье про TFT-дисплеи |
Adafruit_ILI9341.h | Adafruit ILI9341 | цветные TFT 2,4 и 2,8 дюйма; не путать с TFT_ILI9341 — это другая библиотека с другими командами |
TFT_eSPI.h | TFT_eSPI | цветные TFT, чаще на ESP32: в Arduino Uno скетч с ней не помещается |
MCUFRIEND_kbv.h | MCUFRIEND_kbv | TFT-шилды, которые надеваются на Uno сверху; Adafruit GFX ставится отдельно |
DHT.h, DHT_U.h | DHT sensor library | датчики DHT11 и DHT22; нужен Adafruit Unified Sensor |
Adafruit_Sensor.h | Adafruit Unified Sensor | общая основа датчиков Adafruit и DHT |
OneWire.h | OneWire | шина 1-Wire |
DallasTemperature.h | DallasTemperature | термометр DS18B20; ставится вместе с OneWire |
RTClib.h | RTClib | часы реального времени DS3231, DS1307 |
MFRC522.h | MFRC522 | считыватель карт RFID RC522 |
IRremote.h | IRremote | инфракрасный приём и передача |
FastLED.h | FastLED | адресные ленты WS2812 |
Servo.h | Servo | уже встроена в Trema IDE — сервопривод |
Stepper.h | Stepper | уже встроена — шаговый двигатель |
SD.h | SD | уже встроена — карта памяти |
Ethernet.h | Ethernet | уже встроена — модуль Ethernet |
Keyboard.h, Mouse.h | Keyboard, 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 разбирает эту ошибку сама: достаёт из вывода компилятора имена недостающих файлов, проверяет, не установлена ли библиотека уже, а если нет — показывает окно «Нужна библиотека» с подходящими вариантами из каталога и меткой «Подходит лучше всего». Нажатие на «Установить и продолжить сборку» ставит библиотеку и возвращает вас к компиляции.

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

Установленные библиотеки хранятся на компьютере — дальше они работают без интернета. Кнопка 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 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».
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 и откройте любой скетч — недостающие библиотеки программа предложит поставить сама. Где взять сам скетч — в каталоге готового кода. Все статьи — в базе знаний, раздел «Библиотеки».
