Библиотеки

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

Для подключения библиотеки к программе, выберите ее из меню Sketch > Import Library.

Стандартные библиотеки

  • EEPROM - чтение и запись в "постоянную" память.
  • Ethernet - для подсоединения к Интернету через плату расширения Arduino Ethernet.
  • Firmata - для взаимодействия с приложениями на компьютере по стандартному последовательному протоколу.
  • GSM - для соединения с сетью GSM/GRPS через GSM-плату расширения.
  • LiquidCrystal - для работы с жидкокристаллическими дисплеями (LCD).
  • SD - для чтения и записи данных на SD-карту памяти.
  • Servo - для управления серводвигателями.
  • SPI - для взаимодействия с периферийными устройствами по последовательному интерфейсу SPI.
  • SoftwareSerial - для реализации последовательных интерфейсов на любых цифровых выводах. Начиная с версии Ардуино 1.0, в качестве библиотеки SoftwareSerial используется библиотека NewSoftSerial (автор Mikal Hart).
  • Stepper - для управления шаговыми двигателями.
  • TFT - для вывода текста, изображений и графических примитивов на TFT-экране Arduino.
  • WiFi - для соединения с Интернетом через плату расширения Arduino WiFi.
  • Wire - библиотека для работы с двухпроводным интерфейсом (TWI/I2C), позволяющим принимать или отправлять данные между сетью устройств или датчиков.

Библиотеки Matrix и Sprite больше не входят в состав стандартного распространяемого ПО.

Специализированные библиотеки Arduino Due

  • Audio - проигрывание аудио-файлов с SD-карты памяти.
  • Scheduler - реализация многозадачности.
  • USBHost - взаимодействие с USB-гаджетами, такими как мышь или клавиатура.

Специализированные библиотеки Esplora

  • Esplora - данная библиотека позволяет легко взаимодействовать с различными датчиками и приводами на плате Arduino Esplora.

Специализированные библиотеки Arduino Robot

  • Robot - библиотека обеспечивает доступ к функциям Arduino Robot.

Библиотеки для работы с USB (для Leonardo, Micro, Due и Esplora)

  • Keyboard - отправка сигналов нажатия клавиш подсоединенному компьютеру.
  • Mouse - управление указателем мыши на подсоединенном компьютере.

Вспомогательные библиотеки

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

Связь (сети и протоколы):

  • Messenger - для обработки текстовых сообщений, поступающих от компьютера.
  • NewSoftSerial - усовершенствованная версия библиотеки SoftwareSerial.
  • OneWire - управление устройствами (от Dallas Semiconductor), работающими по протоколу One Wire.
  • PS2Keyboard - считывание символов с PS2-клавиатуры.
  • Simple Message System - отправка сообщений между компьютером и Ардуино.
  • SSerial2Mobile - отправка текстовых сообщений и электронной почты с мобильного телефона (посредством AT-команд и библиотеки SoftwareSerial).
  • Webduino - реализация расширяемого веб-сервера (для использования с платой расширения Arduino Ethernet).
  • X10 - отправка сигналов через линии электропередач по протоколу X10.
  • XBee - для связи с беспроводными модулями XBees в режиме API.
  • SerialControl - удаленное управление другими Ардиуно по последовательному интерфейсу.

Обработка сигнала с датчиков:

  • Capacitive Sensing - использование двух или более выводов Ардуино в качестве емкостных датчиков.
  • Debounce - для считывания зашумленного сигнала с цифровых выводов (может использоваться, например, для обработки дребезга контактов при нажатии кнопки).

Дисплеи и светодиоды:

  • GFX - базовый класс со стандартными графическими процедурами (от Adafruit Industries).
  • GLCD - графические процедуры для LCD-дисплеев на основе чипсета KS0108 или эквивалентного.
  • Усовершенствованная библиотека LCD - исправлены ошибки инициализации LCD в официальной библиотеке LCD от Arduino.
  • LedControl - для управления светодиодными матрицами или семисегментными индикаторами, работающих с драйвером MAX7221 или MAX7219.
  • LedControl - альтернатива библиотеке Matrix для управления несколькими светодиодами с помощью микросхем Maxim.
  • LedDisplay - управление светодиодной бегущей строкой HCMS-29xx.
  • Matrix - базовая библиотека для работы с матрицей светодиодов.
  • PCD8544 - библиотека для работы с LCD-контроллером экранов, подобных Nokia 55100 (от Adafruit Industries).
  • Sprite - базовая библиотека для работы со спрайтами и анимацией на светодиодных матрицах.
  • ST7735 - библиотека для работы с LCD-контроллером TFT-экранов диагонально 1.8" и разрешением 128x160 (от Adafruit Industries).

Синусоидальные и аудио-сигналы:

  • FFT - частотный анализ аудио- и других аналоговых сигналов.
  • Tone - генерирование прямоугольного сигнала звуковой частоты на любом выводе микроконтроллера в фоновом режиме.

Двигатели и ШИМ:

  • TLC5940 - 16-канальный 12-разрядный ШИМ-контроллер.

Работа с временными интервалами:

  • DateTime - библиотека для отслеживания в программе текущей даты и времени.
  • Metro - выполнение определенных действий через равные промежутки времени.
  • MsTimer2 - использует прерывание от Таймера 2 для выполнения определенного действия каждые N миллисекунд.

Вспомогательные библиотеки:

  • PString - небольшой класс для осуществления вывода в буферы.
  • Streaming - метод упрощения работы с операторами вывода.

Инструкции по написанию собственных библиотек см. здесь.