Шаблон:Arduino/Библиотеки: различия между версиями

Материал из Онлайн справочника
Перейти к навигацииПерейти к поиску
 
Строка 1: Строка 1:
=Библиотеки<ref>[https://www.arduino.cc/en/Reference/Libraries Arduino.cc - Libraries]</ref>=
=Библиотеки<ref>[https://www.arduino.cc/en/Reference/Libraries Arduino.cc - Libraries]</ref>=


Как и большинство платформ для программирования, возможности '''IDE Arduino''' можно расширить за счет добавления новых библиотек. Благодаря этим библиотекам при написании скетчей можно будет использовать дополнительный функционал – например, для управления определенными устройствами или манипуляции данными. Чтобы задействовать в скетче нужную библиотеку, выберите ее в меню '''Скетч > Подключить библиотеку (Sketch > Include Library)'''.
Как и большинство платформ для программирования, возможности IDE Arduino можно расширить за счет добавления новых библиотек. Благодаря этим библиотекам при написании скетчей можно будет использовать дополнительный функционал – например, для управления определенными устройствами или манипуляции данными. Чтобы задействовать в скетче нужную библиотеку, выберите ее в меню Скетч > Подключить библиотеку (Sketch > Include Library).


В '''IDE Arduino''' уже установлены некоторые библиотеки, но вы можете загрузить новые и даже создать свои собственные. Более подробно об установке библиотек читайте [[Arduino:Знакомство_с_Arduino/Установка_дополнительных_библиотек|тут]]. А по [https://www.arduino.cc/en/Hacking/LibraryTutorial этой ссылке] – руководство по написанию собственных библиотек. О том, как создать для своей библиотеки '''API''' в '''Arduino'''-стиле, читайте [https://www.arduino.cc/en/Reference/APIStyleGuide тут].  
В IDE Arduino уже установлены некоторые библиотеки, но вы можете загрузить новые и даже создать свои собственные. Более подробно об установке библиотек читайте [[Arduino:Знакомство_с_Arduino/Установка_дополнительных_библиотек|тут]]. А по [https://www.arduino.cc/en/Hacking/LibraryTutorial этой ссылке] – руководство по написанию собственных библиотек. О том, как создать для своей библиотеки API в Arduino-стиле, читайте [https://www.arduino.cc/en/Reference/APIStyleGuide тут].  


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


* [[Arduino:Библиотеки/EEPROM|EEPROM]] – считывание и запись в '''«постоянную»''' память
* [[Arduino:Библиотеки/EEPROM|EEPROM]] – считывание и запись в «постоянную» память
* [[Arduino:Библиотеки/Ethernet|Ethernet]] – для подключения к интернету при помощи '''Arduino Ethernet Shield'''
* [[Arduino:Библиотеки/Ethernet|Ethernet]] – для подключения к интернету при помощи Arduino Ethernet Shield
* [[Arduino:Примеры/Firmata|Firmata]] – для коммуникации с программами на компьютере при помощи стандартизированного протокола '''Firmata'''
* [[Arduino:Примеры/Firmata|Firmata]] – для коммуникации с программами на компьютере при помощи стандартизированного протокола Firmata
* [[Arduino:Библиотеки/GSM|GSM]] – для подключения к '''GSM/GPRS''' сети при помощи '''GSM'''-модуля
* [[Arduino:Библиотеки/GSM|GSM]] – для подключения к GSM/GPRS сети при помощи GSM-модуля
* [[Arduino:Библиотеки/LiquidCrystal|LiquidCrystal]] – для управления жидко-кристаллическими дисплеями ('''LCD''')
* [[Arduino:Библиотеки/LiquidCrystal|LiquidCrystal]] – для управления жидко-кристаллическими дисплеями (LCD)
* [[Arduino:Библиотеки/SD|SD]] – для считывания и записи на '''SD'''-карту
* [[Arduino:Библиотеки/SD|SD]] – для считывания и записи на SD-карту
* [[Arduino:Библиотеки/Servo|Servo]] – для управления сервомоторами
* [[Arduino:Библиотеки/Servo|Servo]] – для управления сервомоторами
* [[Arduino:Библиотеки/SPI|SPI]] – для коммуникации с устройствами при помощи шины '''SPI'''
* [[Arduino:Библиотеки/SPI|SPI]] – для коммуникации с устройствами при помощи шины SPI
* [[Arduino:Библиотеки/SoftwareSerial|SoftwareSerial]] – для последовательной коммуникации на любых цифровых контактах. В '''IDE Arduino''' версии '''1.0''' и выше для этих целей служит библиотека NewSoftSerial от [http://arduiniana.org Микала Харта] (Mikal Hart)  
* [[Arduino:Библиотеки/SoftwareSerial|SoftwareSerial]] – для последовательной коммуникации на любых цифровых контактах. В IDE Arduino версии 1.0 и выше для этих целей служит библиотека NewSoftSerial от [http://arduiniana.org Микала Харта] (Mikal Hart)  
* [[Arduino:Библиотеки/Stepper|Stepper]] – для управления шаговыми моторами
* [[Arduino:Библиотеки/Stepper|Stepper]] – для управления шаговыми моторами
* [[Arduino:Библиотеки/TFT|TFT]] – для рисования текста, изображений и фигур на '''TFT'''-дисплее '''Arduino'''
* [[Arduino:Библиотеки/TFT|TFT]] – для рисования текста, изображений и фигур на TFT-дисплее Arduino
* [[Arduino:Библиотеки/WiFi|WiFi]] – для подключения к интернету при помощи '''Arduino WiFi Shield'''
* [[Arduino:Библиотеки/WiFi|WiFi]] – для подключения к интернету при помощи Arduino WiFi Shield
* [[Arduino:Библиотеки/Wire|Wire]] – для коммуникации (т.е. получения и отправки данных) с устройствами и датчиками при помощи шины '''TWI/I2C'''
* [[Arduino:Библиотеки/Wire|Wire]] – для коммуникации (т.е. получения и отправки данных) с устройствами и датчиками при помощи шины TWI/I2C


Библиотеки Matrix и Sprite вместе с '''IDE Arduino''' больше не распространяются.
Библиотеки Matrix и Sprite вместе с IDE Arduino больше не распространяются.


== Только для Arduino 101 ==
== Только для Arduino 101 ==
Строка 31: Строка 31:
==Только для Arduino Due==
==Только для Arduino Due==


* [[Arduino:Библиотеки/Audio|Audio]] – проигрывает аудиофайлы с '''SD'''-карты
* [[Arduino:Библиотеки/Audio|Audio]] – проигрывает аудиофайлы с SD-карты
* [[Arduino:Библиотеки/Scheduler|Scheduler]] – позволяет одновременно запускать несколько разных функций
* [[Arduino:Библиотеки/Scheduler|Scheduler]] – позволяет одновременно запускать несколько разных функций


Строка 41: Строка 41:


* [[Arduino:Библиотеки/AudioFrequencyMeter|Audio Frequency Meter Library]] – позволяет брать образец аудиосигнала и определять его частоту
* [[Arduino:Библиотеки/AudioFrequencyMeter|Audio Frequency Meter Library]] – позволяет брать образец аудиосигнала и определять его частоту
* [[Arduino:Библиотеки/AudioZero|AudioZero]] – проигрывает аудиофайлы с '''SD'''-карты
* [[Arduino:Библиотеки/AudioZero|AudioZero]] – проигрывает аудиофайлы с SD-карты
* [[Arduino:Библиотеки/RTC|RTC]] – часы реального времени для установления графика событий
* [[Arduino:Библиотеки/RTC|RTC]] – часы реального времени для установления графика событий


Строка 73: Строка 73:
* [[Arduino:Библиотеки/CmdMessenger|CmdMessenger]] - для обработки текстовых сообщений от компьютера
* [[Arduino:Библиотеки/CmdMessenger|CmdMessenger]] - для обработки текстовых сообщений от компьютера
* [[Arduino:Библиотеки/NewSoftSerial|NewSoftSerial]] – улучшенная версия библиотеки SoftwareSerial
* [[Arduino:Библиотеки/NewSoftSerial|NewSoftSerial]] – улучшенная версия библиотеки SoftwareSerial
* [[Arduino:Библиотеки/OneWire|OneWire]] – управление устройствами (от Dallas Semiconductor), использующими протокол '''One Wire'''
* [[Arduino:Библиотеки/OneWire|OneWire]] – управление устройствами (от Dallas Semiconductor), использующими протокол One Wire
* [[Arduino:Библиотеки/PS2Keyboard|PS2Keyboard]] – считывание символов с клавиатуры '''PS2'''
* [[Arduino:Библиотеки/PS2Keyboard|PS2Keyboard]] – считывание символов с клавиатуры PS2
* [[Arduino:Библиотеки/SimpleMessageSystem |SimpleMessageSystem]] – отправка сообщений между '''Arduino''' и компьютером
* [[Arduino:Библиотеки/SimpleMessageSystem |SimpleMessageSystem]] – отправка сообщений между Arduino и компьютером
* [[Arduino:Библиотеки/SSerial2Mobile|SSerial2Mobile]] – отправка текстовых сообщений или эмейлов при помощи мобильного телефона и '''AT'''-команд (через SoftwareSerial)
* [[Arduino:Библиотеки/SSerial2Mobile|SSerial2Mobile]] – отправка текстовых сообщений или эмейлов при помощи мобильного телефона и AT-команд (через SoftwareSerial)
* [[Arduino:Библиотеки/Webduino|Webduino]] – расширенная веб-серверная библиотека (для использования с '''Arduino Ethernet Shield''')
* [[Arduino:Библиотеки/Webduino|Webduino]] – расширенная веб-серверная библиотека (для использования с Arduino Ethernet Shield)
* [[Arduino:Библиотеки/X10|X10]] – отправка сигналов '''X10''' по линиям переменного тока
* [[Arduino:Библиотеки/X10|X10]] – отправка сигналов X10 по линиям переменного тока
* [[Arduino:Библиотеки/XBee|XBee]] – для коммуникации с '''XBee''' в '''API'''-режиме
* [[Arduino:Библиотеки/XBee|XBee]] – для коммуникации с XBee в API-режиме
* [[Arduino:Библиотеки/SerialControl|SerialControl]] – дистанционное управление '''Arduino''' через последовательное соединение
* [[Arduino:Библиотеки/SerialControl|SerialControl]] – дистанционное управление Arduino через последовательное соединение


==Датчики==
==Датчики==


* [[Arduino:Библиотеки/CapacitiveSensing|CapacitiveSensing]] – превращает два или более контакта '''Arduino''' в емкостные датчики
* [[Arduino:Библиотеки/CapacitiveSensing|CapacitiveSensing]] – превращает два или более контакта Arduino в емкостные датчики
* [[Arduino:Библиотеки/Bounce|Bounce]] – для считывания шумных входящих сигналов с цифровых контактов (например, от кнопок)
* [[Arduino:Библиотеки/Bounce|Bounce]] – для считывания шумных входящих сигналов с цифровых контактов (например, от кнопок)


Строка 107: Строка 107:
==Моторы и ШИМ==
==Моторы и ШИМ==


* [[Arduino:Библиотеки/TLC5940|TLC5940]] – 16-канальный 12-битный '''ШИМ'''-контроллер
* [[Arduino:Библиотеки/TLC5940|TLC5940]] – 16-канальный 12-битный ШИМ-контроллер


==Синхронизация ==
==Синхронизация ==


* [[Arduino:Библиотеки/Time|Time]] – библиотека для слежения за текущей датой и временем в '''ПО'''
* [[Arduino:Библиотеки/Time|Time]] – библиотека для слежения за текущей датой и временем в ПО
* [[Arduino:Библиотеки/Metro|Metro]] – помогает распределять действия по регулярным интервалам
* [[Arduino:Библиотеки/Metro|Metro]] – помогает распределять действия по регулярным интервалам
* [[Arduino:Библиотеки/MsTimer2|MsTimer2]] – использует прерывания '''timer2''' для запуска действий каждые '''N''' миллисекунд
* [[Arduino:Библиотеки/MsTimer2|MsTimer2]] – использует прерывания timer2 для запуска действий каждые N миллисекунд
* [[Arduino:Библиотеки/FlexiTimer2|FlexiTimer2]] - Это библиотека, позволяющая использовать '''timer2''' на '''Arduino'''.
* [[Arduino:Библиотеки/FlexiTimer2|FlexiTimer2]] - Это библиотека, позволяющая использовать timer2 на Arduino.


==Прочее==
==Прочее==

Версия от 18:41, 19 февраля 2023

Библиотеки[1]

Как и большинство платформ для программирования, возможности IDE Arduino можно расширить за счет добавления новых библиотек. Благодаря этим библиотекам при написании скетчей можно будет использовать дополнительный функционал – например, для управления определенными устройствами или манипуляции данными. Чтобы задействовать в скетче нужную библиотеку, выберите ее в меню Скетч > Подключить библиотеку (Sketch > Include Library).

В IDE Arduino уже установлены некоторые библиотеки, но вы можете загрузить новые и даже создать свои собственные. Более подробно об установке библиотек читайте тут. А по этой ссылке – руководство по написанию собственных библиотек. О том, как создать для своей библиотеки API в Arduino-стиле, читайте тут.

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

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

Библиотеки Matrix и Sprite вместе с IDE Arduino больше не распространяются.

Только для Arduino 101

  • CurieBLE
  • CurieIMU – управление встроенными акселерометром и гироскопом
  • CurieTimerOne – позволяет использовать функции таймера

Только для Arduino Due

  • Audio – проигрывает аудиофайлы с SD-карты
  • Scheduler – позволяет одновременно запускать несколько разных функций

Только для Arduino Due, Zero и MKR1000

  • USBHost – коммуникация с периферийными USB-устройствами вроде мыши или клавиатуры

Только для Arduino Zero и MKR1000

  • Audio Frequency Meter Library – позволяет брать образец аудиосигнала и определять его частоту
  • AudioZero – проигрывает аудиофайлы с SD-карты
  • RTC – часы реального времени для установления графика событий

Только для WiFi 101 и MKR1000

  • WiFi101 – библиотека для использования только с WiFi Shield 101

Только для Esplora

  • Esplora – библиотека, обеспечивающая упрощенный доступ к датчикам и контроллерам на плате Esplora

Только для Arduino Robot

  • Robot – библиотека, обеспечивающая упрощенный доступ к функциям Arduino Robot

Только для Arduino Yun

  • Bridge – для коммуникации между процессорами Linux и Arduino

USB-библиотеки (Leonardo, Micro, Due, Zero и Esplora)

  • Keyboard – отсылает компьютеру, присоединенному к плате, информацию о нажатиях на клавиши
  • Mouse – отсылает компьютеру, присоединенному к плате, информацию о перемещении курсора

Дополнительные библиотеки

Чтобы использовать эти библиотеки, их сначала нужно установить. Подробнее об этом читайте тут. О написании собственных библиотек читайте тут.

Коммуникация (сети и протоколы)

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

Датчики

  • CapacitiveSensing – превращает два или более контакта Arduino в емкостные датчики
  • Bounce – для считывания шумных входящих сигналов с цифровых контактов (например, от кнопок)

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

  • Adafruit GFX – базовый класс со стандартными функциями для работы с графикой (от Adafruit Industries)
  • GLCD – функции для работы с графикой для LCD на базе чипсета KS0108 (или эквивалентного ему)
  • Улучшенная LiquidCrystal – исправляет баги с инициализацией LCD в официальной LCD-библиотеке Arduino
  • LedControl – для управления светодиодными матрицами или 7-сегментными дисплеями с MAX7221 или MAX7219
  • LedControl – альтернатива библиотеке Matrix для управления несколькими светодиодами с чипами Maxim
  • LedDisplay – управление LED-дисплеем HCMS-29xx с функцией скроллинга
  • Matrix -
  • PCD8544 – для LCD-контроллера на дисплеях вроде Nokia 55100 (от [www.adafruit.com Adafruit Industries])
  • Sprite – библиотека для управления спрайтовыми изображениями (для анимации на LED-матрице)
  • ST7735 – для LCD-контроллера на 1,8 дюймовом 128х160 TFT-экране (от Adafruit Industries)

Аудио и звуковые волны

  • FFT – частотный анализ аудио и других аналоговых сигналов
  • Tone – генерация квадратных звуковых волн на любом контакте микроконтроллера

Моторы и ШИМ

  • TLC5940 – 16-канальный 12-битный ШИМ-контроллер

Синхронизация

  • Time – библиотека для слежения за текущей датой и временем в ПО
  • Metro – помогает распределять действия по регулярным интервалам
  • MsTimer2 – использует прерывания timer2 для запуска действий каждые N миллисекунд
  • FlexiTimer2 - Это библиотека, позволяющая использовать timer2 на Arduino.

Прочее

  • PString – легковесный класс для печати в буфер
  • Streaming – метод, упрощающий операторы вывода